CTS自带测试用例(buletooth)导入Android Studio图文教程
本文的目的在于将CTS自带的测试用例导入到Android Studio中,方便源码的分析,并通过分析源码,达到后期自己增加测试包的目的,首先先将源码导入到Android studio中,步骤如下:
前期准备
几个jar包
- ~/out/target/common/obj/JAVA_LIBRARIES/ctstestrunner_intermediates/classes.jar并将其重命名为ctsrunner_classes.jar
- ~/out/target/common/obj/JAVA_LIBRARIES/ctsdeviceutil_intermediates/classes.jar并将其重命名为ctsdevice_classes.jar
- ~/out/target/common/obj/JAVA_LIBRARIES/framework-base_intermediates/classes.jar并将其重命名为framework_classes.jar,注意根据Android版本的不同,这个路径也会有点出路,大家需要根绝自己的情况去找。
- junit-4.10.jar,这个网上很容易找到的,单元测试必备
bluetooth源码
将cts源码下的$cts\tests\tests\bluetooth
文件夹重新拷贝一份放到你平时的workspace目录下
说明:这两个jar需要在android源码编译出来的out文件夹下去查找,考虑到资源不好找,因此大家可以点击这里下载
1. 打开Android Studio,选择“Import project(Eclipse ADT...)”
然后选择你刚才拷贝的bluetooth文件夹,点击OK.然后选择"creat project from existing soures"
一路next到finish。
2.配置bluetooth的Project
右击bluetooth,选择open module settings
在左侧栏中选择Project,并按下图配置,注意SDK的版本要和你测的android版本一致,由于我是在测android6.0,因此选择API23
3.配置bluetooth的libaries
在左侧栏中选择Libaries,并将之前准备好的jar包中的其中三个导入,如下图所示
4.配置bluetooth的Module
选择Module,选择API版本,并将刚才引入3个jar包的scope改为下图这种配置:
5.配置bluetooth的SDK
在左侧栏中选择SDKs,选择API 23(和android6.0对应的版本),配置classpath如下图,其中framework_classes.jar就是前面准备工作中的那个jar,记住一定要按这个顺序排列。
将以上操作统统保存了之后,我们需要使用Android Test来运行用例
6.新建Android Test
选择Run -- Edit Configurations...
点击左上角的+号,选择Android Test
配置你的Android Test如下:
8.修改AndroidManifest.xml文件
由于源码中有很多方法是要API版本要求的,因此源码中会出现一些方法找不到的情况,因此需要修改AndroidManifest.xml中的sdk的最低版本,我直接改成23,大家只要改成你测的那个API版本就行,添加
<uses-sdk android:minSdkVersion="23"/>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="android.bluetooth.cts">
<uses-sdk android:minSdkVersion="23"/>
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
<uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" />
<application>
<uses-library android:name="android.test.runner" />
</application>
<!-- This is a self-instrumenting test package. -->
<instrumentation android:name="android.support.test.runner.AndroidJUnitRunner"
android:targetPackage="android.bluetooth.cts"
android:label="CTS tests of bluetooth component">
<meta-data android:name="listener"
android:value="com.android.cts.runner.CtsTestRunListener" />
</instrumentation>
</manifest>
7.运行buletooth_test
点击三角形运行
运行结果