2016-12-30 2 views
8

나는 안드로이드 응용 프로그램을 개발하고 있습니다. 2.2.2 버전과 2.2.2 버전을 사용하고 있습니다. 서명 된 APK를 생성하려고합니다. Android Studio를 통해 서명 된 APK를 생성하는 정규 과정을 수행했습니다. 그 후, 나는 Zipalign 프로세스를 수행했다. 생성 된 APK가 안드로이드 6. 아래하지만 안드로이드의 경우에 잘 작동 N APK 설치하는 동안 그것이 나에게 다음과 같은 오류를 보여줍니다 문서 당으로안드로이드 서명 apk 서명 V2

Failed to install C:\Users\User\AppData\Roaming\Skype\My Skype Received Files\ap 
p-dev3-release_zipalign.apk: Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES: Fail 
ed to collect certificates from /data/app/vmdl25816781.tmp/base.apk: META-INF/CE 
RT.SF indicates /data/app/vmdl25816781.tmp/base.apk is signed using APK Signatur 
e Scheme v2, but no such signature was found. Signature stripped?] 

을 안드로이드 스튜디오 2.2 그것은 자기 걸릴 서명 V1에 기호를 처리하고 V2. 내가 뭐 잘못하고 있니? 도움이 필요해.

+0

http://stackoverflow.com/questions/15636396/failure-install-parse-failed-no-certificates-when-attempting-to-install-apk-to –

답변

11

Gradle 및 Android Studio 2.2 이상용 Android 플러그인은 기본적으로 v1 (JAR 서명) 및 v2 스키마 (APK 서명 스키마 v2)로 서명 된 APK를 생성합니다. v2 서명 된 APK에 대한 수정 사항은 Android Nougat (Android 7.0) 이상 버전의 v2 서명을 무효화하므로 Android Nougat 이상에 APK를 설치할 수 없습니다.

솔루션 :

  1. 이 이미 서명 한 APK에 zipalign을 실행하지 마십시오 - 당신의 릴리스 빌드를 위해 이미 정렬의 지퍼를 잠그다의 APK를 생성합니다 Gradle을 안드로이드 스튜디오 안드로이드 플러그인.

  2. zipalign을 실행해야하는 경우 APK에 서명하기 전에 수행하십시오. https://developer.android.com/studio/command-line/zipalign.htmlhttps://developer.android.com/studio/publish/app-signing.html#signing-manually을 참조하십시오.

  3. build.gradle 파일에서 v2 서명을 사용하지 않도록 설정하십시오. https://developer.android.com/studio/releases/gradle-plugin.html, 특히 v2SigningEnabled를 참조하십시오.