web-dev-qa-db-ja.com

リリースビルドを行うためにgradleとAndroid studioをセットアップする方法は?

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
    }
}

私は何が欠けていますか?

67
IBr

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 {

    }
}
41
dres
  1. 通常検出されるBuild Variantsペインを開きます ウィンドウの左下に沿って

Build Variants

  1. debugreleaseに設定します
  2. shift+f10実行!!

その後、Android St​​udioはassembleReleaseタスクを実行し、xx-release.apkをデバイスにインストールします。

91
ipcjs

Androidスタジオでリリースアプリケーションを作成するためにgradleを更新する必要はありません。Eclipseユーザーであれば、非常に簡単です。新規の場合は、手順に従ってください

1:ツールバーセクションの[ビルド]に移動します。 2:「署名付きAPKを生成...」オプションを選択します。 enter image description here

3:開いたフォームに入力して次へ進みます4:すでに.keystoreまたは.jksがある場合は、そのファイルを選択してパスワードとエイリアス名、それぞれのパスワードを入力します。 5:または、.keystoreまたは.jksファイルがない場合は、図1に示すように[新規作成...]ボタンをクリックしてフォームに入力します。enter image description here

上記のプロセスは、手動でビルドすることでした。 Android studioでアプリに自動的に署名する場合

Android St​​udioでは、ビルドプロセス中にリリースAPKに自動的に署名するようにプロジェクトを構成できます。

プロジェクトブラウザで、アプリを右クリックし、[モジュール設定を開く]を選択します。 [プロジェクト構造]ウィンドウの[モジュール]でアプリのモジュールを選択します。 [署名]タブをクリックします。キーストアファイルを選択し、この署名構成の名前を入力し(複数作成する場合があるため)、必要な情報を入力します。 enter image description here 図4. Android St​​udioで署名構成を作成します。

[ビルドタイプ]タブをクリックします。リリースビルドを選択します。 [署名構成]で、作成した署名構成を選択します。 enter image description here 図5. Android St​​udioで署名構成を選択します。

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

28
AndroidLad

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
    }
  }
}
20
Jared Burrows