Androidアプリをビルドして、署名を開始します。そのためにはapkのリリースバージョンが必要です。 Googleのドキュメントでは、リリースビルドを使用するEclipseとantの方法のみが推奨されています。 http://developer.Android.com/tools/publishing/app-signing.html#releasecompile
しかし、私はgradleビルドリリースバージョンのapkを強制する方法を見つけることができません。 build.gradle
もヒントを提供しません。 gradlew tasks
は、インストールリリース構成はないが、アンインストールリリースは存在することを示唆しています。
Install tasks
-------------
installDebug - Installs the Debug build
installTest - Installs the Test build for the Debug build
uninstallAll - Uninstall all applications.
uninstallDebug - Uninstalls the Debug build
uninstallRelease - Uninstalls the Release build
uninstallTest - Uninstalls the Test build for the Debug build
私のbuild.gradle
:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.Android.tools.build:gradle:0.5.+'
}
}
apply plugin: 'Android'
repositories {
mavenCentral()
}
dependencies {
compile 'com.Android.support:support-v4:13.0.+'
compile files('libs/Android-support-v4.jar')
compile project(":libraries:ActionBarSherlock")
compile project(":libraries:CollabsibleSearchMenu")
}
Android {
compileSdkVersion 18
buildToolsVersion "18.0.1"
defaultConfig {
minSdkVersion 8
targetSdkVersion 16
}
}
私は何が欠けていますか?
Androidスタジオの最新バージョンでは、次のことができます。
./gradlew assembleRelease
またはaR
の略。これにより、無署名のリリースAPKが生成されます。署名済みAPKの構築も同様に行うことができます。または、Android Studioで[ビルド]-> [署名済みAPKの生成]を使用できます。
参照用のbuild.gradleは次のとおりです。
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.Android.tools.build:gradle:0.5.+'
}
}
apply plugin: 'Android'
dependencies {
compile fileTree(dir: 'libs', include: '*.jar')
}
Android {
compileSdkVersion 17
buildToolsVersion "17.0.0"
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
Java.srcDirs = ['src']
resources.srcDirs = ['src']
aidl.srcDirs = ['src']
renderscript.srcDirs = ['src']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
}
// Move the tests to tests/Java, tests/res, etc...
instrumentTest.setRoot('tests')
// Move the build types to build-types/<type>
// For instance, build-types/debug/Java, build-types/debug/AndroidManifest.xml, ...
// This moves them out of them default location under src/<type>/... which would
// conflict with src/ being used by the main source set.
// Adding new build types or product flavors should be accompanied
// by a similar customization.
debug.setRoot('build-types/debug')
release.setRoot('build-types/release')
}
buildTypes {
release {
}
}
Build Variants
ペインを開きます ウィンドウの左下に沿って :debug
をrelease
に設定しますshift+f10
実行!!その後、Android StudioはassembleRelease
タスクを実行し、xx-release.apkをデバイスにインストールします。
Androidスタジオでリリースアプリケーションを作成するためにgradleを更新する必要はありません。Eclipseユーザーであれば、非常に簡単です。新規の場合は、手順に従ってください
1:ツールバーセクションの[ビルド]に移動します。 2:「署名付きAPKを生成...」オプションを選択します。
3:開いたフォームに入力して次へ進みます4:すでに.keystoreまたは.jksがある場合は、そのファイルを選択してパスワードとエイリアス名、それぞれのパスワードを入力します。 5:または、.keystoreまたは.jksファイルがない場合は、図1に示すように[新規作成...]ボタンをクリックしてフォームに入力します。
上記のプロセスは、手動でビルドすることでした。 Android studioでアプリに自動的に署名する場合
Android Studioでは、ビルドプロセス中にリリースAPKに自動的に署名するようにプロジェクトを構成できます。
プロジェクトブラウザで、アプリを右クリックし、[モジュール設定を開く]を選択します。 [プロジェクト構造]ウィンドウの[モジュール]でアプリのモジュールを選択します。 [署名]タブをクリックします。キーストアファイルを選択し、この署名構成の名前を入力し(複数作成する場合があるため)、必要な情報を入力します。 図4. Android Studioで署名構成を作成します。
[ビルドタイプ]タブをクリックします。リリースビルドを選択します。 [署名構成]で、作成した署名構成を選択します。 図5. Android Studioで署名構成を選択します。
4:gradleでdebuggable = falseにする最も重要なこと。
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard- Android.txt'), 'proguard-rules.txt'
debuggable false
jniDebuggable false
renderscriptDebuggable false
zipAlignEnabled true
}
}
詳細については、こちらをご覧ください developer.Android.com
installRelease
タスクをアクティブにするには、signingConfig
が必要です。以上です。
から http://tools.Android.com/tech-docs/new-build-system/user-guide#TOC-Android-tasks :
最後に、プラグインは、インストールが可能な限り(署名が必要)、すべてのビルドタイプ(デバッグ、リリース、テスト)のインストール/アンインストールタスクを作成します。
Install tasks
-------------
installDebug - Installs the Debug build
installDebugTest - Installs the Test build for the Debug build
installRelease - Installs the Release build
uninstallAll - Uninstall all applications.
uninstallDebug - Uninstalls the Debug build
uninstallDebugTest - Uninstalls the Test build for the Debug build
uninstallRelease - Uninstalls the Release build <--- release
installRelease
タスクを取得する方法は次のとおりです。例build.gradle
:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.Android.tools.build:gradle:1.2.3'
}
}
apply plugin: 'com.Android.application'
Android {
compileSdkVersion 22
buildToolsVersion '22.0.1'
defaultConfig {
applicationId 'demo'
minSdkVersion 15
targetSdkVersion 22
versionCode 1
versionName '1.0'
}
signingConfigs {
release {
storeFile <file>
storePassword <password>
keyAlias <alias>
keyPassword <password>
}
}
buildTypes {
release {
signingConfig signingConfigs.release
}
}
}