2016-06-14 3 views
0

私はフォルダ内にあるキーストアを使用してAPKファイルを自動的にコンパイルして署名するjenkinsジョブを作成しようとしています。私はこれを試しました:コマンドラインから署名付きapkを入手するためにgradleWを使用するにはどうすればよいですか?

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 

しかし、それは動作していません。 (それはgradlewの代わりにgradleが使われた他のプロジェクトで働いていました)。

答えて

2

あなたはそれが署名したAPKを構築する必要がありbuild.gradleに種類と署名の設定を構築し、./gradlew assembleReleaseに

を実行している追加することを検討すべきです。

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 
     } 

し、これらの署名のconfigsを持っている:

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コマンド署名APK生成する:./gradlew assembleRelease

関連する問題