1. ホーム
  2. android

[解決済み] リリースビルドを行うためにgradleとandroid studioをセットアップする方法は?

2023-05-11 22:29:14

質問

アンドロイドアプリを作成し、署名を開始したいと思います。 そのために、私は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 studioでは、こうすればいいのです。

./gradlew assembleRelease

または aR を略して「co」。 これで無署名のリリース用apkが生成されます。 署名付きapkのビルドも同様に行うことができますし、Android StudioのBuild -> Generate Signed 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 {

    }
}