我试图让jenkins工作使用我在文件夹中的密钥库自动编译和签署我的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的其他项目。)
答案 0 :(得分:2)
您应该考虑在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'
}
}
运行命令生成签名的apk:./ gradlew assembleRelease