답변:
AndroidManifest.xml
변경 사항 android:testOnly="true"
을 수정하거나이 android:testOnly="false"
속성을 제거해야합니다.
이 속성을 유지하려면 android:testOnly
로서 true
당신은 사용할 수 pm install
와 명령을 -t
옵션, 하지만 당신은해야 할 수도 있습니다 push
첫 번째 장치에 APK.
$ adb push bin/hello.apk /tmp/
5210 KB/s (825660 bytes in 0.154s)
$ adb shell pm install /tmp/hello.apk
pkg: /tmp/hello.apk
Failure [INSTALL_FAILED_TEST_ONLY]
$ adb shell pm install -t /tmp/hello.apk
pkg: /tmp/hello.apk
Success
나는 같은 문제를 재현 할 수 있었고 위의 문제가 해결되었습니다.
APK가 기기 외부에있는 경우 (데스크톱에서) 아래 명령으로 수행 할 수 있습니다.
$ adb install -t hello.apk
adb push bin/hello.apk /tmp/
나를 위해 일하지 않았다adb push ./debug.apk /sdcard/temp/debug.apk
adb install -t app/build/outputs/apk/usUnitedStates/debug/app-usUnited-debug.apk
나를 위해 일했다.
-f: Install package on the internal system memory.
나는 비슷한 문제가 Android Studio 3.0.0 Beta 7
있었고 더 이상 Play 스토어에 게시 할 수 없었습니다.
여기에 언급 된대로 : https://developer.android.com/studio/run/index.html
참고 : 실행 버튼은 testOnly = "true"로 APK를 빌드합니다. 즉, APK는 adb (Android Studio에서 사용)를 통해서만 설치할 수 있습니다. 사람들이 adb없이 설치할 수있는 디버깅 가능한 APK를 원하는 경우 디버그 변형을 선택하고 빌드> APK 빌드를 클릭하십시오.
상점에 제출 할 수있는 테스트 할 수없는 릴리스 apk가 Android Studio 3
필요 하므로 릴리스 빌드도 마찬가지입니다 Build > Build APK(s)
.
Android Studio 3.0은 테스트 전용 APK를 생성합니다.
"android : testOnly"속성을 Android 매니페스트 태그에 추가하여 문제를 해결했습니다.
<application
.....
android:testOnly="false"
android:theme="@style/AppTheme">
그런 다음 APK by Android studio3.0 메뉴 : Build-> Build APK (s)를 생성했습니다 .
추가 정보 : https://commonsware.com/blog/2017/10/31/android-studio-3p0-flag-test-only.html
이 줄을 'gradle.properties'에 추가하십시오.
android.injected.testOnly=false
이전 게시물 중 어느 것도 내 문제를 해결하지 못했습니다. 여기에 무슨 일이 일어나고 있습니다 :
나는 일반적으로 "실행"버튼을 클릭하여 안드로이드 스튜디오에서 응용 프로그램을로드합니다. 이렇게하면 android는 디버그에는 좋지만 설치에는 적합하지 않은 앱을 만듭니다. 다음을 사용하여 설치하려고하면 :
adb 설치 -r yourapk
다음과 같은 메시지가 나타납니다.
실패 [INSTALL_FAILED_TEST_ONLY]
이 경우 먼저 빌드를 정리 한 다음 빌드-> 빌드 APK를 선택하여 APK를 다시 빌드해야합니다. 다음 이미지를 참조하십시오.
이 APK는 adb install 명령 또는 다른 방법으로 설치할 수 있습니다
도움이 되었기를 바랍니다
데이비드
"allowTestPackages": "true"
하는 경우 e2e 체계 기능 을 지정 해야합니다.
그것이 누군가에게 유용할지 아닌지는 모르겠지만 실수 'gradle:2.4.0-alpha5'
로 안정적인 Android Studio 버전 ( 2.3
, not에서 테스트 gradle 플러그인 ( ) 버전으로 프로젝트를 빌드하고 설치하려고 할 때이 오류 메시지가 나타납니다 .2.4 preview 5
버전 I이 이전에 다운로드하여 설치했습니다).
실수를 깨달았을 때 Android Studio 버전 미리보기를 시작했으며 아무런 문제없이 프로젝트를 빌드하고 설치했습니다.
Saurabh의 답변이 대부분의 다른 사람들에게 도움이 될 것이라고 확신하지만 APK를 설치하기 위해 취해야 할 추가 단계를 확인하고 싶었습니다.
나는 다음과 같은 결과로 장치를 밀어 보았습니다.
? adb push AppClient.TestOnly.App3.apk \tmp\
failed to copy 'AppClient.TestOnly.App3.apk' to '\tmp\': Read-only file system
파일 시스템 RW 권한을 변경 한 후 다음 명령을 실행했습니다.
? adb shell
255|shell@android:/ $ su
shell@android:/ # mount -o remount,rw /
mount -o remount,rw /
다시 밀려 고 할 때 이것을 얻었습니다.
? adb push AppClient.TestOnly.App3.apk /tmp
failed to copy 'AppClient.TestOnly.App3.apk' to '/tmp': Permission denied
나는 sdcard에 밀어 넣을 수 있었다 :
? adb push AppClient.TestOnly.App3.apk /sdcard/
3178 KB/s (99747 bytes in 0.030s)
그 시점에서 나는 Saurabh의 명령을 실행할 수있었습니다.
shell@android:/ # pm install -t /sdcard/AppClient.TestOnly.App3.apk
pm install -t /sdcard/AppClient.TestOnly.App3.apk
pkg: /sdcard/AppClient.TestOnly.App3.apk
Success
내 결과는 다음과 같습니다. Android Studio UI를 사용하여 컴파일하고 APK를 생성하면
adb install <xxx.apk>
그것은 생성 할 것이다 Failure [INSTALL_FAILED_TEST_ONLY]
gradle ie를 사용하여 컴파일해야합니다 ./gradlew app:assembleRelease
. 그런 다음 생성 된 APK 만 설치하면됩니다.
Android Studio UI 컴파일은 특정 기기에 대해서만 테스트 APK를 생성하는 반면, ./gradlew app:assembleRelease
명령은 모든 기기에 설치되는 실제 APK 생성 (및 Playstore에 업로드)이기 때문입니다.
나를 위해 일한 것은 오른쪽 메뉴 Refresh all Gradle projects
의 Gradle
툴바에서 수행 됩니다 .
PFB Android Studio의 스크린 샷.
Gradle
오른쪽 메뉴에서 툴바를 선택하십시오 .Refresh
아이콘을 선택하십시오이것은 나를 위해 문제를 해결했습니다.
여러 개의 APK로 외부 프로젝트를 시도했습니다.
Studio의 명령은 다음과 같습니다.
adb install-multiple -r ....
해결책 -
-t