2017-01-16 22 views
1

私のアンドロイドスタジオプロジェクトの署名付きapkをシェルスクリプトで生成する必要がありますが、タスク "assembleRelease"を実行する際に問題があります。コマンドラインとGradleで署名されたapk

実際には問題は以下の通りです:

ケース1:

  • CD myAndroidStudioProject

  • ./gradlew assembleRelease

  • のapkは問題

  • せずに生成されます

ケース2:

  • myAndroidStudioProject/gradlew assembleRelease

  • 実行はタスクに失敗しました ':アプリ:validateSigningRelease'。コンフィグリリース

に署名するために設定されていない キーストアファイルには、私は私のコマンド(-p、-P)といくつかのparamsを設定するためのテストを持っていますが、それは働いていません。

誰かが絶対パスでgradlewコマンドを使用する方法を知っていますか?

よろしく

+0

は、build.gradleの 'signingConfigs'セクションの' storeFile'によって予期される場所で参照されるファイルですか? –

答えて

0

私はあなたのビルドファイルでnew File('relative/path/to/keystore')のようなものを使用と思います。これは現在の作業ディレクトリとの相対的な定義(JavaDocを参照)であり、gradlewを他の場所から呼び出したときに変更されます。

代わりproject.file('relative/path/to/keystore')を使用するか、またはprojectがちょうどfile('relative/path/to/keystore')暗黙的であるように、それは、あなたからgradlewを呼び出すに関係なく動作します。

関連する問題