android - 如何使用 gradleW 从命令行获取签名的 apk?

标签 android gradle android-gradle-plugin

我正在尝试让 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/

相关文章:

android - 两个官方 android 库中的重复类,gradle 失败

android - 如何 fillMaxSize() Box() inside row - Compose

java - 在android中使用系统时间函数获取时间戳?

spring - Spring @ControllerAdvice-NoClassDefFoundError:javax/servlet/ServletException

android - 对 Android Gradle 中的 testCompile 和 androidTestCompile 感到困惑

c++ - 如何为某些构建变体禁用 Android NDK 构建

java - 错误由 : org. xmlpull.v1.XmlPullParserException : Unexpected token (position:TEXT {“code” :0, "messa...@

java - 尝试解析由 ( , ) 分隔并使用引号的 CSV 文件

java - Gradle Android Studio

android - 如何使用Gradle脚本在Android Studio中自动增加和发布已签名的apk