我正在尝试让 jenkins 工作自动编译并使用我在文件夹中的 keystore 签署我的 APK 文件。我试过这个:
SET JAVA_HOME=C:\Program Files\Java\jdk1.7.0_79
SET ANDROID_HOME=E:\androidsdk
SET PATH=%PATH%;%JAVA_HOME%;%ANDROID_HOME%
SET ZIPALIGN="%ANDROID_HOME%\build-tools\23.0.3\zipalign"
echo %cd%
gradlew assembleDebug & "%JAVA_HOME%\bin\jarsigner" -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore key-jenkins\MyKey.jks -storepass rusavon app\build\outputs\apk\app-debug-unsigned.apk Mypassword& %ZIPALIGN% -v 4 app\build\outputs\apk\app-debug-unsigned.apk app\build\outputs\apk\debug-r%SVN_REVISION%.apk
但它不起作用。 (它曾经在其他使用 gradle 而不是 gradlew 的项目中工作)。
最佳答案
您应该考虑在 build.gradle 中添加构建类型和签名配置,然后运行 ./gradlew assembleRelease
它应该构建一个签名的 apk。
对 build.gradle 进行以下更改。
buildTypes {
// Debug Configuration
debug {
testCoverageEnabled = true
debuggable true
}
// Release Configuration
release {
testCoverageEnabled = false
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.txt'
signingConfig signingConfigs.release
}
然后有这些签名配置:
signingConfigs {
debug {
storeFile file("xx-key.keystore")
storePassword "xx123"
keyAlias "xxxx"
keyPassword "xx123"
}
release {
keyAlias 'xxxx'
keyPassword 'xx123'
storeFile file('xxxxxx-Key.keystore')
storePassword 'xx12'
}
}
Run command to generate signed apk : ./gradlew assembleRelease
关于android - 如何使用 gradleW 从命令行获取签名的 apk?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37820578/