android 找不到检测目标包:com.xyz

z3yyvxxp  于 2022-12-28  发布在  Android
关注(0)|答案(4)|浏览(162)

我为一个库项目编写了一个测试用例类,我单独创建了这个测试用例项目。
当我尝试运行这个测试项目时,控制台显示错误"Unable to find instrumentation target package: <with package name>"
我谷歌的解决方案也,在一些网站,他们给检查标签android:targetPackage属性在AndroidManifestFile .
我检查了指令清单,instrumentation标记是正确的,它正确地指向库项目包。
有没有人可以帮我,让我的库测试用例项目可以运行

fnx2tebb

fnx2tebb1#

您必须创建并设置一个依赖于库项目的应用程序项目,以便测试库项目。引用官方开发人员指南:

测试库项目

建议使用两种方法设置对库项目中的代码和资源的测试:

  • 您可以设置一个测试项目来检测依赖于该库项目的应用程序项目。然后,您可以向该项目中添加库特定功能的测试。
  • 您可以设置一个依赖于库的标准应用程序项目,并将检测放在该项目中。这使您可以创建一个自包含项目,其中包含测试/检测和要测试的代码。

Android库项目不是直接构建的,而是与主应用程序项目一起构建的。换句话说,您不能将其直接编译为自己的. apk并在Android设备上运行。另一方面,工具测试通过运行测试项目应用程序来工作(Eclipse中的"Run As ..."-〉"Android JUnit Test")在设备上安装app.apk和test.apk之后,然后使用test.apk操作app.apk-因此测试名称中有"instrumentation"部分。

    • 更新日期:**

请注意,如果使用第二种方法,则可以创建一个测试库项目的测试项目,而无需创建第三个应用程序项目,因为测试项目本身也是一个常规应用程序项目。

nkcskrwz

nkcskrwz2#

当你创建Android测试项目记得设置好目标包

<?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>
zaqlnxep

zaqlnxep3#

在我的示例中,我使用gradle运行,只使用运行connectedInstrumentTest任务
第一个月
然后我得到了“无法找到检测信息”的错误...问题是我还需要包含要在connectedInstrumentTest任务之前执行的installDebug任务,如下所示:

./gradlew installDebug connectedInstrumentTest
lokaqttq

lokaqttq4#

在我的例子中,我在Firebase中运行插装测试。有关信息,请参见https://firebase.google.com/docs/test-lab/android/command-line#running_your_instrumentation_tests。
首先,我们应该创建应用程序和测试APK:

gradlew assembleDebug
gradlew assembleAndroidTest  (or similar tasks)

Firebase将为您创建 app/build/output/apk/.../app-debug.apkapp-debug-androidTest.apk,然后您可以使用这些文件进行工具测试:

gcloud firebase test android run \
  --type instrumentation \
  --app <...>/app-debug.apk \
  --test <...>/app-debug-androidTest.apk
  ...

我犯了一个错误,用gradlew assembleDev这样的命令创建了第一个apk,这个命令用另一个包创建了一个文件,不是com.xyz.debug,而是com.xyz.dev

相关问题