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

Android 如何使用gradleW从命令行获取签名的apk?,android,gradle,android-gradle-plugin,Android,Gradle,Android Gradle Plugin,我正试图有一个詹金斯的工作,自动编译和签署我的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 a

我正试图有一个詹金斯的工作,自动编译和签署我的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   

但它不起作用。(它用于在使用Gealle而不是GeLeLW的其他项目中工作)。

应考虑在Budi.GeLLE中添加生成类型和签名配置,然后运行./GeLeLW汇编语言< /P> 它应该建立一个签名的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


您应该考虑在Budi.GeDLE中添加构建类型和签名配置,然后运行./GeLeLW汇编语言Eclipse < /P> 它应该建立一个签名的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


原因:groovy.lang.MissingPropertyException:无法获取类型为org.gradle.api.internal.FactoryNamedDomainObjectContainer的SigningConfig容器的未知属性“release”
原因:groovy.lang.MissingPropertyException:无法获取类型为org.gradle.api.internal.FactoryNamedDomainObjectContainer的SigningConfig容器的未知属性“release”