1 단계:
D:\projects\Phonegap\Example> cordova plugin rm org.apache.cordova.console --save
파일 --save
에서 플러그인을 제거하도록 추가 config.xml
하십시오.
2 단계:
Android 용 릴리스 빌드를 생성하려면 먼저 AndroidManifest.xml
platform / android에 있는 파일 을 약간 변경해야합니다 . 파일을 편집하고 행을 변경하십시오.
<application android:debuggable="true" android:hardwareAccelerated="true" android:icon="@drawable/icon" android:label="@string/app_name">
다음으로 변경 android:debuggable
하십시오 false
.
<application android:debuggable="false" android:hardwareAccelerated="true" android:icon="@drawable/icon" android:label="@string/app_name">
cordova 6.2.0부터 android : debuggable 태그를 완전히 제거하십시오. 다음은 cordova의 설명입니다.
"HardcodedDebugMode"유형의 문제에 대한 설명 : 매니페스트에서 android : debuggable 속성을 제거하는 것이 가장 좋습니다. 그렇다면 APK를 빌드 할 때 도구가 에뮬레이터 또는 장치에서 디버깅 할 때 자동으로 android : debuggable = true를 삽입합니다. APK 내보내기와 같은 릴리스 빌드를 수행하면 자동으로 false로 설정됩니다.
반면 매니페스트 파일에서 특정 값을 지정하면 도구가 항상이를 사용합니다. 이로 인해 실수로 디버그 정보로 앱을 게시 할 수 있습니다.
3 단계 :
이제 Cordova에게 릴리스 빌드를 생성하도록 지시 할 수 있습니다.
D:\projects\Phonegap\Example> cordova build --release android
그런 다음 서명되지 않은 APK 파일을에서 찾을 수 있습니다 platforms/android/ant-build
. 이 예에서 파일은platforms/android/ant-build/Example-release-unsigned.apk
4 단계 :
참고 : keystoreNAME-mobileapps.keystore
이 Git Repo에 키 저장소 가 있습니다. 다른 저장소 를 작성하려면 다음 단계를 수행하십시오.
키 생성 :
통사론:
keytool -genkey -v -keystore <keystoreName>.keystore -alias <Keystore AliasName> -keyalg <Key algorithm> -keysize <Key size> -validity <Key Validity in Days>
예 :
keytool -genkey -v -keystore NAME-mobileapps.keystore -alias NAMEmobileapps -keyalg RSA -keysize 2048 -validity 10000
keystore password? : xxxxxxx
What is your first and last name? : xxxxxx
What is the name of your organizational unit? : xxxxxxxx
What is the name of your organization? : xxxxxxxxx
What is the name of your City or Locality? : xxxxxxx
What is the name of your State or Province? : xxxxx
What is the two-letter country code for this unit? : xxx
그런 다음 이름이 NAME-mobileapps.keystore 인 키 저장소가 생성되었습니다.
5 단계 :
생성 된 키 저장소를
구 버전 코르도바
D:\projects\Phonegap\Example\platforms\android\ant-build
새 버전 코르도바
D:\projects\Phonegap\Example\platforms\android\build\outputs\apk
서명되지 않은 APK에 서명하려면 JDK에 포함 된 jarsigner 도구를 실행하십시오.
통사론:
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore <keystorename> <Unsigned APK file> <Keystore Alias name>
예 :
D:\projects\Phonegap\Example\platforms\android\ant-build> jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore NAME-mobileapps.keystore Example-release-unsigned.apk xxxxxmobileapps
또는
D:\projects\Phonegap\Example\platforms\android\build\outputs\apk> jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore NAME-mobileapps.keystore Example-release-unsigned.apk xxxxxmobileapps
Enter KeyPhrase as 'xxxxxxxx'
이것은 APK를 제자리에 서명합니다.
6 단계 :
마지막으로, Zip 정렬 도구를 실행하여 APK를 최적화해야합니다.
D:\projects\Phonegap\Example\platforms\android\ant-build> zipalign -v 4 Example-release-unsigned.apk Example.apk
또는
D:\projects\Phonegap\Example\platforms\android\ant-build> C:\Phonegap\adt-bundle-windows-x86_64-20140624\sdk\build-tools\android-4.4W\zipalign -v 4 Example-release-unsigned.apk Example.apk
또는
D:\projects\Phonegap\Example\platforms\android\build\outputs\apk> C:\Phonegap\adt-bundle-windows-x86_64-20140624\sdk\build-tools\android-4.4W\zipalign -v 4 Example-release-unsigned.apk Example.apk
이제 example.apk라는 최종 릴리스 바이너리가 있으며이를 Google Play 스토어에서 릴리스 할 수 있습니다.