无法find检测目标包:com.xyz

我为一个库项目编写了一个testing用例类,我单独创build了这个testing用例项目。

当我试图运行此testing项目。控制台显示错误"Unable to find instrumentation target package: <with package name>"

我谷歌的解决scheme也在一些网站,他们在AndroidManifestFile检查标签android:targetPackage属性。

我检查了清单,仪器标记是正确的,它正确定位了libraryproject包。

任何人都可以帮助,使我的testcase项目的图书馆可运行

Solutions Collecting From Web of "无法find检测目标包:com.xyz"

您必须创build并设置依赖于库项目的应用程序项目,才能testing库项目。 从官方开发人员指南引用:

testing一个图书馆项目

有两种build议的方法来设置对库项目中代码和资源的testing:

  • 您可以设置一个testing项目来testing依赖于库项目的应用程序项目。 然后,您可以将testing添加到项目中以获取特定于库的function。

  • 您可以build立一个依赖于库的标准应用程序项目,并将该项目放入该项目中。 这使您可以创build一个包含testing/testing和要testing的代码的自包含项目。

Android库项目不是直接构build的,而是与主应用程序项目一起构build的。 换句话说,你不能直接编译它自己的.apk文件,然后在Android设备上运行它。 另一方面,在设备上安装app.apk和test.apk之后,通过运行testing项目应用程序(“Run As …” – >“Eclipse JUnit Test”),然后使用testing.apk来操作app.apk,因此是testing名称的“instrumentation”部分。


更新:

请注意,如果使用第二种方法,则可以创buildtesting项目testing库项目而不创build第三个应用程序项目,因为testing项目本身也是常规的应用程序项目。

当你创buildandroidtesting项目时记得要设置好的目标包

 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.test" <------------------- android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" /> <instrumentation android:name="android.test.InstrumentationTestRunner" android:targetPackage="com.example.test" > <----------------- </instrumentation> <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" > <uses-library android:name="android.test.runner" /> <activity android:name="TestActivity" /> </application> </manifest> 

在我的情况下,我用gradle运行,运行connectedInstrumentTest任务

./gradlew connectedInstrumentTest

我得到“无法find检测信息”错误…问题是我还需要包括installDebug任务之前connectedInstrumentTest任务执行,如下所示:

 ./gradlew installDebug connectedInstrumentTest