기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
AWS Device Farm의 계측 테스트 문제 해결
다음 주제에서는 계측 테스트를 업로드하는 동안 발생하는 오류 메시지를 나열하고 각 오류를 해결하기 위한 해결 방법을 권장합니다.
INSTRUMENTATION_TEST_PACKAGE_UNZIP_FAILED
다음 메시지가 표시되면 다음 단계에 따라 문제를 해결하세요.
주의
테스트 APK 파일을 열 수 없습니다. 파일이 유효한지 확인하고 다시 시도하세요.
오류 없이 테스트 패키지의 압축을 풀 수 있는지 확인하세요. 다음 예제에서 패키지의 이름은 app-debug-androidTest-unaligned.apk 입니다.
작업 디렉터리에 테스트 패키지를 복사한 후 다음 명령을 실행합니다.
$ unzip app-debug-androidTest-unaligned.apk
패키지 압축을 성공적으로 푼 후에는 다음 명령을 실행하여 작업 디렉터리 트리 구조를 찾을 수 있습니다.
$ tree .
올바른 계측 테스트 패키지는 다음과 같은 출력이 생성됩니다.
. |-- AndroidManifest.xml |-- classes.dex |-- resources.arsc |-- LICENSE-junit.txt |-- junit (directory) `-- META-INF (directory)
자세한 내용은 Android 및 AWS Device Farm용 계측 단원을 참조하십시오.
INSTRUMENTATION_TEST_PACKAGE_AAPT_DEBUG_BADGING_FAILED
다음 메시지가 표시되면 다음 단계에 따라 문제를 해결하세요.
주의
테스트 패키지에 대한 정보를 추출할 수 없습니다. “aapt debug badging <path to your test package>” 명령을 실행하여 테스트 패키지가 유효한지 확인하고 명령에서 오류가 출력되지 않으면 다시 시도하세요.
업로드 검증 프로세스 중에 Device Farm은 aapt debug badging <path to your package>
명령 출력에서 정보를 구문 분석합니다.
계측 테스트 패키지에서 이 명령을 성공적으로 실행할 수 있는지 확인하세요.
다음 예제에서 패키지의 이름은 app-debug-androidTest-unaligned.apk 입니다.
테스트 패키지를 작업 디렉터리에 복사한 후 다음 명령을 실행하세요.
$ aapt debug badging app-debug-androidTest-unaligned.apk
올바른 계측 테스트 패키지는 다음과 같은 출력이 생성됩니다.
package: name='com.amazon.aws.adf.android.referenceapp.test' versionCode='' versionName='' platformBuildVersionName='5.1.1-1819727' sdkVersion:'9' targetSdkVersion:'22' application-label:'Test-api' application: label='Test-api' icon='' application-debuggable uses-library:'android.test.runner' feature-group: label='' uses-feature: name='android.hardware.touchscreen' uses-implied-feature: name='android.hardware.touchscreen' reason='default feature for all apps' supports-screens: 'small' 'normal' 'large' 'xlarge' supports-any-density: 'true' locales: '--_--' densities: '160'
자세한 내용은 Android 및 AWS Device Farm용 계측 단원을 참조하십시오.
INSTRUMENTATION_TEST_PACKAGE_INSTRUMENTATION_RUNNER_VALUE_MISSING
다음 메시지가 표시되면 다음 단계에 따라 문제를 해결하세요.
주의
AndroidManifest.xml에서 계측 러너 값을 찾을 수 없습니다. 'aapt dump xmltree <path to your test package> AndroidManifest.xml' 명령을 실행하여 테스트 패키지가 유효한지 확인하고 'instrumentation' 키워드 뒤에 있는 계측 러너 값을 찾은 후 다시 시도하세요.
업로드 검증 프로세스 중에 Device Farm은 패키지에 포함된 XML 파일에 대해 XML 구문 분석 트리에서 계측 러너 값을 구문 분석합니다. 다음 aapt dump xmltree <path to your package>
AndroidManifest.xml
명령을 사용할 수 있습니다.
계측 테스트 패키지에서 이 명령을 실행하여 계측 값을 성공적으로 찾을 수 있는지 확인하세요.
다음 예제에서 패키지의 이름은 app-debug-androidTest-unaligned.apk 입니다.
테스트 패키지를 작업 디렉터리에 복사한 후 다음 명령을 실행하세요.
$ aapt dump xmltree app-debug-androidTest-unaligned.apk AndroidManifest.xml | grep -A5 "instrumentation"
올바른 계측 테스트 패키지는 다음과 같은 출력이 생성됩니다.
E: instrumentation (line=9) A: android:label(0x01010001)="Tests for com.amazon.aws.adf.android.referenceapp" (Raw: "Tests for com.amazon.aws.adf.android.referenceapp") A: android:name(0x01010003)="
android.support.test.runner.AndroidJUnitRunner
" (Raw: "android.support.test.runner.AndroidJUnitRunner") A: android:targetPackage(0x01010021)="com.amazon.aws.adf.android.referenceapp" (Raw: "com.amazon.aws.adf.android.referenceapp") A: android:handleProfiling(0x01010022)=(type 0x12)0x0 A: android:functionalTest(0x01010023)=(type 0x12)0x0자세한 내용은 Android 및 AWS Device Farm용 계측 단원을 참조하십시오.
INSTRUMENTATION_TEST_PACKAGE_AAPT_DUMP_XMLTREE_FAILED
다음 메시지가 표시되면 다음 단계에 따라 문제를 해결하세요.
주의
테스트 패키지에서 유효한 AndroidManifest.xml을 찾을 수 없습니다. “aapt dump xmltree <path to your test package> AndroidManifest.xml” 명령을 실행하여 테스트 패키지가 유효한지 확인하고 명령이 오류를 인쇄하지 않은 후 다시 시도하세요.
업로드 검증 프로세스 중에 Device Farm은 다음 명령을 사용하여 패키지에 포함된 XML 파일에 대해 XML 구문 분석 트리의 정보를 구문 분석합니다aapt dump xmltree <path to your package> AndroidManifest.xml
.
계측 테스트 패키지에서 이 명령을 성공적으로 실행할 수 있는지 확인하세요.
다음 예제에서 패키지의 이름은 app-debug-androidTest-unaligned.apk 입니다.
테스트 패키지를 작업 디렉터리에 복사한 후 다음 명령을 실행하세요.
$ aapt dump xmltree app-debug-androidTest-unaligned.apk AndroidManifest.xml
올바른 계측 테스트 패키지는 다음과 같은 출력이 생성됩니다.
N: android=http://schemas.android.com/apk/res/android E: manifest (line=2) A: package="com.amazon.aws.adf.android.referenceapp.test" (Raw: "com.amazon.aws.adf.android.referenceapp.test") A: platformBuildVersionCode=(type 0x10)0x16 (Raw: "22") A: platformBuildVersionName="5.1.1-1819727" (Raw: "5.1.1-1819727") E: uses-sdk (line=5) A: android:minSdkVersion(0x0101020c)=(type 0x10)0x9 A: android:targetSdkVersion(0x01010270)=(type 0x10)0x16 E: instrumentation (line=9) A: android:label(0x01010001)="Tests for com.amazon.aws.adf.android.referenceapp" (Raw: "Tests for com.amazon.aws.adf.android.referenceapp") A: android:name(0x01010003)="android.support.test.runner.AndroidJUnitRunner" (Raw: "android.support.test.runner.AndroidJUnitRunner") A: android:targetPackage(0x01010021)="com.amazon.aws.adf.android.referenceapp" (Raw: "com.amazon.aws.adf.android.referenceapp") A: android:handleProfiling(0x01010022)=(type 0x12)0x0 A: android:functionalTest(0x01010023)=(type 0x12)0x0 E: application (line=16) A: android:label(0x01010001)=@0x7f020000 A: android:debuggable(0x0101000f)=(type 0x12)0xffffffff E: uses-library (line=17) A: android:name(0x01010003)="android.test.runner" (Raw: "android.test.runner")
자세한 내용은 Android 및 AWS Device Farm용 계측 단원을 참조하십시오.
INSTRUMENTATION_TEST_PACKAGE_TEST_PACKAGE_NAME_VALUE_MISSING
다음 메시지가 표시되면 다음 단계에 따라 문제를 해결하세요.
주의
테스트 패키지에서 패키지 이름을 찾을 수 없습니다. “aapt debug badging <path to your test package>” 명령을 실행하여 테스트 패키지가 유효한지 확인하고 “package: name” 키워드 뒤에 있는 패키지 이름 값을 찾은 후 다시 시도하세요.
업로드 검증 프로세스 중에 Device Farm은 다음 명령 aapt debug badging <path to your package>
의 출력에서 패키지 이름 값을 구문 분석합니다.
인스트루먼트 테스트 패키지에서 이 명령을 실행하고 패키지 이름 값을 성공적으로 찾을 수 있는지 확인하세요.
다음 예제에서 패키지의 이름은 app-debug-androidTest-unaligned.apk 입니다.
테스트 패키지를 작업 디렉터리에 복사한 후 다음 명령을 실행하세요.
$ aapt debug badging app-debug-androidTest-unaligned.apk | grep "package: name="
올바른 계측 테스트 패키지는 다음과 같은 출력이 생성됩니다.
package: name='com.amazon.aws.adf.android.referenceapp.test' versionCode='' versionName='' platformBuildVersionName='5.1.1-1819727'
자세한 내용은 Android 및 AWS Device Farm용 계측 단원을 참조하세요.