Android APK가 릴리스로 서명되고 인증서를 디버그하지 않는지 어떻게 확인할 수 있습니까?
source thatfile
. 스크립트의 주석은 실행 방법을 설명합니다.
Android APK가 릴리스로 서명되고 인증서를 디버그하지 않는지 어떻게 확인할 수 있습니까?
source thatfile
. 스크립트의 주석은 실행 방법을 설명합니다.
답변:
이 명령을 사용하십시오 (cmd 프롬프트에서 java <jdk <bin 경로로 이동하십시오)
$ jarsigner -verify -verbose -certs my_application.apk
"CN = Android 디버그"가 표시되면 .apk가 Android SDK에서 생성 된 디버그 키로 서명되었음을 의미합니다 (서명되지 않음). 그렇지 않으면 CN에 대한 항목을 찾을 수 있습니다. 자세한 내용은 http://developer.android.com/guide/publishing/app-signing.html을 참조하십시오.
this means the .apk was signed with the debug key generated by the Android SDK (means it is unsigned)
-서명되지 않은 것은 아닙니다. 방금 작성한 것을 의미합니다-디버그 키로 서명됩니다.
jarsigner -verify -verbose -certs myapp.apk | grep CN= | less
"CN = Android 디버그"가 표시되지 않아야합니다.
콘솔 명령을 사용하십시오.
apksigner verify --print-certs application-development-release.apk
../sdk/build-tools/24.0.3/apksigner.bat에서 apksigner를 찾을 수 있습니다. 빌드 도구 v. 24.0.3 이상에만 해당합니다.
구글 문서도 읽어보십시오 : https://developer.android.com/studio/command-line/apksigner.html
apksigner
`에서 % LOCALAPPDATA % \ 안드로이드 \ SDK \ 빌드 도구 \ 25.0.3` (그리고 다른 모든 빌드 도구 버전 내가 설치 한)
apksigner
버전에서 누락 된 26.0.0
빌드 도구. issuetracker.google.com/issues/62696222 에서 추적되며 다음 버전에서 수정 될 예정입니다. 그때까지의 해결 방법은 apksigner
from에서 사용하는 것 25.0.3
입니다.
apksigner
버전에 포함되어 있습니다26.0.1
./apksigner verify --print-certs -v ~/Downloads/MyAppHere.apk
이 명령을 사용하십시오 (Jarsigner는 Java bin 폴더에 있으며 cmd 프롬프트에서 java-> jdk-> bin 경로로 이동하십시오).
$ jarsigner -verify my_signed.apk
.apk에 올바르게 서명 된 경우 Jarsigner는 "jar validate"를 인쇄합니다.
가장 쉬운 방법 :
keytool -list -printcert -jarfile file.apk
여기에는 Java 내장 키 도구 앱이 사용되며 추출 또는 빌드 도구 설치가 필요하지 않습니다.
keytool -printcert -file ANDROID_.RSA or keytool -list -printcert -jarfile app.apk
해시 md5를 얻으려면keytool -list -v -keystore clave-release.jks