web-dev-qa-db-ja.com

Android St​​udio:Gradleを使用して署名済みAPKを生成する方法

GoogleとSOで検索しましたが、答えが見つかりません。

Gradleシステムを使用するのはこれが初めてであり、Google Playにアップロードする署名済みAPKを生成する段階になりました(プロジェクトはEclipseからインポートされます)。

ここで一部を読みました http://tools.Android.com/tech-docs/new-build-system/user-guide#TOC-Building-and-Tasks 追加する必要がありますsigningConfigsbuild.gradle

これらの行を追加しましたが、./gradlew assembleReleaseを実行する必要があることがわかりましたが、これをcmdで実行すると 'gradle'が内部または外部コマンド、操作可能なプログラムまたはバッチファイルとして認識されません。また、build.gradleを右クリックして実行しようとしましたが、成功したと言いましたが、build/apkフォルダを見るとapp-debug-unaligned.apkというファイルのみ

それでは、Gradleシステムを使用して署名付きapkを生成するにはどうすればよいですか?

84
Gooey

buildTypeに従ってビルドを生成する方法は3つあります。 (あなたの場合、それはリリースですが、好きな名前を付けることができます。)

  1. Android St​​udioの右パネルのGradleタスクに移動し、[モジュールタスク]の下でassembleReleaseまたはassemble(#your_defined_buildtype)を検索します。

  2. 左パネルのビルドバリアントに移動し、ドロップダウンからビルドを選択します

  3. File Exploreのプロジェクトルートディレクトリに移動し、cmd/terminalを開いて実行します。

    Linux:./gradlew assembleRelease or assemble(#your_defined_buildtype)

    Windows:gradlew assembleRelease or assemble(#your_defined_buildtype)

リリースビルド(のみ)を行いたい場合は、次を使用できます。 Build > Generate Signed apk。他のビルドタイプの場合、上記の3つのオプションのみが使用可能です。

生成されたAPKは、ビルドタイプ名が含まれるmodule/buildディレクトリにあります。

95
pyus13

既存のAndroid St​​udio gradleプロジェクトを取得し、ファイルを編集せずにコマンドラインからビルド/署名することができます。これにより、キーとパスワードを別々に保ちながら、プロジェクトをバージョン管理に保存することができます。

./gradlew assembleRelease -Pandroid.injected.signing.store.file=$KEYFILE -Pandroid.injected.signing.store.password=$STORE_PASSWORD -Pandroid.injected.signing.key.alias=$KEY_ALIAS -Pandroid.injected.signing.key.password=$KEY_PASSWORD
55
Wayne Piekarski

このコードを使用できます

Android {
   ...
    signingConfigs {
        release {
            storeFile file("../your_key_store_file.jks")
            storePassword "some_password"
            keyAlias "alias_name"
            keyPassword "key_password"
        }
    }

    buildTypes {

        release {
            signingConfig signingConfigs.release
        }
    }
   ...
}

次に、ターミナルから実行します

gradle assembleRelease

あなたはでapkを取得します

your-Android-app/build/outputs/apk/your-Android-app-release.apk

30
droidchef

これはあなたを助けることができると思う https://www.timroes.de/2013/09/22/handling-signing-configs-with-gradle/Build VariantsからReleaseを選択するだけです

2
douglaszuniga