手把手教你在CTS中编写自己的测试模块

测试程序可以基于Android的CTS测试框架来进行编写及编译。

这里我以相机模块来进行说明。

具体步骤如下:

1. 进入到android/cts/tests/目录下,其中camera文件夹即为CTS中的相机测试模块

2. 复制camera文件夹,重命名(如cameraDhane),由于我们的测试项和CTS测试类似,直接复制camera文件夹进行相应的修改更方便。当然也可以选择自己新建一个文件夹。下面还是以复制文件夹的方法为例进行说明。

3. 进入刚建立的cameraDhane文件夹,打开Android.mk文档,修改其中的LOCAL_PACKAGE_NAME:,修改为自己准备建立的模块的名字,如果是自己复制过来的话不进行修改会导致和camera中的cts测试模块冲突,编译不通过。自己新建文件夹的可以新建一个mk文件,具体的编写规范可以参考:https://blog.csdn.net/Dhane/article/details/86307697

4. 修改AndroidManifest.xml文档

         主要修改包名用来使手机区分CTS相机和我们的应用相机:

         package: android.camera.cts 修改为 package:android.cameraDhane.cts(也可以为其他名字)

         android:targetPackage="android.camera.cts"修改为:android:targetPackage="android.cameraDhane.cts"。

注意一定不要忘记修改targetPackage,否则即使修改了package的内容,最后生成的包名还是原来的名字。

自己新建的也一定要注意以上两项,其他项可以参考:https://blog.csdn.net/Dhane/article/details/86469307

5. 修改AndroidTest.xml文件

注意

和   

6. 新建源文件

注意之前修改的Android.mk、AndroidManifest.xml、AndroidTest.xml文件中的内容,Android.mk文件中会把libraries中包含路径中的文件都包含进来进行编译,然后生成对应包名的包。

7. 编译

要基于Android 源码进行编译,回退到Android目录下:

cd android/

source build/envsetup.h

lunch   选择测试机的架构,这里选择2.aosp_arm64-eng

make cts

等待编译完成。

编译好的cts测试文件在Android/out/host/linux-x86/cts/android-cts文件夹中。

8. 测试

进入到android-cts/tools/ 目录,运行cts-tradefed文件:./cts-tradefed

也可以将相应的apk文件拷贝出来,放入CTS测试的文件夹,之后和CTS测试一样,运行相应的对应包名的命令即可进行测试。

要注意在测试之前将android.cameraDhane.cts包名加入相机属性中,让手机上的相应软件能够识别该包名并运行相应的app.

后期如果要添加新的测试项,可以直接在cameraDhane/src/android/hardware/camera2/cts/文件夹下添加,不需要修改其他文件,之后直接编译,如果Android.mk中又包含该路径的话,会自动把该目录下所有文件编译进去。

你可能感兴趣的:(android)