Подтвердить что ты не робот

Не удалось найти целевой пакет инструментов: com.xyz

Я написал класс testcase для проекта библиотеки, я создал этот проект сценария отдельно.

когда я пытаюсь запустить этот тестовый проект. На консоли отображается ошибка "Unable to find instrumentation target package: <with package name>",

Я также предлагаю google для решения, в некоторых сайтах они дали проверить тег android: targetPackage-атрибут в AndroidManifestFile.

Я проверил манифест тега инструментария, он правильно настроил пакет libraryproject.

Может ли кто-нибудь помочь в этом, чтобы мой проект testcase для библиотеки выполнялся

4b9b3361

Ответ 1

Вам необходимо создать и настроить проект приложения, который зависит от проекта библиотеки, чтобы протестировать проект библиотеки. Цитирование из официального руководства разработчика:

Тестирование проекта библиотеки

Существует два рекомендуемых способа настройки тестирования кода и ресурсов в проекте библиотеки:

  • Вы можете настроить тестовый проект, в котором используется инструмент приложения это зависит от проекта библиотеки. Затем вы можете добавить тесты на проект для конкретных библиотек.

  • Вы можете настроить стандартный проект приложения, который зависит от библиотеки и поместить инструментарий в этот проект. Это позволяет создать автономный проект, содержащий как тесты/приборы, так и код для тестирования.

Проекты библиотеки Android не строятся напрямую, а создаются вместе с основным проектом приложения. Другими словами, вы не можете скомпилировать его непосредственно на свой собственный .apk и запустить его на устройстве Android. С другой стороны, контрольно-измерительные тесты работают путем запуска приложения тестового проекта ( "Run As..." → "Android JUnit Test" в Eclipse) после установки как app.apk, так и test.apk на устройстве, а затем с помощью теста .apk, чтобы манипулировать app.apk - следовательно, "контрольная" часть тестового имени.


Update:

Обратите внимание, что если вы используете второй подход, вы можете создать проект библиотеки тестирования тестового проекта без создания третьего проекта приложения, поскольку сам проект тестирования также является обычным проектом приложения.

Ответ 2

Когда вы создаете проект тестирования 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>

Ответ 3

В моем случае я работал с gradle, выполнив только задачу connectedInstrumentTest с помощью

./gradlew connectedInstrumentTest

и я получал ошибку "Невозможно найти информацию об оборудовании"... Проблема заключалась также в том, чтобы включить задачу installDebug, которая должна быть выполнена до задачи connectedInstrumentTest, например:

./gradlew installDebug connectedInstrumentTest