programing

ADB 설치가 실패하고 INSTALL_FAILED_가 발생함테스트_전용

muds 2023. 8. 29. 21:03
반응형

ADB 설치가 실패하고 INSTALL_FAILED_가 발생함테스트_전용

단말기에 apk를 설치하는 데 문제가 있습니다.

adb install <.apk>

위 명령을 사용하면 다음이 반환됩니다.

5413 KB/s (99747 bytes in 0.017s)
        pkg: /data/local/tmp/AppClient.TestOnly.App3.apk
Failure [INSTALL_FAILED_TEST_ONLY]

이 문제의 원인이 무엇인지 아십니까?

그것은 확실히 장치를 인식합니다.apk에 문제가 있을 수 있습니까?

▁your다▁를 수정해야 할 것 같습니다.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

가 있었어요.Android Studio 3.0.0 Beta 7그리고 더 이상 플레이 스토어에 게시할 수 없었습니다.

여기에 명시된 바와 같이: https://developer.android.com/studio/run/index.html

참고: Run(실행) 버튼은 testOnly="true"로 APK를 구축합니다. 즉, APK는 adb(Android Studio에서 사용하는)를 통해서만 설치할 수 있습니다.사람들이 adb 없이 설치할 수 있는 디버그 가능한 APK를 원한다면, 디버그 변형을 선택하고 빌드 > 빌드 APK를 클릭합니다.

릴리스 빌드에서도 마찬가지입니다.Android Studio 3은 이합니다야해동으로 .Build > Build APK(s)스토어에 제출할 수 있는 테스트할 수 없는 릴리스 팩이 있습니다.

더하다-t아래 스크린샷과 같이 설치 플래그:

answer is in the red box

저의 경우 이 실수는 불안정한 그라들 버전이었습니다.안정적인 버전의 그라들(알파도, 베타도 아님)을 사용하십시오.그리고 그것은 나를 위해 고쳐졌습니다.

하루 종일 검색하고 검색한 후에, 유일하게 작동하는 것은 추가하는 것입니다.

android.injected.testOnly=false

gradle.properties 파일로

나는 Elisey의 말에 동의합니다.2.4 미리보기에서 프로젝트를 연 후 안드로이드 스튜디오 2.3에서 같은 프로젝트를 연 후 동일한 오류가 발생했습니다.

build.gradle에서 이 줄을 변경하여 문제를 해결했습니다.

classpath 'com.android.tools.build:gradle:2.4.0-alpha5'

로.

classpath 'com.android.tools.build:gradle:2.3.1'

이전 게시물 중 어느 것도 제 문제를 해결하지 못했습니다.저에게 일어나는 일은 다음과 같습니다.
저는 보통 안드로이드 스튜디오에서 "실행" 버튼을 클릭하여 앱을 로드합니다.이렇게 하면 안드로이드는 디버깅에는 좋지만 설치에는 적합하지 않은 앱을 만들 수 있습니다.다음을 사용하여 설치하려는 경우:

adb 설치 -r yourapk

다음과 같은 메시지가 표시됩니다.

실패 [INSTALL_FAULED_]테스트_만 해당]

이 경우 먼저 빌드를 정리한 다음 빌드 ->APK 빌드를 선택하여 apk를 다시 빌드해야 합니다.아래 이미지를 참조하십시오.

build android apk

이 APK는 adb install 명령 또는 다른 방법을 통해 설치할 준비가 되었습니다.

이것이 도움이 되길 바랍니다.

데이빗

Android studio 3.0은 테스트 전용 APK를 생성합니다.

안드로이드 매니페스트 태그에 "안드로이드:testOnly" 속성을 추가하여 문제를 해결했습니다.

 <application
    .....
    android:testOnly="false"
    android:theme="@style/AppTheme">

Android studio 3.0 메뉴별 APK 생성:빌드-->APK 빌드.

추가 정보: https://commonsware.com/blog/2017/10/31/android-studio-3p0-flag-test-only.html

이 줄을 'gradle.properties'에 추가합니다.

android.injected.testOnly=false

를 테스트하고 , 만당를 apk테스싶다고면하그, 세요하추가냥트약이신을 .-t명령줄 옵션.

명령 예제:

adb install -t .\app-debug.apk

제 경우는 APK를 업로드하는 것이었는데, 생산 인증서로 서명되었고 릴리스 변형이었지만 안드로이드 스튜디오의 실행 재생 버튼으로 생성되었습니다.Gradle 또는 Build APK 메뉴 옵션에서 APK를 생성한 후 문제가 해결되었습니다.

제 경우 안드로이드 스튜디오 4.0을 사용하여 아래와 같은 문제를 해결했습니다.

'gradle.properties' 파일에 추가합니다.

android.injected.testOnly=false 

Android 3.6.2 이상

빌드 >> 빌드/번들 apk >> 빌드 apk

enter image description here

잘 작동합니다.

승인된 답변은 알겠습니다. 하지만 실제로 apk를 누른 다음 -t 플래그가 있는 adb 셸 직접 adb 설치에서 명령을 실행할 필요는 없습니다.

