Как настроить gradle и Android studio для сборки релиза?
Я хочу построить приложение для android и начать его подписывать. Для этого мне нужно иметь версию АПК. Документация 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
}
}
чего мне не хватает?
4 ответа:
в последней версии android studio, вы можете просто сделать:
./gradlew assembleRelease
или
aR
для краткости. Это позволит произвести без выхода АПК. Создание подписанного apk может быть сделано аналогичным образом, или вы можете использовать Build -> Generate Signed Apk в Android Studio.вот мой билд.ш Для справки:
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
- set
debug
torelease
shift+f10
бежать!!затем Android Studio выполнит
assembleRelease
задача и установка xx-release.apk для вашего устройства.
нет необходимости обновлять gradle для создания приложения выпуска в Android studio.Если вы были с Eclipse, то это будет так легко для вас. Если вы новичок, то выполните следующие действия
1: Перейдите в раздел" сборка " на панели инструментов. 2: выберите " Создать подписанный APK..." опцион.
3: заполните открытую форму и идите дальше 4 :Если у вас уже есть .хранилище ключей или .jks затем выберите этот файл введите свой пароль и псевдоним и соответствующий пароль. 5: или не имеют .хранилище ключей или .следующих файл затем нажмите на кнопку Создать новый... кнопку, как показано на рис 1, то заполните форму.
выше процесс должен был сделать сборку вручную. Если вы хотите, чтобы android studio автоматически подписывала ваше приложение
в Android Studio вы можете настроить свой проект для автоматической подписи вашего выпуска APK во время процесса сборки:
в браузере проектов щелкните правой кнопкой мыши приложение и выберите Открыть Настройки модуля. В окне структура проекта выберите модуль приложения под модулями. Перейдите на вкладку подпись. Выберите файл хранилища ключей, введите имя для этой конфигурации подписи (так как вы можете создать несколько) и введите необходимую информацию. Рис.4. Создайте конфигурацию подписи в Android Studio.
перейдите на вкладку типы построения. Выберите сборку. В разделе Конфигурация подписи выберите только что созданную конфигурацию подписи. Рис. 5. Выберите конфигурацию подписи в Android Studio.
4:Большинство Важная вещь, которая делает debuggable=false в gradle.
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:
наконец, плагин создает задачи установки/удаления для всех построить типы (debug, release, test), если они могут быть установлены (которые требуется подпись).
вот что вы хотите:
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 } } }