如何设置gradle和android studio进行发布构建?

IBr*_*IBr 71 android release gradle android-studio android-gradle-plugin

我想构建Android应用程序并开始签名.为此,我需要有apk的发布版本.Google文档仅提供了Eclipse和ant方法来发布版本:http://developer.android.com/tools/publishing/app-signing.html#releasecompile

但是我找不到如何强制gradle build release版本的apk.build.gradle也没有提供任何提示.gradlew tasks建议,没有安装Release配置,但存在卸载版本:

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
Run Code Online (Sandbox Code Playgroud)

我的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
    }
}
Run Code Online (Sandbox Code Playgroud)

我错过了什么?

ipc*_*cjs 103

  1. 打开 Build Variants
  2. 设置debugrelease
  3. shift+f10 跑!!

然后,Android Studio将执行assembleRelease任务并将xx-release.apk安装到您的设备.

  • 构建变体位于左侧,请参阅附带的屏幕截图,以便更好地了解位置:) [截图](http://prntscr.com/6u7j3s) (17认同)
  • 你如何打开Build Variants?这是我可以在Android Studio中做的事情吗? (5认同)
  • 试过这个.但是收到错误:"app-release-unsigned.apk未签名.请使用"项目结构"对话框配置所选首选项的签名信息.打开"项目结构"对话框" (5认同)
  • @jrhamza跟随它提示您添加释放密钥。 (2认同)
  • 如果您从未打开“构建变体”窗口,那么这个简单的开关隐藏得有多好! (2认同)

dre*_*res 41

在最新版本的android studio中,您可以这样做:

./gradlew assembleRelease
Run Code Online (Sandbox Code Playgroud)

aR简称.这将产生一个未签名的发布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 {

    }
}
Run Code Online (Sandbox Code Playgroud)

  • 为什么Android Studio越新,越难用? (12认同)
  • 在最新版本的Android Studio(0.2.11)中,Generate Signed Apk不再有效.您被指示在gradle.bundle文件中设置签名配置,除非您愿意在那里对您的密码进行硬编码,否则(可能)必须从命令行手动运行:http://tools.android. COM /科技的文档/新构建系统/用户指南#TOC-签名的配置 (3认同)

And*_*Lad 29

无需更新gradle在Android studio中制作发布应用程序.如果您是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
       }
     }
Run Code Online (Sandbox Code Playgroud)

访问以下信息developer.android.com

  • 你是救命的兄弟。 (2认同)

Jar*_*ows 20

要激活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
Run Code Online (Sandbox Code Playgroud)

以下是如何获取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
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

  • 您可以放入本地`gradle.properties`或将它们存储在CI中. (2认同)

Hou*_*lla 10

这是配置运行发布版本的过程

1- 将构建变体更改为发布版本。

在此处输入图片说明

2- 打开项目结构。 在此处输入图片说明

3- 将默认配置更改为 $signingConfigs.release 在此处输入图片说明

  • 你是人类中的神 (2认同)

Shi*_*yya 7

使用发布版本进行编译,如下所示:

在此输入图像描述