Android에서 '앱이 설치되지 않았습니다'오류
Android 에뮬레이터에서 작동하는 프로그램이 있습니다. 때때로 나는 서명 된 .apk를 만들고 그것을 테스트하기 위해 HTC Desire로 내보내고있다. 모두 괜찮 았습니다.
내 최근에 내 보낸 .apk에서 .apk를 설치하려고 할 때 '앱이 설치되지 않았습니다'라는 오류 메시지가 나타납니다. 에뮬레이터에서 제대로 실행됩니다.
나는 주로 에뮬레이터에서 테스트를 해왔고 지금까지만 실제 휴대 전화로 내보내는 것이 언제인지 확실하지 않습니다. 실제 전화에 설치하지 않고 에뮬레이터에서 제대로 실행되는 원인은 무엇입니까?
전화를 재부팅하고 기존 .apk를 제거하려고 시도했지만 오류가 해결되지 않습니다.
주로 구형 전화기
App not installed
4.4.2 일명 KitKat에서 실행되는 휴대 전화에 APK를 설치하려고 할 때만 오류 가 발생 했지만 친구가 6+에서 실행되는 휴대 전화 에서이 오류가 발생하지 않았습니다. apk는 릴리스 버전이기 때문에 앱의 이전 / 디버그 버전을 제거하고 디버그 앱의 데이터를 지우고 캐시 된 모든 데이터를 지우는 것과 같은 다른 솔루션을 시도했습니다. 그런 다음 마침내 서명 된 APK를 만들 때 두 가지 서명 버전을 모두 선택해야한다는 것을 깨달았습니다.
선택하기 전에도 V2 (Full APK Signature)
선택했지만 V1 Jar Signature
4.4.2 기기에 서명 된 APK를 성공적으로 설치할 수있었습니다. 이것이 다른 사람들을 돕기를 바랍니다!
저에게 Android 9 (API 28)의 경우 Play 스토어 앱에서 Google Play Protect 를 비활성화 하면 트릭이 App not Installed
발생 하여 오류를 제거 할 수있었습니다 .
Google Play Protect를 비활성화합니다. "Play Store"응용 프로그램을 엽니 다. => 메뉴 버튼을 누르십시오. => "Play Protect"옵션을 선택하십시오. => "보안 위협에 대한 장치 검색"옵션을 비활성화하십시오.
비슷한 문제가 있었는데 이전 버전의 동일한 APK가있는 전화에 APK를 설치하려고 시도했기 때문에 두 APK가 동일한 인증서로 서명되지 않았기 때문입니다. 동일한 인증서를 사용하면 이전 설치를 덮어 쓸 수 있었지만 버전간에 인증서를 변경하면 설치가 불가능했습니다. 동일한 인증서를 사용하고 있습니까?
분명히이 문제의 많은 원인이 있습니다. 나에게 상황은 다음과 같습니다 .Android Studio (v1.3.2)에서 nexus 7 (실제 장치)에 배포했습니다. 모두 잘 작동했습니다. 그런 다음 서명 된 APK를 만들어 내 Google 드라이브에 업로드했습니다. USB에서 넥서스 연결을 끊은 후 설정 / 앱으로 이동하여 앱 (App1)을 제거했습니다. 그런 다음 Google 드라이브를 열고 App1.apk를 클릭하여 설치하기로 선택했습니다 (설정에서 apk 설치를 허용해야합니다). 그런 다음 "앱이 설치되지 않았습니다"라는 두려운 메시지가 나타납니다.
나를위한 해결책 : 설정 / 앱으로 돌아가서 모든 앱과 맨 아래 에 내 App1 의 창백한 버전 이었지만 스크롤 하십시오 (원래 App1은 위와 같이 삭제 된 알파벳 순서의 맨 위에 있음). 연한 버전을 클릭하면 "이 사용자에게는 설치되지 않았습니다"라고 표시됩니다. (넥서스가 두 명 이상의 사용자를 갖도록 설정했습니다). 그러나 오른쪽 상단에는 3 개의 도트 버튼이 있습니다. 나는 이것을 누르고 "모든 사용자를 위해 제거" 라고 말했다 . 내가 한 일이 문제를 해결했습니다. 이제 App1.apk를 클릭 할 수 있었고 오류없이 정상적으로 설치되었습니다.
내 안드로이드를 2.3.2에서 3.0.1로 업데이트 할 때 문제가 발생했습니다. 이 경우 IDE는 자동으로 다음 사항을 고려합니다.
1. Android 파일 관리자 또는 웹 사이트에서 다운로드와 같은 일반적인 방법으로 android : testOnly = "true"로 앱을 설치할 수 없습니다
2.Android Studio는에서 실행되는 APK에서 android : testOnly = "true"를 설정합니다.
장치를 시스템에 직접 연결하여 앱을 실행하면 apk가 설치되고 아무런 문제가 없습니다.
이 apk를 build out put and debug 폴더에서 복사하여 보내면 장치에 설치되지 않습니다.
해결책 : go Build ---> Build APK (s) ---> apk 파일 공유를 팀에 복사하십시오.
문제가 해결됩니다.
나는 같은 문제에 직면했다. 문제는 내 AndroidManifest.xml 파일의 주요 활동이 두 번 작성되었습니다. 사본을 삭제했습니다.
이는 MainMivity가 AndroidManifest.xml에서 두 번 선언 된 경우 발생할 수 있습니다.
다른 가능한 이유 : 실행 활동을 변경했습니다. 힌트 : 이미 게시 된 응용 프로그램으로는 절대 사용하지 마십시오! Android 개발자 블로그 에서 논의 된 이유 .
나는 같은 문제가 있었다. 테스트를 위해 앱에 서명해야한다는 것을 알지 못했습니다.
자체 서명 한 후 정상적으로 설치되었습니다.
나는 같은 문제를 겪었고 여기에 그것을 해결하는 방법이있다 : Manifest 파일로 가서 "Debuggable"과 "Test Only"속성이 false로 설정되어 있는지 확인한다. 그것은 나를 위해 일했다 :)
나는 이것이 오래된 게시물이라는 것을 알고 있지만 새로운 사용자에게는 유용 할 수 있습니다. 나는 같은 문제가 있었다 : 디버깅하는 동안 내 응용 프로그램은 잘 작동했다. APK에 서명했을 때 "응용 프로그램이 설치되지 않았습니다"라는 같은 메시지가 나타납니다.
JDK를 제거하고 (jdk-6u14-windows-x64를 사용 중임) 새로운 것을 설치했습니다 (jdk-6u29-windows-x64). APK를 내보내고 다시 서명하면 모든 것이 정상입니다!
재개, 내 문제는 자바 버전에 있었다. 오라클 감사합니다 !!
Android Studio 3을 사용하는 사람들을 위해
Suryanarayana Reddy의 답변은 해결해야 할 단계가 명시되어 있지 않다고 생각합니다.
AndroidManifest.xml에서 애플리케이션 태그 아래에 다음 testOnly="false"
과 android:debuggable="true"
같이 추가하십시오 .
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme"
android:testOnly="false"
android:debuggable="true"
>
AndroidStudio의 메뉴 표시 줄에서 빌드> APK 빌드에서 편집
내 문제는 장치에 여러 사용자 계정이 있다는 것입니다. 한 계정에서 앱을 삭제했지만 다른 계정에는 여전히 설치되어 있습니다. 따라서 네임 스페이스가 충돌하여 설치되지 않았습니다. 모든 사용자로부터 앱을 제거하면 해결되었습니다.
내 문제는 : Android Studio에서 실행 명령 을 수행하는 동안 생성 된 디버그 APK를 사용했습니다.
해결책은 : 이 파일을 사용 하는 대신 프로젝트를 정리하고 Android Studio에서 빌드> APK 빌드를 클릭하십시오 . 그런 다음 일반적인 폴더 (app / build / outputs / apk / debug /)에서 생성 된 APK를 사용할 수 있습니다
이와 같이 생성 된 파일은 문제없이 설치됩니다.
응용 프로그램이 설치되지 않은 경우 .android_secure/smdl2tmpl.asec
SD 카드에서 파일 을 삭제하십시오 .
.android_secure
파일 관리자에서 폴더 가 비어 있으면 PC에서 삭제하십시오.
나는 또한이 문제를 해결했다.
문제는 내가로드 할 첫 번째 활동으로 On 내 주요 활동을 두 번 선언했으며 그에 대한 인 텐트 필터를 지정했으며 다시 아래에 다시 선언했습니다.
활동을 두 번 선언하지 않도록하십시오.
명령 행을 통해 키 저장소 파일 작성
keytool -genkey -alias key_file_name.keystore -keyalg RSA-유효성 1000000000000000 -keystore key_file_name.keystore
Eclipse를 통해 APK를 내보내고 Android 프로젝트 Android 도구> 서명 된 애플리케이션 패키지 내보내기를 마우스 오른쪽 단추로 클릭 한 다음 키 저장소 위치 및 비밀번호를 제공하십시오.
이것은 apk가 zipaligned되는 것과 동시에 서명 된 apk를 상자에 넣습니다. 설치가 가능합니다.
명령 줄을 모두 사용하면 "응용 프로그램이 설치되지 않았습니다"라는 오류가 표시 될 수 있습니다. (명령 줄을 사용할 때 응용 프로그램 설치 안 됨 오류가 발생할 수있을뿐만 아니라 다른 이유도있을 수 있습니다)
결국 나는 내 앱뿐만 아니라 성공적으로 설치 된 앱이 없다는 것을 알았습니다. 앱 설치 기본값을 SD 카드에서 자동으로 설정했습니다. 그것은 그것을 고쳤다.
해당 응용 프로그램의 이전 버전이있는 경우 먼저 지우려고하면 이제 내 문제가 해당 방법으로 해결되었습니다.
나는 같은 문제가 있었다. 즉, 앱이 설치되는 것처럼 보였지만 아이콘을 탭했을 때 시작되지 않았다. 머리를 두드리는 후 AndroidManifest 파일 내에서 주요 런처 활동에 대해 'android : exported = "false"'를 어리석게 배치 한 것을 발견했습니다. 일단 제거하면 앱이 정상적으로 시작되었습니다.
내 문제는 @Lunatikzx의 문제와 비슷했습니다. 애플리케이션에 속성으로 작성된 잘못된 권한 태그로 인해 :
<application
android:permission="android.permission.WRITE_EXTERNAL_STORAGE"
android:label="@string/app_name"
android:icon="@drawable/ic_launcher"
android:testOnly="false"
android:debuggable="true">
나를 위해 수정 한 것은 다음과 같이 권한 태그를 별도의 태그로 변경하는 것이 었습니다.
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
안드로이드 버전으로 확인하십시오.
비 시장 앱과 호환되지 않는 버전을 설치하는 경우이 오류가 발생합니다.
예 : 응용 프로그램이 2.3.4를 대상으로합니다. 장치가 2.2 인 경우이 오류가 발생합니다.
앱이 SD 카드에 설치되거나 SD 카드로 이동 된 후 USB 케이블이 연결되어 SD 카드가 마운트 해제되는 경우 "응용 프로그램이 설치되지 않았습니다"오류가 발생할 수도 있습니다.
이 경우 USB 저장소를 끄거나 앱을 내부 저장소로 다시 옮기면 문제가 해결됩니다.
또한이 문제가 발생했습니다. 이 솔루션을 사용해보십시오. 프로젝트의 패키지 이름이 휴대폰에 이미 설치된 이전 프로젝트와 다른지 확인하십시오. 나는 그들이 그들의 이름으로 갈등을 느낀다고 생각합니다. 그것은 나를 작동합니다.
기기 제조업체에서 Play 스토어, YouTube, Google지도 등과 같은 Google 상용 앱에 라이센스를 부여하지 않았기 때문에이 문제가 발생할 수도 있습니다. 이 답변 에 따라 문제를 해결하십시오.
분명히 이것은 APK를 설치하기 전에 이름을 바꾸면 발생할 수 있습니다. 파일 이름을 줄임으로써 웹 사이트에서 앱을 가져 오기 위해 사용자가 해야하는 입력 양을 줄이고 싶었습니다. 그 후에는 설치할 수 없었습니다.
패키지를 만들고 서명 할 때 사용 된 원래 파일 이름으로 되 돌리면 설치된 앱을 업데이트 할 수있었습니다.
앱을 설치할 때 logCat을여십시오. "필터 없음"으로 설정하십시오. "InstallAppProgress"패키지 식별자를 검색하십시오. 설치에 실패하면 "설치 오류 코드"가 표시됩니다. 내 경우에는
D/InstallAppProgress: Installation error code: -7
여기에서이 링크 를 사용 하여 특정 오류 코드에 대한 정보를 찾을 수 있습니다 .
이는 홈 화면 위젯을 작성할 때 발생할 수 있으며 위젯 XML 파일의 android:configure
특성 에 올바르지 않은 활동이 지정되어 있습니다.
Android Studio를 사용하여 이전에 서명되지 않은 디버그 버전의 APK ( Build> Build APK )를 설치했으며 서명 된 릴리스 버전을 설치하기 전에 제거해야했습니다 ( Build Variants> Build Variant : release , Build> Signed APK 생성 ).
나를 위해 원인은 동일한 전화에서 다른 빌드 변형을 사용하여 여러 빌드를 수행했기 때문입니다.
무슨 일이 있었는지 이러한 빌드 중 일부는 나 에 의해 빌드되었고 , 다른 하나는 다른 개발자에 의해 나에게 전송되었습니다.
그래서 수정은 간단했습니다 : (빌드 변형에 관계없이) 휴대 전화의 모든 빌드를 삭제 하십시오 . 그런 다음 동료가 보낸 APK를 설치하십시오 .. 그것은 매력처럼 작동했습니다.
Marsmallow의 소유자 및 손님 사용자가 있습니다. 게스트가 동일한 앱을 설치 한 경우 소유자에 동일한 앱을 설치할 수 없습니다.
참고 URL : https://stackoverflow.com/questions/4226132/app-not-installed-error-on-android
'development' 카테고리의 다른 글
에코하지 않고 쉘 스크립트에서 비밀번호를 얻는 방법 (0) | 2020.02.26 |
---|---|
Maven이 실행할 JUnit 테스트를 찾지 못함 (0) | 2020.02.26 |
Java 가져 오기 명령문에 와일드 카드를 사용하는 이유가 무엇입니까? (0) | 2020.02.26 |
기존 테이블에서 열을 제거하는 방법? (0) | 2020.02.26 |
NSMutableArray를 NSArray로 어떻게 변환합니까? (0) | 2020.02.26 |