美文网首页
编译AOSP CTS源码

编译AOSP CTS源码

作者: 梧叶已秋声 | 来源:发表于2023-05-30 09:17 被阅读0次

    1.获取AOSP的源码

    具体可参考这篇:
    下载,编译 AOSP
    AOSP更新比较频繁,所以可以经常 repo sync
    如果只需要调试CTS ,不用整编project
    不过如果不整编project,编译失败,可以试着先整编project,再编译CTS目录,或者再执行一次make cts
    编译CTS可使用master分支,或其他较新的分支。切分支之前注意先切manifest。

    2.使用adb查看android设备架构

    getprop ro.product.cpu.abi

    例如我这里的结果是

    arm64-v8a

    3.编译AOSP 中的CTS

    进入 AOSP 根目录,加载环境变量,然后执行 make cts TARGET_PRODUCT=xxx。因此我这里是 TARGET_PRODUCT=aosp_arm64

    source build/envsetup.sh
    make cts -j20 TARGET_PRODUCT=aosp_arm64 2>&1 | tee build.java
    

    编译后的文件在out/host/linux-x86/cts目录下。这里大概编译了2个小时左右,拉代码花的时间更久。
    如果遇到编译错误,可执行再编译一次或者整编后make cts

    image.png

    4.简单执行单项测试命令,测试编译后的CTS是否能正常使用

    进入 android-cts 下的tool文件夹。

    注意:请确保android设备和pc设备,均处于外网环境中。

    设置 JAVA_TOOL_OPTIONS使用代理,运行cts-tradefed,然后 使用cts-tradefed脚本执行Junit单元测试。

    export JAVA_TOOL_OPTIONS='-Djava.net.useSystemProxies=true'
    ./cts-tradefed
    
    run cts -m CtsAppSecurityHostTestCases -t android.appsecurity.cts.AdoptableHostTest#testPrimaryStorage
    

    例如hostsidetests文件夹下的module。这里格式为:run cts -m module -t test

    具体如下所示:

    
    run cts -m CtsAppSecurityHostTestCases -t android.appsecurity.cts.AdoptableHostTest#testPrimaryStorage
    

    CtsAppSecurityHostTestCases 是 bp中定义的module名称,android.appsecurity.cts.AdoptableHostTest#testPrimaryStorageAdoptableHostTest这个类的testPrimaryStorage函数。这是基于Junit框架的。

    测试完成后会显示Summary等信息。

    =======================================================
    =============== Summary ===============
    Total Run time: 7m 11s
    2/2 modules completed
    Total Tests : 2
    PASSED : 2
    FAILED : 0
    ============== End of Results ==============
    ============================================
    05-22 15:13:03 D/ProtoResultReporter: process final logs: /tmp/eng.user.20230522.123834/cts/inv_8391609024161279714/inv_15769068619178369783/end_host_log_16582464473696729006.txt
    05-22 15:13:03 I/CommandScheduler: Updating command 1 with elapsed time 432045 ms
    05-22 15:13:03 I/CommandScheduler: Finalizing the logger and invocation.
    05-22 15:13:03 D/ActiveTrace: Finalizing trace: /tmp/invocation-trace6737819560881934439.perfetto-trace
    05-22 15:13:03 D/ProtoResultReporter: process final logs: /tmp/eng.user.20230522.123834/cts/inv_8391609024161279714/inv_15769068619178369783/invocation-trace_17271980551630074065.perfetto-trace.gz
    05-22 15:13:03 D/ProtoResultReporter: process final logs: /tmp/eng.user.20230522.123834/cts/inv_8391609024161279714/inv_15769068619178369783/invoc_complete_host_log_15517732044405125585.txt

    results 文件夹下会生成时间节点文件夹,并生成html文件显示结果。

    image.png

    也可以在latest文件夹下去查看,这个会显示最近的一个测试结果。

    参考链接:
    Android CTS 测试---自己编译CTS方法
    运行 CTS 测试
    CTS 开发

    相关文章

      网友评论

          本文标题:编译AOSP CTS源码

          本文链接:https://www.haomeiwen.com/subject/dyisedtx.html