adb install -t "컴퓨터의 pk 경로"

참조용 스크린샷 첨부

이것은 나에게 도움이 됩니다.

adb install -t myapk.apk

이전 Gradle 버전으로 되돌리지 않고 이 문제를 해결하는 가장 쉬운 방법은 실행 구성(pm 설치용)에 '-t' 옵션을 추가하는 것입니다.

testOnly='false'는 아무런 영향을 미치지 않았습니다.이 오류는 debug APK를 '테스트 전용'으로 만드는 gradle 플러그인의 알파 버전으로 인해 발생합니다.-t 옵션을 사용하면 이러한 APK를 설치할 수 있습니다.실행 구성으로 설정하면 APK가 자동으로 정상적으로 설치됩니다.

저의 소견은 아래와 같습니다.Android Studio UI를 사용하여 컴파일하고 APK를 생성하면 다음과 같은 작업을 수행할 수 없습니다.

adb install <xxx.apk>

생됩니다가 됩니다.Failure [INSTALL_FAILED_TEST_ONLY]

저는 Gradle을 사용하여 컴파일해야 합니다../gradlew app:assembleRelease그런 다음 생성된 apk만 설치할 수 있습니다.

이는 Android Studio UI 컴파일이 특정 장치에 대한 테스트 apk만 생성하는 반면./gradlew app:assembleRelease명령은 모든 장치에 설치할 실제 apk 생성입니다(플레이스토어에 업로드).

누군가에게 도움이 될지 모르겠지만, 실수로 테스트 그래들 플러그인으로 프로젝트를 빌드하고 설치하려고 했을 때 이런 오류 메시지가 표시되었습니다.'gradle:2.4.0-alpha5') 안정적인 Android Studio 버전 (2.3에 없는2.4 preview 5이전에 다운로드하여 설치한 버전).

제가 실수를 깨달았을 때, 저는 미리보기 안드로이드 스튜디오 버전을 시작했고 그것은 문제없이 제 프로젝트를 구축하고 설치했습니다.

설명서에 언급된 대로:

실행을 클릭하면 Android Studio에서 이 속성을 자동으로 추가합니다.

그래서, 당신의 apk를 설치할 수 있는 것은adb install <path to apk file>터미널에서 빌드를 조립해야 합니다../gradlew assembleDebug및 adb와 함께 설치합니다.아니면 그냥 도망가../gradlew installDebug장치에서 빌드 및 설치를 동시에 수행할 수 있습니다.

다음과 같이 Android Studio에서 .apk 배포판을 빌드합니다.

빌드 --> 빌드 Apk(s)(서명되지 않은 빌드) 빌드 --> 서명된 APK(서명된 빌드) 생성

이 옵션은 APK를 Android:testOnly="false" 옵션과 함께 구축합니다. 이 옵션을 사용하면 명령어를 통해 APK를 장치에 명시적으로 설치할 수 있습니다.

adb 당신의 BuilT.apk를 설치합니다.

제게 효과가 있었던 것은 공연하는 것입니다.Refresh all Gradle projects에서Gradle도구 모음을 클릭합니다.

Android Studio의 스크린샷은 PFB입니다.

  1. 선택한다.Gradle도구 모음을 클릭합니다.
  2. 다음을 선택합니다.Refresh아이콘

이것으로 저는 그 문제를 해결했습니다.

Screenshot from 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

저는 Gradle 작업 'clean'(:app 아래의 Gradle 창에서 보통 오른쪽에 있음)을 실행하고 프로젝트를 다시 실행했습니다.

저는 여러 개의 apk로 외부 프로젝트를 시도했습니다.

스튜디오의 명령은, 다음과 같이 보였습니다.

adb install-multiple -r ....

솔루션 -

  • 콘솔 선택
  • 에 대한 명령.-t

영구적이지 않은 솔루션을 찾고 있는 경우 추가android.injected.testOnly=falsegradle.properties 파일로 이동하면 명령줄을 사용해도 상관없습니다. 설치 전에 다음 두 가지 명령을 사용하면 됩니다.

rm -v **/build/**/AndroidManifest.xml
gradle build

Windows 사용자의 경우: 모든 빌드 디렉토리에서 모든 AndroidManifest.xml을 삭제합니다.하지만 src 디렉토리에서가 아니기 때문에.DEL /S좋은 생각이 아닙니다.

저도 같은 문제를 받았는데 도움이 되지 않습니다.마지막으로 Android가 일반 설치를 제거할 때 제거되지 않은 안전 폴더(또는 전화 브랜드에 따라 보안 폴더)에 설치가 남아 있습니다.제거하면 이 문제가 해결됩니다.이것이 다른 사람들에게 도움이 되기를 바랍니다!

먼저 불안정한 버전을 제거합니다.

adb uninstall 문제가 있는 패키지 이름

그런 다음 apk를 다시 설치합니다.

언급URL : https://stackoverflow.com/questions/25274296/adb-install-fails-with-install-failed-test-only

반응형