android+命令行编译,打包生成apk文件,Android 使用Android Studio + Gradle 或 命令行 进行apk签名打包...
默認為debug mode,使用的簽名文件在: $HOME/.android/debug.keystore
比如 C:\Users\chengcj1.android\debug.keystore
1.利用Gradle命令行進行簽名
a. Release Mode 簽名:
build.gradle:
[plain] view plaincopy
派生到我的代碼片
android {
signingConfigs {
releaseConfig {
keyAlias 'stone'
keyPassword 'mypwd'
storeFile file('/Users/stone/Documents/project_AS/myapplication/stone.keystore')
storePassword 'mypwd'
}
}
buildTypes {
release {
...
signingConfig signingConfigs.release
}
}
}
signingConfigs 即簽名配置。 配置名releaseConfig{ //配置內容 }
在buildTypes中指定release時的signingConfigs對應的配置名
b. 執行gradle 命令, $ gradlew assembleRelease
編譯并發布。 在build/outputs/apk/ 下能看到未簽名的apk 和 已經簽名的apk
如果未用簽名文件,使用debug mode的debug簽名。那就會生成一個debug簽名的apk
c. 簽名密碼寫在gradle中不安全:
派生到我的代碼片
signingConfigs { //gradle assembleRelease
myConfig {
storeFile file("stone.keystore")
storePassword System.console().readLine("\nKeystore password: ")
keyAlias "stone"
keyPassword System.console().readLine("\nKey password: ")
}
}
這樣在命令 執行 命令時,就會被要求輸入密碼
2. 使用Android Studio 簽名打包
菜單 Build > Generate Signed APK
3. 使用Android Studio 自動簽名打包
a. 打開Project Structure,打開方法如下:
b. 選中需要構建的moudle,打開Signing,添加config
執行完成后,會在build.gradle中自動加上 signingConfigs{ config {...} }的信息
c. 打開Build Types -> release
在signing Config中選擇定義的配置
zip align enabled 默認為true, 用于啟用優化Apk的操作
d. $ gradle build
會在build/outputs/apk/ 目錄下輸出 在build types中定義的編譯類型。如:
myapplication-debug-unaligned.apk myapplication-debug.apk myapplication-release-unaligned.apk myapplication-release-unsigned.apk myapplication-release.apk
4. 使用Android SDK 和 JDK 的命令 簽名打包APK
創建簽名 keytool -genkey -v -keystore stone.keystore -alias stone -keyalg RSA -keysize 2048-validity 10000 生成簽名文件 為apk簽名 jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore stone.keystore unsigned.apk stone 不生成新文件 檢測apk是否簽名 jarsigner -verbose -certs -verify signed.apk 優化apk zipalign -f -v 4 signed_unaligned.apk signed_aligned.apk
總結
以上是生活随笔為你收集整理的android+命令行编译,打包生成apk文件,Android 使用Android Studio + Gradle 或 命令行 进行apk签名打包...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android 事件管理器,Androi
- 下一篇: android开发应用知识,Androi