From 4083327e0eee402ebcf7b223c34a07d652db6605 Mon Sep 17 00:00:00 2001 From: Rich Slogar Date: Thu, 6 Nov 2014 17:15:28 -0800 Subject: [PATCH] docs:build system updates [CP] Cherry-pick from Change-Id: I8a5810824cbef3bb81173d80827075d3754d7573 Change-Id: I1e948a18a5e7cc58ae712c50887e69ab8600e536 --- .../tools/buildfilebasics_appbuildfile.png | Bin 0 -> 24302 bytes docs/html/images/tools/studio-gradle-tab.png | Bin 0 -> 20116 bytes docs/html/images/tools/studio-main-screen.png | Bin 0 -> 164418 bytes .../images/tools/studio-module-build-file.png | Bin 0 -> 26227 bytes .../tools/studio-project-build-file.png | Bin 0 -> 20150 bytes docs/html/sdk/installing/studio-build.jd | 1082 +---------------- .../tools/building/building-cmdline-ant.jd | 381 ++++++ docs/html/tools/building/building-cmdline.jd | 246 ++-- docs/html/tools/building/building-studio.jd | 256 ++++ .../html/tools/building/configuring-gradle.jd | 478 ++++++++ docs/html/tools/building/index.jd | 114 +- docs/html/tools/building/plugin-for-gradle.jd | 448 +++++++ docs/html/tools/publishing/app-signing.jd | 50 +- .../tools/publishing/publishing_overview.jd | 13 +- docs/html/tools/tools_toc.cs | 19 +- 15 files changed, 1835 insertions(+), 1252 deletions(-) create mode 100644 docs/html/images/tools/buildfilebasics_appbuildfile.png create mode 100644 docs/html/images/tools/studio-gradle-tab.png create mode 100644 docs/html/images/tools/studio-main-screen.png create mode 100644 docs/html/images/tools/studio-module-build-file.png create mode 100644 docs/html/images/tools/studio-project-build-file.png create mode 100644 docs/html/tools/building/building-cmdline-ant.jd create mode 100644 docs/html/tools/building/building-studio.jd create mode 100644 docs/html/tools/building/configuring-gradle.jd create mode 100644 docs/html/tools/building/plugin-for-gradle.jd diff --git a/docs/html/images/tools/buildfilebasics_appbuildfile.png b/docs/html/images/tools/buildfilebasics_appbuildfile.png new file mode 100644 index 0000000000000000000000000000000000000000..ff5a184d1c994a152ed4dcb0ea0bbc34ccc8ea3c GIT binary patch literal 24302 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 literal 0 HcmV?d00001 diff --git a/docs/html/images/tools/studio-main-screen.png b/docs/html/images/tools/studio-main-screen.png new file mode 100644 index 0000000000000000000000000000000000000000..e898d2f0013c5b67cb5c3f3fcaf04a6610c63505 GIT binary patch literal 164418 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 AivR!s literal 0 HcmV?d00001 diff --git a/docs/html/images/tools/studio-project-build-file.png b/docs/html/images/tools/studio-project-build-file.png new file mode 100644 index 0000000000000000000000000000000000000000..3ee38bf518ccf67c24af1e9f8771ef7327439faa GIT binary patch literal 20150 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

Ik5_#xIw+g~@xz&K<2}@JCK=j`o-QH0LBx=R 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

In this document

See also

    -
  • -Getting Started with Android Studio
  • -
  • -Android Studio Tips and Tricks
  • -
  • -Migrating from Eclipse
  • +
  • + Getting Started with Android Studio
  • +
  • Android Studio Basics
  • +
  • Migrating from Eclipse
  • - +

    Video

    -

    What's New in Android Developer Tools

    +

    The New Android SDK Build System

    -

    The Android Studio build system is the toolkit you use to build, test, run and package -your apps. The build system is independent from Android Studio, so you can invoke it from Android -Studio or from the command line. After you write your application, you can use the features -of the build system to:

    +

    The Android build system is the toolkit you use to build, test, run and package +your apps. The build system can run as an integrated tool from the Android Studio menu and +independently from the command line. You can use the features of the build system to:

    • Customize, configure, and extend the build process.
    • -
    • Create multiple APKs for your app with different features using the same project.
    • -
    • Reuse code and resources.
    • +
    • Create multiple APKs for your app with different features using the same project and + modules.
    • +
    • Reuse code and resources across source sets.
    -

    The flexibility of the Android Studio build system enables you to achieve all of this without -modifying your app's core project files.

    +

    The flexibility of the Android build system enables you to achieve all of this without +modifying your app's core source files. To build an Android Studio project, see +Building and Running from Android Studio. +To configure custom build settings in an Android Studio project, see +Configuring Gradle Builds.

    -

    Overview of the Build System

    +

    A Detailed Look at the Build Process

    -

    The Android Studio build system consists of an Android plugin for Gradle. -Gradle is an advanced build toolkit that manages dependencies -and allows you to define custom build logic. Many software projects use Gradle to manage their -builds. The Android plugin for Gradle does not depend on Android Studio, although Android Studio -is fully integrated with it. This means that:

    +

    The build process involves many tools and processes that generate intermediate files on the +way to producing an .apk. If you are developing in Android Studio, the complete build +process is done every time you run the Gradle build task for your project or modules. The build +process is very flexible so it's useful, however, to understand what is happening under the hood +since much of the build process is configurable and extensible. The following diagram depicts the +different tools and processes that are involved in a build:

    -
      -
    • You can build your Android apps from the command line on your machine or on machines - where Android Studio is not installed (such as continuous integration servers).
    • -
    • You can build your Android apps from Android Studio with the same custom build - configuration and logic as when you build from the command line.
    • -
    + -

    The output of the build is the same whether you are building a project from the command line, -on a remote machine, or using Android Studio.

    +

    The general process for a typical build is outlined below. The build system merges all the +resources from the configured product flavors, build types, and dependencies. If different +folders contain resources with the same name or setting, the following override priority order is: +dependencies override build types, which override product flavors, which override the main source +directory.

    -

    Build configuration

    +
      -

      The build configuration for your project is defined inside Gradle build files, -which are plain text files that use the syntax and options from Gradle and the Android plugin -to configure the following aspects of your build:

      +
    • The Android Asset Packaging Tool (aapt) takes your application resource files, such as the + AndroidManifest.xml file and the XML files for your Activities, and compiles them. + An R.java is also produced so you can reference your resources from your Java code.
    • -
        -
      • Build variants. The build system can generate multiple APKs with different - configurations for the same project. This is useful when you want to build different - versions of your application without having to create a separate project for each of - them.
      • -
      • Dependencies. The build system manages project dependencies and supports - dependencies from your local filesystem and from remote repositories. This prevents you - from having to search, download, and copy binary packages for your dependencies into your - project directory.
      • -
      • Manifest entries. The build system enables you to specify values for some - elements of the manifest file in the build configuration. These new values override the - existing values in the manifest file. This is useful if you want to generate multiple APKs - for your project where each of them has a different package name, minimum SDK version, or - target SDK version.
      • -
      • Signing. The build system enables you to specify signing settings in the build - configuration, and it can sign your APKs during the build process.
      • -
      • ProGuard. The build system enables you to specify a different - ProGuard rules - file for each build variant. The build system can run ProGuard to obfuscate your classes - during the build process.
      • -
      • Testing. The build system generates a test APK from the test sources in your - project, so you do not have to create a separate test project. The build system can run - your tests during the build process.
      • -
      +
    • The aidl tool converts any .aidl interfaces that you have into Java interfaces.
    • -

      Gradle build files use Groovy syntax. -Groovy is a dynamic language that you can use to -define custom build logic and to interact with the Android-specific elements provided by the -Android plugin for Gradle.

      +
    • All of your Java code, including the R.java and .aidl files, are + compiled by the Java compiler and .class files are output.
    • -

      Build by convention

      +
    • The dex tool converts the .class files to Dalvik byte code. Any 3rd party libraries and + .class files that you have included in your module build are also converted into .dex + files so that they can be packaged into the final .apk file.
    • -

      The Android Studio build system assumes sensible defaults for the project structure -and other build options. If your project adheres to these conventions, your Gradle build files are -very simple. When some these conventions do not apply to your project, the flexibility of the -build system allows you to configure almost every aspect of the build process. For example, if -the sources for your project are located in a different directory than the default, you can -specify this location in the build file.

      +
    • All non-compiled resources (such as images), compiled resources, and the .dex files are + sent to the apkbuilder tool to be packaged into an .apk file.
    • -

      Projects and modules

      +
    • Once the .apk is built, it must be signed with either a debug or release key + before it can be installed to a device.
    • -

      A project in Android Studio represents a complete Android app. Android Studio -projects consist of one or more modules. A module is a component of your app that you can -build, test, or debug independently. Modules contain the source code and resources for your app. -Android Studio projects contain three kinds of modules:

      +
    • Finally, if the application is being signed in release mode, you must align the + .apk with the zipalign tool. Aligning the final .apk decreases memory + usage when the application is -running on a device.
    • +
    -
      -
    • Java library modules contain reusable code. The build system generates a - JAR package for Java library modules.
    • -
    • Android library modules contain reusable Android-specific code and resources. - The build system generates an AAR (Android ARchive) package for library modules.
    • -
    • Android application modules contain application code and may depend on library - modules, although many Android apps consists of only one application module. The build - system generates an APK package for application modules.
    • -
    +

    Note: Apps are limited to a 64K method reference limit. If your app reaches +this limit, the build process outputs the following error message: -

    Android Studio projects contain a top-level Gradle build file that lists all the modules in -the project, and each module contains its own Gradle build file.

    +
    Unable to execute dex: method ID not in [0, 0xffff]: 65536.
    -

    Dependencies

    +To avoid this error, see +Building Apps with Over 65K Methods. +

    -

    The Android Studio build system manages project dependencies and supports module dependencies, -local binary dependencies, and remote binary dependencies.

    -
    -
    Module Dependencies
    -

    A project module can include in its build file a list of other modules it depends on. - When you build this module, the build system assembles and includes the required - modules.

    -
    Local Dependencies
    -

    If you have binary archives in your local filesystem that a module depends on, such as - JAR files, you can declare these dependencies in the build file for that - module.

    -
    Remote Dependencies
    -

    When some of your dependencies are available in a remote repository, you do not have - to download them and copy them into your project. The Android Studio build system supports - remote Maven dependencies. Maven is a - popular software project management tool that helps organize project dependencies using - repositories.

    -

    Many popular software libraries and tools are available in public Maven repositories. - For these dependencies you only have to specify their Maven coordinates, which uniquely - identify each element in a remote repository. The format for Maven coordinates used in the - build system is group:name:version. For example, the Maven coordinates for - version 16.0.1 of the Google Guava libraries are - com.google.guava:guava:16.0.1.

    -

    The Maven Central Repository is widely used to - distribute many libraries and tools.

    -
    -
    +

    Build output

    -

    Build tasks

    - -

    The Android Studio build system defines a hierarchical set of build tasks: the top-level -tasks invoke the tasks they depend on to produce the necessary outcomes. The build system -provides project tasks to build your app and module tasks to build modules independently.

    - -

    You can view the list of available tasks and invoke any task from Android Studio and from -the command line, as described in -Build the project in Android Studio and and -Build the project from the command line.

    - -

    The Gradle wrapper

    - -

    Android Studio projects contain the Gradle wrapper, which consists of:

    - -
      -
    • A JAR file
    • -
    • A properties file
    • -
    • A shell script for Windows platforms
    • -
    • A shell script for Mac and Linux platforms
    • -
    - -

    Note: You should submit all of these files to your source -control system.

    - -

    Using the Gradle wrapper (instead of the local Gradle installation) ensures that -you always run the version of Gradle defined in the properties file. To configure your project -to use a newer version of Gradle, edit the properties file and specify the new version there. - -

    Android Studio reads the properties file from the Gradle wrapper directory inside your project -and runs the wrapper from this directory, so you can seamlessly work with multiple projects -that require different versions of Gradle.

    - -

    Note: Android Studio does not use the shell scripts, so any -changes you make to them won't work when building from the IDE. You should define your custom -logic inside Gradle build files instead.

    - -

    You can run the shell scripts to build your project from the command line on your development -machine and on other machines where Android Studio is not installed.

    - - -

    Create and Build an Android Studio Project

    - -

    This section builds on the concepts presented above and shows you how to:

    - -
      -
    • Create projects and modules.
    • -
    • Work with the project structure.
    • -
    • Edit build files to configure the build process.
    • -
    • Build and run your app.
    • -
    - -

    Create a project in Android Studio

    - -

    To create a new project in Android Studio:

    - -
      -
    1. Click File and select New Project.
    2. -
    3. In the window that appears, enter "BuildSystemExample" in the Application - name field.
    4. -
    5. Leave the rest of the values unchanged and click Next.
    6. -
    7. Leave the default icon settings unchanged and click Next.
    8. -
    9. Select Blank Activity and click Next.
    10. -
    11. Leave the default activity and layout names unchanged and click - Finish.
    12. -
    - -

    Figure 1 shows how the Android Studio window looks like after creating the project.

    - - -

    Figure 1. Previewing your app.

    - -

    The project structure

    - -

    Android Studio projects contain an application module by default (app). -Table 1 lists where the main components of your app are located inside this module.

    - -

    -Table 1. Default location of the components in an application module.

    - - - - - - - - - - - - - - - - - - - - - -
    ComponentLocation
    Source filesapp/src/main/java/<package>/
    Resource filesapp/src/main/res/
    Manifest fileapp/src/main/AndroidManifest.xml
    Build fileapp/build.gradle
    - -

    When you add additional modules to your project, the directory structure for each module is -similar to the one shown in table 1, replacing app by the name of the module.

    - -

    Add a library module

    - -

    This section shows you how to add a library module to your project and how to add this -library as a dependency of an application module.

    - -

    Create a new library module

    - -

    It is good development practice to group functionality that you may reuse in other apps inside -a library module. To create a library module inside the BuildSystemExample -project:

    - -
      -
    1. Click File and select New Module.
    2. -
    3. On the window that appears, select Android Library and click - Next.
    4. -
    5. Leave the default module name (lib) unchanged and click - Next.
    6. -
    7. Select Blank Activity and click Next.
    8. -
    9. Type "LibActivity1" on the Activity Name field and click - Finish.
    10. -
    - -

    The project now contains two modules, app and lib, with one activity -in each module.

    - -

    Open an activity from a library module

    - -

    Library modules contain activities and other logic that one or more application modules reuse. -In this example, MainActivity in the app module opens LibActivity1 -from the lib module. To open LibActivity1 from -MainActivity:

    - -
      -
    1. -

      Edit the layout file for MainActivity in the app module. - This file is located in app/src/main/res/layout/activity_main.xml. Replace - the contents of this file with the following:

      -

      -<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
      -    xmlns:tools="http://schemas.android.com/tools"
      -    android:layout_width="match_parent"
      -    android:layout_height="match_parent"
      -    tools:context="com.buildsystemexample.app.MainActivity">
      -
      -    <Button
      -        android:id="@+id/button1"
      -        android:layout_width="wrap_content"
      -        android:layout_height="wrap_content"
      -        android:text="@string/button1"
      -        android:onClick="onButton1Clicked"/>
      -
      -</LinearLayout>
      -

      -
    2. -
    3. - In this layout file, click on the line that contains - android:text="@string/button1" and press Alt+Enter. Follow - the suggestion from Android Studio to add a string resource with the value - "Open LibActivity1". -
    4. -
    5. - In this layout file, click on the line that contains - android:onClick="onButton1Clicked" and press Alt+Enter. - Follow the suggestion from Android Studio to add the onButton1Clicked - method to MainActivity. -
    6. -
    7. -

      Copy the following code inside the onButton1Clicked method in - MainActivity:

      -

      -public void onButton1Clicked(View view) {
      -    Intent intent = new Intent(this, LibActivity1.class);
      -    startActivity(intent);
      -}

      -
    8. -
    9. - Click on LibActivity1 in the first line inside the - onButton1Clicked method of MainActivity and press - Alt+Enter. Follow the suggestion from Android Studio to add an import - for LibActivity1 from the lib module. -
    10. -
    - -

    When the user taps the Open LibActivity1 button on MainActivity -(from the app module), LibActivity1 (from the lib module) -starts.

    - -

    Add a dependency on a library module

    - -

    The app module now depends on the lib module, but the build system -does not know about this yet. Edit the build file for the app module ( -app/build.gradle) and add a dependency on the lib module:

    - -
    -...
    -dependencies {
    -    ...
    -    compile project(":lib")
    -}
    -
    - -

    The lib module can still be built and tested independently, and the build system -creates an AAR package for it that you could reuse in other projects.

    - -

    Build the project in Android Studio

    - -

    To build the project on Android Studio, click Build and select -Make Project. The status bar at the bottom of the window shows the current -progress of the build:

    - -

    Gradle: Executing tasks: [:app:assembleDebug, :lib:bundleDebug]

    - -

    If your project uses product flavors, Android Studio invokes the task for the -selected build variant. For more information, see Work with build -variants.

    - -

    Click on the bottom -right part of the window to show the Gradle Console, as shown in figure 2.

    - - -

    Figure 2. The Gradle Console in Android Studio.

    - -

    The Gradle Console shows the build tasks and subtasks that the build system runs for -Android Studio. If the build fails, you can find more details on the console. To hide the Gradle -Console, click again.

    - -

    To view the list of all available build tasks in Android Studio, click Gradle -on the right side of the IDE window. The Gradle tasks panel appears as shown in -figure 3. Double-click any build task to run it in Android Studio. To hide the Gradle tasks -panel, click Gradle again.

    - - -

    Figure 3. The list of build tasks in Android Studio.

    - - -

    Build the project from the command line

    - -

    To build the project from the command line, open a terminal window and navigate to the project -root. On Windows platforms, type this command:

    - -
    -> gradlew.bat assembleDebug
    -
    - -

    On Mac OS and Linux platforms, type these commands:

    - -
    -$ chmod +x gradlew
    -$ ./gradlew assembleDebug
    -
    - -

    The first command (chmod) adds the execution permission to the Gradle wrapper -script and is only necessary the first time you build this project from the command line.

    - -

    The output of gradlew is similar to the output in the Gradle Console from -figure 2.

    - -

    The assembleDebug build task builds the debug version of your app and signs it -with the default local certificate, so that you can install it on the emulator and on real devices -for debugging purposes.

    - -

    After you build the project, the output APK for the app module is located in -app/build/outputs/apk/, and the output AAR for the lib module is located in -lib/build/outputs/libs/.

    - -

    To see a list of all available build tasks for your project, type this command:

    - -
    -$ ./gradlew tasks
    -
    - - -

    Build a release version

    - -

    You can build the release version of your application from the command line or using Android -Studio. To build it from the command line, invoke the assembleRelease build task using -the Gradle wrapper script (gradlew assembleRelease). To build it from Android -Studio:

    - -
      -
    1. Click Gradle on the right side of the IDE window.
    2. -
    3. On the All tasks section of the sidebar that appears, expand - BuildSystemExample.
    4. -
    5. Expand :app and double-click assembleRelease.
    6. -
    - -

    You can use this procedure to invoke any build task from Android Studio.

    - - - -

    Configure the Build

    - -

    This section uses the BuildSystemExample project from the previous section and -shows you how to:

    - -
      -
    • Use the syntax from the Android plugin for Gradle in build files.
    • -
    • Declare dependencies.
    • -
    • Configure ProGuard settings.
    • -
    • Configure signing settings.
    • -
    • Work with build variants.
    • -
    - -

    Build file basics

    - -

    Android Studio projects contain a top-level build file and a build file for each module. The -build files are called build.gradle, and they are plain text files that use -Groovy syntax to configure the build with the elements -provided by the Android plugin for Gradle. In most cases, you only need to edit the build files -at the module level. For example, the build file for the app module in the -BuildSystemExample project looks like this:

    - -
    -apply plugin: 'android'
    -
    -android {
    -    compileSdkVersion 19
    -    buildToolsVersion "19.0.0"
    -
    -    defaultConfig {
    -        minSdkVersion 8
    -        targetSdkVersion 19
    -        versionCode 1
    -        versionName "1.0"
    -    }
    -    buildTypes {
    -        release {
    -            runProguard true
    -            proguardFiles getDefaultProguardFile('proguard-android.txt'), \
    -            'proguard-rules.txt'
    -        }
    -    }
    -}
    -
    -dependencies {
    -    compile project(":lib")
    -    compile 'com.android.support:appcompat-v7:19.0.1'
    -    compile fileTree(dir: 'libs', include: ['*.jar'])
    -}
    -
    - -

    apply plugin: 'android' applies the Android plugin for Gradle to this build. -This adds Android-specific build tasks to the top-level build tasks and makes the -android {...} element available to specify Android-specific build options.

    - -

    android {...} configures all the Android-specific build options:

    - -
      -
    • The compileSdkVersion property specifies the compilation target.
    • -
    • The buildToolsVersion property specifies what version of the build tools - to use. To install several versions of the build tools, use the SDK Manager.

      -

      Note: Always use a build tools version whose major - revision number is higher or equal to that of your compilation target and target SDK.

      -
    • -
    • The defaultConfig element configures core settings and - entries in the manifest file (AndroidManifest.xml) dynamically from the - build system. The values in defaultConfig override those in the manifest - file.

      -

      The configuration specified in the defaultConfig element applies - to all build variants, unless the configuration for a build variant overrides some - of these values.

      -
    • -
    • The buildTypes element controls how to build and package your app. - By default, the build system defines two build types: debug and - release. The debug build type includes debugging symbols and is signed with - the debug key. The release build type is not signed by default. - In this example the build file configures the release version to use - ProGuard.
    • -
    - -

    The dependencies element is outside and after the android element. -This element declares the dependencies for this module. Dependencies are covered in the following -sections.

    - -

    Note: When you make changes to the build files in your project, -Android Studio requires a project sync to import the build configuration changes. Click -Sync Now on the yellow notification bar that appears for Android Studio -to import the changes.

    - - -

    Figure 4. Sync the project in Android Studio.

    - -

    Declare dependencies

    - -

    The app module in BuildSystemExample declares three -dependencies:

    - -
    -...
    -dependencies {
    -    // Module dependency
    -    compile project(":lib")
    -
    -    // Remote binary dependency
    -    compile 'com.android.support:appcompat-v7:19.0.1'
    -
    -    // Local binary dependency
    -    compile fileTree(dir: 'libs', include: ['*.jar'])
    -}
    -
    - -

    Each of these dependencies is described below. The build system adds all the -compile dependencies to the compilation classpath and includes them in the final -package.

    - -

    Module dependencies

    - -

    The app module depends on the lib module, because -MainActivity launches LibActivity1 as described in -Open an Activity from a Library Module.

    - -

    compile project(":lib") declares a dependency on the lib -module of BuildSystemExample. When you build the app module, -the build system assembles and includes the lib module.

    - -

    Remote binary dependencies

    - -

    The app and lib modules both use the ActionBarActivity -class from the Android Support Library, so these modules depend on it.

    - -

    compile 'com.android.support:appcompat-v7:19.0.1' declares a dependency on -version 19.0.1 of the Android Support Library by specifying its Maven coordinates. The Android Support -Library is available in the Android Repository package of the Android SDK. If your -SDK installation does not have this package, download and install it using the SDK Manager.

    - -Android Studio configures -projects to use the Maven Central Repository by default. (This configuration is included in the -top-level build file for the project.)

    - -

    Local binary dependencies

    - -

    The modules in BuildSystemExample do not use any binary dependencies from the -local file system. If you have modules that require local binary dependencies, copy the JAR -files for these dependencies into <moduleName>/libs inside your project.

    - -

    compile fileTree(dir: 'libs', include: ['*.jar']) tells the build system that any -JAR file inside app/libs is a dependency and should be included in the compilation -classpath and in the final package.

    - -

    For more information about dependencies in Gradle, see -Dependency -Management Basics in the Gradle User Guide.

    - -

    Run ProGuard

    - -

    The build system can run -ProGuard to obfuscate your -classes during the build process. In BuildSystemExample, modify the build file for -the app module to run ProGuard for the release build:

    - -
    -...
    -android {
    -    ...
    -    buildTypes {
    -        release {
    -            runProguard true
    -            proguardFiles getDefaultProguardFile('proguard-android.txt'), \
    -                          'proguard-rules.txt'
    -        }
    -    }
    -}
    -...
    -
    - -

    getDefaultProguardFile('proguard-android.txt') obtains the default ProGuard -settings from the Android SDK installation. Android Studio adds the module-specific rules file -proguard-rules.txt at the root of the module, where you can add custom ProGuard -rules.

    - -

    Configure signing settings

    - -

    The debug and the release versions of the app differ on whether the application can be -debugged on secure devices and on how the APK is signed. The build system signs the debug -version with a default key and certificate using known credentials to avoid a password prompt at -build time. The build system does not sign the release version unless you explicitly define a -signing configuration for this build.

    - -

    To sign the release version of BuildSystemExample:

    - -
      -
    1. Copy your release key to the root directory of the app module - (app/).

      -

      This ensures that the build system can find your key when you move the location of your - project or when you build the project on a different machine. If you do not have a release - key, you can generate one as described in - Signing your Applications.

      -
    2. -
    3. Add the signing configuration to the build file for the app module:

      -

      -...
      -android {
      -    ...
      -    defaultConfig { ... }
      -    signingConfigs {
      -        release {
      -            storeFile file("myreleasekey.keystore")
      -            storePassword "password"
      -            keyAlias "MyReleaseKey"
      -            keyPassword "password"
      -        }
      -    }
      -    buildTypes {
      -        release {
      -            ...
      -            signingConfig signingConfigs.release
      -        }
      -    }
      -}
      -...
      -

      -
    4. -
    5. Invoke the assembleRelease build task from Android Studio or from the command - line.
    6. -
    - -

    The package in app/build/apk/app-release.apk is now signed with your release key.

    - -

    Note: Including the passwords for your release key and keystore -inside the build file is not a good security practice. Alternatively, you can configure the build -file to obtain these passwords from environment variables or have the build process prompt you -for these passwords.

    - -

    To obtain these passwords from environment variables:

    - -
    -storePassword System.getenv("KSTOREPWD")
    -keyPassword System.getenv("KEYPWD")
    -
    - -

    To have the build process prompt you for these passwords if you are invoking the build from -the command line:

    - -
    -storePassword System.console().readLine("\nKeystore password: ")
    -keyPassword System.console().readLIne("\nKey password: ")
    -
    - -

    Work with build variants

    - -

    This section describes how the build system can help you create different versions of the same -application from a single project. This is useful when you have a demo version and a paid version -of your app, or if you want to distribute multiple APKs for different device configurations on -Google Play.

    - -

    The build system uses product flavors to create different versions of your app. Each -version of your app can have different features or device requirements. The build system generates -a different APK for each version of your app.

    - -

    Build variants

    - -

    Each version of your app is represented in the build system by a build variant. -Build variants are combinations of build types and product flavor configurations. Android Studio -projects define two build types (debug and release) and no product flavors by -default. These projects consists of two build variants, debug and release, and the build system -generates an APK for each.

    - -

    The exercise in this section defines two product flavors, demo and full. -This generates four build variants:

    - -
      -
    • demo-debug
    • -
    • demo-release
    • -
    • full-debug
    • -
    • full-release
    • -
    - -

    In this case the build system creates four APKs, one for each of these build variants.

    - -

    Some projects have complex combinations of features along more than one dimension, but they -still represent the same app. For example, in addition to having a demo and a full version of the -app, some games may contain binaries specific to a particular CPU/ABI. The flexibility of -the build system makes it possible to generate the following build variants for such a project:

    - -
      -
    • x86-demo-debug
    • -
    • x86-demo-release
    • -
    • x86-full-debug
    • -
    • x86-full-release
    • -
    • arm-demo-debug
    • -
    • arm-demo-release
    • -
    • arm-full-debug
    • -
    • arm-full-release
    • -
    • mips-demo-debug
    • -
    • mips-demo-release
    • -
    • mips-full-debug
    • -
    • mips-full-release
    • -
    - -

    This project would consist of two build types (debug and release) -and two dimensions of product flavors, one for app type (demo or full) and one for -CPU/ABI (x86, ARM, or MIPS). For more information on flavor dimensions, see the -Gradle Plugin User -Guide.

    - -

    Source directories

    - -

    To build each version of your app, the build system combines source code and -resources from:

    - -
      -
    • src/main/ - the main source directory (common to all variants)
    • -
    • src/<buildType>/ - the build type source directory
    • -
    • src/<flavorName>/ - the flavor source directory
    • -
    - -

    The number of flavor source directories used in the build depends on the flavor configuration -of your project:

    -
      -
    • For projects that do not define any flavors, the build system does not use any - flavor source directories. For example, to generate the release build variant - in projects with no flavors, the build system uses:

      -
        -
      • src/main/
      • -
      • src/release/ (build type)
      • -
      -
    • -
    • For projects that define a set of flavors, the build system uses one flavor source - directory. For example, to generate the full-debug build variant in the example - in this section, the build system uses:

      -
        -
      • src/main/
      • -
      • src/debug/ (build type)
      • -
      • src/full/ (flavor)
      • -
      -
    • -
    • For projects that use flavor dimensions, the build system uses one flavor source - directory per dimension. For example, to generate the arm-demo-release build - variant in the previous example, the build system uses:

      -
        -
      • src/main/
      • -
      • src/release/ (build type)
      • -
      • src/demo/ (flavor - app type dimension)
      • -
      • src/arm/ (flavor - ABI dimension)
      • -
      -
    • -
    - -

    Note: The build type and flavor source directories are optional, -and Android Studio does not create these directories for you. The build system does not use them -if they are not present.

    - -

    The source code from these directories is used together to generate the output for a build -variant. You can have classes with the same name in different directories as long as those -directories are not used together in the same variant. The exercise in this section shows you -how to create different versions of the same activity class in different variants.

    - -

    The build system merges all the manifests into a single manifest, so each build variant -can define different components or permissions in the final manifest.

    - -

    The build system merges all the resources from the all the source directories. If different -folders contain resources with the same name for a build variant, the priority order is the -following: build type resources override those from the product flavor, which override the -resources in the main source directory.

    - -

    Note: Build variants enable you to reuse common activities, -application logic, and resources across different versions of your app.

    - -

    Product flavors in BuildSystemExample

    - -

    To create different versions of your app:

    - -
      -
    1. Define product flavors in the build file.
    2. -
    3. Create additional source directories for each flavor.
    4. -
    5. Add the flavor-specific sources to your project.
    6. -
    - -

    The rest of this section walks you through these steps in detail using the -BuildSystemExample project. You create two flavors of the -BuildSystemExample app, a demo flavor and a full flavor. Both flavors share -MainActivity, to which you add a new button to launch a new activity, -SecondActivity. This new activity is different for each flavor, so you simulate a -situation where the new activity would have more features in the full flavor than in the demo -flavor. At the end of the exercise, you end up with two different APKs, one for each flavor.

    - -

    Define product flavors in the build file

    - -

    To define two product flavors, edit the build file for the app module to add the following -configuration:

    - -
    -...
    -android {
    -    ...
    -    defaultConfig { ... }
    -    signingConfigs { ... }
    -    buildTypes { ... }
    -    productFlavors {
    -        demo {
    -            applicationId "com.buildsystemexample.app.demo"
    -            versionName "1.0-demo"
    -        }
    -        full {
    -            applicationId "com.buildsystemexample.app.full"
    -            versionName "1.0-full"
    -        }
    -    }
    -}
    -...
    -
    - -

    The product flavor definitions support the same properties as the defaultConfig -element. The base configuration for all flavors is specified in defaultConfig, and each -flavor can override any value. The build file above uses the applicationId property -to assign a different package name to each flavor: since each flavor definition creates a -different app, they each need a distinct package name.

    - -

    Note: To distribute your app using -Multiple APK Support in -Google Play, assign the same package name to all variants and give each variant a different -versionCode. To distribute different variants of your app as separate apps in Google -Play, assign a different package name to each variant.

    - -

    Add additional source directories for each flavor

    - -

    Now you create source folders and add a SecondActivity to each flavor. To create -the source directory structure for the demo flavor:

    - -
      -
    1. On the Project panel, expand BuildSystemExample, and then expand - the app directory.
    2. -
    3. Right click the src directory under app and select - New > Directory.
    4. -
    5. Enter "demo" as the name of the new directory and click OK.
    6. -
    7. Similarly, create the following directories:

      -
        -
      • app/src/demo/java
      • -
      • app/src/demo/res
      • -
      • app/src/demo/res/layout
      • -
      • app/src/demo/res/values
      • -
      -
    8. -
    - -

    The resulting directory structure looks like figure 5.

    - - -

    Figure 5. New source directories for the demo flavor.

    - -

    Add a new activity to each flavor

    - -

    To add SecondActivity to the demo flavor:

    - -
      -
    1. On the Project panel, right click on the app module and select - New > Activity.
    2. -
    3. Select Blank Activity and click Next.
    4. -
    5. Enter "SecondActivity" as the activity name.
    6. -
    7. Enter "com.buildsystemexample.app" as the package name and click - Finish.
    8. -
    9. Right click on the java directory under app/src/demo and select - New > Package.
    10. -
    11. Enter "com.buildsystemexample.app" as the package name and click OK.
    12. -
    13. Drag SecondActivity and drop it under the new package in - app/src/demo/java.
    14. -
    15. Accept the default values and click Refactor.
    16. -
    - -

    To add the layout for SecondActivity and a strings resource to the demo flavor:

    - -
      -
    1. Drag activity_second.xml from app/src/main/res/layout and drop it - inside app/src/demo/res/layout.
    2. -
    3. Accept the default values on the window that appears and click OK.
    4. -
    5. Copy strings.xml from app/src/main/res into - app/src/demo/res.
    6. -
    7. Replace the contents of the new copy of strings.xml with the - following:

      -

      -<?xml version="1.0" encoding="utf-8"?>
      -<resources>
      -    <string name="hello_world">Demo version only.</string>
      -</resources>
      -

      -
    8. -
    - -

    Now you add source folders and SecondActivity to the full flavor by making a copy -of the demo flavor:

    - -
      -
    1. On the Project panel, right click on the demo directory under - app/src and select Copy.
    2. -
    3. Right-click on the src/ directory under app/ and select - Paste.
    4. -
    5. On the window that appears, enter "full" as the new name and click OK.
    6. -
    7. Replace the contents of strings.xml under src/full/res/values - with the following:

      -

      -<?xml version="1.0" encoding="utf-8"?>
      -<resources>
      -    <string name="hello_world">This is the full version!</string>
      -</resources>
      -

      -
    8. -
    - -

    Note: From this point on, you could develop -SecondActivity independently inside each -flavor. You can add more features to this activity in the full flavor.

    - -

    To work on files from a particular flavor, click on Build Variants on the left -of the IDE window and select the flavor you want to modify in the Build Variants panel, -as shown in figure 5. Android Studio may show errors in source files from flavors other than the -one selected in the Build Variants panel, but this does not affect the outcome of the -build.

    - - -

    Figure 6. The Build Variants panel.

    - -

    Launch a flavor-specific activity from the main activity

    - -

    Since the flavor-specific activity (SecondActivity) has the same package name and -activity name in both flavors, you can launch it from the main activity, which is common to all -flavors. To modify the main activity:

    - -
      -
    1. Edit activity_main.xml and add a new button to - MainActivity:

      -

      -<LinearLayout ...>
      -    ...
      -    <Button
      -        android:id="@+id/button2"
      -        android:layout_width="wrap_content"
      -        android:layout_height="wrap_content"
      -        android:text="@string/button2"
      -        android:onClick="onButton2Clicked"/>
      -</LinearLayout>
      -

      -
    2. -
    3. Click on the areas marked in red in the layout file and press Alt+ - Enter. Follow the suggestions from Android Studio to add a new string - resource with value “Open Second Activity” and an onButton2Clicked method to - MainActivity.
    4. -
    5. Add the following code to the onButton2Clicked method of - MainActivity:

      -

      -public void onButton2Clicked(View view) {
      -    Intent intent = new Intent(this, SecondActivity.class);
      -    startActivity(intent);
      -}
      -

      -
    6. -
    7. Edit the app's manifest to include a reference to SecondActivity:

      -

      -<manifest ...>
      -    <application ...>
      -        ...
      -        <activity
      -            android:name="com.buildsystemexample.app.SecondActivity"
      -            android:label="@string/title_activity_second" >
      -        </activity>
      -    </application>
      -</manifest>
      -

      -
    8. -
    - -

    Build output

    - -

    The BuildSystemExample app is now complete. To build it, invoke the -assemble task from Android Studio or from the command line.

    - -

    The build generates an APK for each build variant: +

    The build generates an APK for each build variant in the app/build folder: the app/build/apk/ directory contains packages named app-<flavor>-<buildtype>.apk; for example, app-full-release.apk and app-demo-debug.apk.

    -

    Reference

    - -

    The build system is very flexible and has more features than those described here. For a -complete reference, see the -Android Plugin for Gradle -User Guide.

    diff --git a/docs/html/tools/building/building-cmdline-ant.jd b/docs/html/tools/building/building-cmdline-ant.jd new file mode 100644 index 0000000000000..51158de8afa09 --- /dev/null +++ b/docs/html/tools/building/building-cmdline-ant.jd @@ -0,0 +1,381 @@ +page.title=Building and Running from the Command Line +parent.title=Building and Running +parent.link=index.html +@jd:body + + + +

    There are two ways to build your application using the Ant build script: one for + testing/debugging your application — debug mode — and one for building your + final package for release — release mode. Regardless of which way you build your application, + it must be signed before it can install on an emulator or device—with a debug key when building + in debug mode and with your own private key when building in release mode.

    + +

    Whether you're building in debug mode or release mode, you need to use the Ant tool to compile + and build your project. This will create the .apk file that you can install on an emulator or device. + When you build in debug mode, the .apk file is automatically signed by the SDK tools with + a debug key, so it's instantly ready for installation onto an emulator or attached + development device. You cannot distribute an application that is signed with a debug key. + When you build in release mode, the .apk file is unsigned, so you + must manually sign it with your own private key, using Keytool and Jarsigner.

    + +

    It's important that you read and understand Signing Your Applications, particularly once + you're ready to release your application and share it with end-users. That document describes the + procedure for generating a private key and then using it to sign your .apk file. If you're just + getting started, however, you can quickly run your applications on an emulator or your own + development device by building in debug mode.

    + +

    If you don't have Ant, you can obtain it from the Apache Ant + home page. Install it and make sure it is in your executable PATH. Before calling Ant, you + need to declare the JAVA_HOME environment variable to specify the path to where the JDK is + installed.

    + +

    Note: When installing JDK on Windows, the default is to install + in the "Program Files" directory. This location will cause ant to fail, because of + the space. To fix the problem, you can specify the JAVA_HOME variable like this: +

    set JAVA_HOME=c:\Progra~1\Java\<jdkdir>
    + +

    The easiest solution, however, is to install JDK in a non-space directory, for example:

    + +
    c:\java\jdk1.7
    + +

    Building in Debug Mode

    + +

    For immediate application testing and debugging, you can build your application in debug mode + and immediately install it on an emulator. In debug mode, the build tools automatically sign your + application with a debug key and optimize the package with {@code zipalign}.

    + +

    To build in debug mode:

    + +
      +
    1. Open a command-line and navigate to the root of your project directory.
    2. +
    3. Use Ant to compile your project in debug mode: +
      +ant debug
      +
      + +

      This creates your debug .apk file inside the project bin/ directory, named + <your_project_name>-debug.apk. The file is already signed with + the debug key and has been aligned with + zipalign. +

      +
    4. +
    + +

    Each time you change a source file or resource, you must run Ant again in order to package up + the latest version of the application.

    + +

    To install and run your application on an emulator, see the following section about Running on the Emulator.

    + +

    Building in Release Mode

    + +

    When you're ready to release and distribute your application to end-users, you must build your + application in release mode. Once you have built in release mode, it's a good idea to perform + additional testing and debugging with the final .apk.

    + +

    Before you start building your application in release mode, be aware that you must sign the + resulting application package with your private key, and should then align it using the {@code + zipalign} tool. There are two approaches to building in release mode: build an unsigned package + in release mode and then manually sign and align the package, or allow the build script to sign + and align the package for you.

    + +

    Build unsigned

    + +

    If you build your application unsigned, then you will need to manually sign and align + the package.

    + +

    To build an unsigned .apk in release mode:

    + +
      +
    1. Open a command-line and navigate to the root of your project directory.
    2. + +
    3. Use Ant to compile your project in release mode: +
      +ant release
      +
      +
    4. +
    + +

    This creates your Android application .apk file inside the project bin/ + directory, named <your_project_name>-unsigned.apk.

    + +

    Note: The .apk file is unsigned at this point and can't + be installed until signed with your private key.

    + +

    Once you have created the unsigned .apk, your next step is to sign the .apk with your private + key and then align it with {@code zipalign}. To complete this procedure, read Signing Your Applications.

    + +

    When your .apk has been signed and aligned, it's ready to be distributed to end-users. + You should test the final build on different devices or AVDs to ensure that it + runs properly on different platforms.

    + +

    Build signed and aligned

    + +

    If you would like, you can configure the Android build script to automatically sign and align + your application package. To do so, you must provide the path to your keystore and the name of + your key alias in your project's {@code ant.properties} file. With this information provided, + the build script will prompt you for your keystore and alias password when you build in release + mode and produce your final application package, which will be ready for distribution.

    + +

    Caution: Due to the way Ant handles input, the password that + you enter during the build process will be visible. If you are concerned about + your keystore and alias password being visible on screen, then you may prefer to perform the + application signing manually, via Jarsigner (or a similar tool). To instead perform the signing + procedure manually, build unsigned and then continue with + Signing Your Applications.

    + +

    To specify your keystore and alias, open the project {@code ant.properties} file (found in + the root of the project directory) and add entries for {@code key.store} and {@code key.alias}. + For example:

    +
    +key.store=path/to/my.keystore
    +key.alias=mykeystore
    +
    + +

    Save your changes. Now you can build a signed .apk in release mode:

    + +
      +
    1. Open a command-line and navigate to the root of your project directory.
    2. + +
    3. Use Ant to compile your project in release mode: +
      +ant release
      +
      +
    4. + +
    5. When prompted, enter you keystore and alias passwords. + +

      Caution: As described above, your password will be + visible on the screen.

      +
    6. +
    + +

    This creates your Android application .apk file inside the project bin/ + directory, named <your_project_name>-release.apk. This .apk file has + been signed with the private key specified in {@code ant.properties} and aligned with {@code + zipalign}. It's ready for installation and distribution.

    + +

    Once built and signed in release mode

    + +

    Once you have signed your application with a private key, you can install and run it on an + emulator or device. You can + also try installing it onto a device from a web server. Simply upload the signed .apk to a web + site, then load the .apk URL in your Android web browser to download the application and begin + installation. (On your device, be sure you have enabled + Settings > Applications > Unknown sources.)

    + +

    Running on the Emulator

    + +

    Before you can run your application on the Android Emulator, you must create an AVD.

    + +

    To run your application:

    + +
      +
    1. + Open the AVD Manager and launch a virtual device + +

      From your SDK's platform-tools/ directory, execute the {@code android} tool +with the avd options:

      +
      +android avd
      +
      + +

      In the Virtual Devices view, select an AVD and click Start.

      +
    2. + +
    3. + Install your application + +

      From your SDK's tools/ directory, install the {@code .apk} on the + emulator:

      +
      +adb install <path_to_your_bin>.apk
      +
      + +

      Your .apk file (signed with either a release or debug key) is in your project {@code bin/} + directory after you build your application.

      + +

      If there is more than one emulator running, you must specify the emulator upon which to + install the application, by its serial number, with the -s option. For + example:

      +
      +adb -s emulator-5554 install path/to/your/app.apk
      +
      + +

      To see a list of available device serial numbers, execute {@code adb devices}.

      +
    4. +
    + +

    If you don't see your application on the emulator, try closing the emulator and launching the + virtual device again from the AVD Manager. Sometimes when you install an application for the + first time, it won't show up in the application launcher or be accessible by other applications. + This is because the package manager usually examines manifests completely only on emulator + startup.

    + +

    Be certain to create multiple AVDs upon which to test your application. You should have one + AVD for each platform and screen type with which your application is compatible. For instance, if + your application compiles against the Android 4.0 (API Level 14) platform, you should create an + AVD for each platform equal to and greater than 4.0 and an AVD for each screen type you support, then test your + application on each one.

    + +

    Tip: If you have only one emulator running, you can + build your application and install it on the emulator in one simple step. Navigate to the root of + your project directory and use Ant to compile the project with install mode: ant + install. This will build your application, sign it with the debug key, and install it on + the currently running emulator.

    + +

    Running on a Device

    + +

    Before you can run your application on a device, you must perform some basic setup for your + device:

    + +
      +
    • Enable USB debugging on your device. +
        +
      • On most devices running Android 3.2 or older, you can find the option under + Settings > Applications > Development.
      • +
      • On Android 4.0 and newer, it's in Settings > Developer options. +

        Note: On Android 4.2 and newer, Developer + options is hidden by default. To make it available, go + to Settings > About phone and tap Build number + seven times. Return to the previous screen to find Developer options.

        +
      • +
      +
    • + +
    • Ensure that your development computer can detect your device when connected via USB
    • +
    + +

    Read Setting up a Device for + Development for more information.

    + +

    Once your device is set up and connected via USB, navigate to your SDK's platform-tools/ + directory and install the .apk on the device:

    +
    +adb -d install path/to/your/app.apk
    +
    + +

    The {@code -d} flag specifies that you want to use the attached device (in case you also have + an emulator running).

    + +

    For more information on the tools used above, please see the following documents:

    + + + +

    Application Signing

    + +

    As you begin developing Android applications, understand that all Android applications must be + digitally signed before the system will install them on an emulator or device. There are two ways + to do this: with a debug key (for immediate testing on an emulator or development + device) or with a private key (for application distribution).

    + +

    The Android build tools help you get started by automatically signing your .apk files with a + debug key at build time. This means that you can compile your application and install it on the + emulator without having to generate your own private key. However, please note that if you intend + to publish your application, you must sign the application with your own private + key, rather than the debug key generated by the SDK tools.

    + +

    The ADT plugin helps you get started quickly by signing your .apk files with a debug key, + prior to installing them on an emulator or development device. This means that you can quickly + run your application from Eclipse without having to generate your own private key. No specific + action on your part is needed, provided ADT has access to Keytool. However, please note that if + you intend to publish your application, you must sign the application with your + own private key, rather than the debug key generated by the SDK tools.

    + +

    Please read Signing Your + Applications, which provides a thorough guide to application signing on Android and what it + means to you as an Android application developer. The document also includes a guide to exporting + and signing your application with the ADT's Export Wizard.

    + +

    Ant Command Reference

    +
    ant clean
    +
    Cleans the project. If you include the all target before clean +(ant all clean), other projects are also cleaned. For instance if you clean a +test project, the tested project is also cleaned.
    + +
    ant debug
    +
    Builds a debug package. Works on application, library, and test projects and compiles + dependencies as needed.
    + +
    ant emma debug
    +
    Builds a test project while building the tested project with instrumentation turned on. + This is used to run tests with code coverage enabled.
    + +
    ant release
    +
    Builds a release package.
    + +
    ant instrument +
    +
    Builds an instrumented debug package. This is generally called automatically when building a + test project with code coverage enabled (with the emma + target)
    + +
    ant <build_target> install
    +
    Builds and installs a package. Using install by itself fails.
    + +
    ant installd
    +
    Installs an already compiled debug package. This fails if the .apk is not + already built.
    + +
    ant installr
    +
    Installs an already compiled release package. This fails if the .apk is not + already built.
    + +
    ant installt
    +
    Installs an already compiled test package. Also installs the .apk of the + tested application. This fails if the .apk is not already built.
    + +
    ant installi
    +
    Installs an already compiled instrumented package. This is generally not used manually as + it's called when installing a test package. This fails if the .apk is not already + built.
    + +
    ant test
    +
    Runs the tests (for test projects). The tested and test .apk files must be + previously installed.
    + +
    ant debug installt test
    +
    Builds a test project and the tested project, installs both .apk files, and + runs the tests.
    + +
    ant emma debug install test
    +
    Builds a test project and the tested project, installs both .apk files, and + runs the tests with code coverage enabled.
    + diff --git a/docs/html/tools/building/building-cmdline.jd b/docs/html/tools/building/building-cmdline.jd index b65fc786bd8dc..c1a0dd2049bf0 100644 --- a/docs/html/tools/building/building-cmdline.jd +++ b/docs/html/tools/building/building-cmdline.jd @@ -18,32 +18,37 @@ parent.link=index.html
  • Running on the Emulator
  • Running on a Device
  • Application Signing
  • -
  • Ant Command Reference
  • +
  • Gradle Command Reference
  • See also

      -
    1. Managing AVDs from -the Command Line
    2. -
    3. Using the Android -Emulator
    4. -
    5. Signing Your Applications
    6. +
    7. + Build System
    8. +
    9. + Managing AVDs from the Command Line
    10. +
    11. + Using the Android Emulator
    12. +
    13. + Signing Your Applications
    -

    There are two ways to build your application using the Ant build script: one for - testing/debugging your application — debug mode — and one for building your - final package for release — release mode. Regardless of which way you build your application, - it must be signed before it can install on an emulator or device—with a debug key when building - in debug mode and with your own private key when building in release mode.

    +

    By default, there are two build types to build your application using the gradle.build settings: + one for debugging your application — debug — and one for building your + final package for release — release mode. Regardless of which way you build type + your modules use, the app must be signed before it can install on an emulator or device—with + a debug key when building in debug mode and with your own private key when building in release mode.

    -

    Whether you're building in debug mode or release mode, you need to use the Ant tool to compile - and build your project. This will create the .apk file that you can install on an emulator or device. - When you build in debug mode, the .apk file is automatically signed by the SDK tools with - a debug key, so it's instantly ready for installation onto an emulator or attached +

    Whether you're building with the debug or release build type, you need to run + and build your module. This will create the .apk file that you can install on an emulator or device. + When you build using the debug build type, the .apk file is automatically signed by the SDK tools + with a debug key based on the debuggable true setting in the module's gradle.build file, + so it's instantly ready for installation onto an emulator or attached development device. You cannot distribute an application that is signed with a debug key. - When you build in release mode, the .apk file is unsigned, so you - must manually sign it with your own private key, using Keytool and Jarsigner.

    + When you build using the release build type, the .apk file is unsigned, so you + must manually sign it with your own private key, using Keytool and Jarsigner settings in the + module's gradle.build file.

    It's important that you read and understand Signing Your Applications, particularly once @@ -52,7 +57,7 @@ Emulator getting started, however, you can quickly run your applications on an emulator or your own development device by building in debug mode.

    -

    If you don't have Ant, you can obtain it from the Apache Ant +

    If you don't have Gradle, you can obtain it from the Gradle home page. Install it and make sure it is in your executable PATH. Before calling Ant, you need to declare the JAVA_HOME environment variable to specify the path to where the JDK is installed.

    @@ -64,7 +69,7 @@ Emulator

    The easiest solution, however, is to install JDK in a non-space directory, for example:

    -
    c:\java\jdk1.6.0_02
    +
    c:\java\jdk1.7

    Building in Debug Mode

    @@ -72,28 +77,46 @@ Emulator and immediately install it on an emulator. In debug mode, the build tools automatically sign your application with a debug key and optimize the package with {@code zipalign}.

    -

    To build in debug mode:

    +

    To build in debug mode, open a command-line and navigate to the root of your project directory. + Use Gradle to build your project in debug mode, invoke the assembleDebug build task + using the Gradle wrapper script (gradlew assembleRelease). -

      -
    1. Open a command-line and navigate to the root of your project directory.
    2. -
    3. Use Ant to compile your project in debug mode: -
      -ant debug
      +  

      This creates your debug .apk file inside the module build/ + directory, named <your_module_name>-debug.apk. The file is already signed + with the debug key and has been aligned with + zipalign.

      + +

      On Windows platforms, type this command:

      + +
      +> gradlew.bat assembleDebug
       
      -

      This creates your debug .apk file inside the project bin/ directory, named - <your_project_name>-debug.apk. The file is already signed with - the debug key and has been aligned with - zipalign. -

      -
    4. -
    +

    On Mac OS and Linux platforms, type these commands:

    -

    Each time you change a source file or resource, you must run Ant again in order to package up +

    +$ chmod +x gradlew
    +$ ./gradlew assembleDebug
    +
    + +

    The first command (chmod) adds the execution permission to the Gradle wrapper + script and is only necessary the first time you build this project from the command line.

    + +

    After you build the project, the output APK for the app module is located in + app/build/outputs/apk/, and the output AAR for any lib modules is located in + lib/build/outputs/libs/.

    + +

    To see a list of all available build tasks for your project, type this command:

    + +
    +$ ./gradlew tasks
    +
    + +

    Each time you change a source file or resource, you must run Gradle again in order to package up the latest version of the application.

    -

    To install and run your application on an emulator, see the following section about Running on the Emulator.

    +

    To install and run your application on an emulator, see the section about Running on the Emulator.

    Building in Release Mode

    @@ -112,20 +135,24 @@ ant debug

    If you build your application unsigned, then you will need to manually sign and align the package.

    -

    To build an unsigned .apk in release mode:

    +

    To build an unsigned .apk in release mode, open a command-line and navigate to the + root of your module directory. Invoke the assembleRelease build task. -

      -
    1. Open a command-line and navigate to the root of your project directory.
    2. +

      On Windows platforms, type this command:

      -
    3. Use Ant to compile your project in release mode: -
      -ant release
      +
      +> gradlew.bat assembleRelease
       
      -
    4. -
    + +

    On Mac OS and Linux platforms, type this command:

    + +
    +$ ./gradlew assembleRelease
    +
    +

    This creates your Android application .apk file inside the project bin/ - directory, named <your_project_name>-unsigned.apk.

    + directory, named <your_module_name>-unsigned.apk.

    Note: The .apk file is unsigned at this point and can't be installed until signed with your private key.

    @@ -142,34 +169,47 @@ ant release

    If you would like, you can configure the Android build script to automatically sign and align your application package. To do so, you must provide the path to your keystore and the name of - your key alias in your project's {@code ant.properties} file. With this information provided, - the build script will prompt you for your keystore and alias password when you build in release - mode and produce your final application package, which will be ready for distribution.

    + your key alias in your modules's build.gradle file. With this information provided, + the build will prompt you for your keystore and alias password when you build using the release + build type and produce your final application package, which will be ready for distribution.

    -

    Caution: Due to the way Ant handles input, the password that - you enter during the build process will be visible. If you are concerned about - your keystore and alias password being visible on screen, then you may prefer to perform the - application signing manually, via Jarsigner (or a similar tool). To instead perform the signing - procedure manually, build unsigned and then continue with - Signing Your Applications.

    - -

    To specify your keystore and alias, open the project {@code ant.properties} file (found in - the root of the project directory) and add entries for {@code key.store} and {@code key.alias}. +

    To specify your keystore and alias, open the module gradle.build file (found in + the root of the module directory) and add entries for {@code storeFile}, {@code storePassword}, + {@code keyAlias} and {@code keyPassword}. For example:

    -key.store=path/to/my.keystore
    -key.alias=mykeystore
    +storeFile file("myreleasekey.keystore")
    +keyAlias "MyReleaseKey"
     

    Save your changes. Now you can build a signed .apk in release mode:

      -
    1. Open a command-line and navigate to the root of your project directory.
    2. +
    3. Open a command-line and navigate to the root of your module directory.
    4. -
    5. Use Ant to compile your project in release mode: -
      -ant release
      -
      +
    6. Edit the gradle.build file to build your project in release mode: +

      +...
      +android {
      +    ...
      +    defaultConfig { ... }
      +    signingConfigs {
      +        release {
      +            storeFile file("myreleasekey.keystore")
      +            storePassword "password"
      +            keyAlias "MyReleaseKey"
      +            keyPassword "password"
      +        }
      +    }
      +    buildTypes {
      +        release {
      +            ...
      +            signingConfig signingConfigs.release
      +        }
      +    }
      +}
      +...
      +

    7. When prompted, enter you keystore and alias passwords. @@ -179,9 +219,9 @@ ant release
    -

    This creates your Android application .apk file inside the project bin/ - directory, named <your_project_name>-release.apk. This .apk file has - been signed with the private key specified in {@code ant.properties} and aligned with {@code +

    This creates your Android application .apk file inside the module build/ + directory, named <your_module_name>-release.apk. This .apk file has + been signed with the private key specified in gradle.build file and aligned with {@code zipalign}. It's ready for installation and distribution.

    Once built and signed in release mode

    @@ -222,7 +262,7 @@ android avd adb install <path_to_your_bin>.apk -

    Your .apk file (signed with either a release or debug key) is in your project {@code bin/} +

    Your .apk file (signed with either a release or debug key) is in your module {@code build/} directory after you build your application.

    If there is more than one emulator running, you must specify the emulator upon which to @@ -307,75 +347,25 @@ adb -d install path/to/your/app.apk device) or with a private key (for application distribution).

    The Android build tools help you get started by automatically signing your .apk files with a - debug key at build time. This means that you can compile your application and install it on the + debug key at build time. This means that you can build your application and install it on the emulator without having to generate your own private key. However, please note that if you intend to publish your application, you must sign the application with your own private key, rather than the debug key generated by the SDK tools.

    -

    The ADT plugin helps you get started quickly by signing your .apk files with a debug key, +

    Android Studio helps you get started quickly by signing your .apk files with a debug key, prior to installing them on an emulator or development device. This means that you can quickly - run your application from Eclipse without having to generate your own private key. No specific - action on your part is needed, provided ADT has access to Keytool. However, please note that if - you intend to publish your application, you must sign the application with your - own private key, rather than the debug key generated by the SDK tools.

    + run your application from Android Studio without having to generate your own private key. No + specific action on your part is needed, provided ADT has access to Keytool. However, please note + that if you intend to publish your application, you must sign the application + with your own private key, rather than the debug key generated by the SDK tools.

    Please read Signing Your Applications, which provides a thorough guide to application signing on Android and what it - means to you as an Android application developer. The document also includes a guide to exporting - and signing your application with the ADT's Export Wizard.

    + means to you as an Android application developer. The document also includes a guide to publishing + and signing your application.

    -

    Ant Command Reference

    -
    ant clean
    -
    Cleans the project. If you include the all target before clean -(ant all clean), other projects are also cleaned. For instance if you clean a -test project, the tested project is also cleaned.
    +

    Gradle Build Language Reference

    -
    ant debug
    -
    Builds a debug package. Works on application, library, and test projects and compiles - dependencies as needed.
    - -
    ant emma debug
    -
    Builds a test project while building the tested project with instrumentation turned on. - This is used to run tests with code coverage enabled.
    - -
    ant release
    -
    Builds a release package.
    - -
    ant instrument -
    -
    Builds an instrumented debug package. This is generally called automatically when building a - test project with code coverage enabled (with the emma - target)
    - -
    ant <build_target> install
    -
    Builds and installs a package. Using install by itself fails.
    - -
    ant installd
    -
    Installs an already compiled debug package. This fails if the .apk is not - already built.
    - -
    ant installr
    -
    Installs an already compiled release package. This fails if the .apk is not - already built.
    - -
    ant installt
    -
    Installs an already compiled test package. Also installs the .apk of the - tested application. This fails if the .apk is not already built.
    - -
    ant installi
    -
    Installs an already compiled instrumented package. This is generally not used manually as - it's called when installing a test package. This fails if the .apk is not already - built.
    - -
    ant test
    -
    Runs the tests (for test projects). The tested and test .apk files must be - previously installed.
    - -
    ant debug installt test
    -
    Builds a test project and the tested project, installs both .apk files, and - runs the tests.
    - -
    ant emma debug install test
    -
    Builds a test project and the tested project, installs both .apk files, and - runs the tests with code coverage enabled.
    +

    See the Gradle Build Language Reference for a complete list and description of the Gradle Domain Specific Language (DSL) and declarative +language elements.

    diff --git a/docs/html/tools/building/building-studio.jd b/docs/html/tools/building/building-studio.jd new file mode 100644 index 0000000000000..cb8cc50e55c18 --- /dev/null +++ b/docs/html/tools/building/building-studio.jd @@ -0,0 +1,256 @@ +page.title=Building and Running from Android Studio +parent.title=Building and Running +parent.link=index.html +@jd:body + + + + +

    This document shows you how to use Android Studio to build an application .apk for +testing or release and how to run your application on an emulator or a real device.

    + + +

    Build your Project in Android Studio

    + +

    To build the project on Android Studio, click Build and select +Make Project. The status bar at the bottom of the window shows the current +progress of the build:

    + +

    Gradle: Executing tasks: [:app:assembleDebug, :lib:bundleDebug]

    + +

    Click on the bottom +right part of the window to show the Gradle Console, as shown in figure 2.

    + + +

    Figure 2. The Gradle Console in Android Studio.

    + +

    The Gradle Console shows the build tasks and subtasks that the build system runs for +Android Studio. If the build fails, you can find more details on the console. To hide the Gradle +Console, click again.

    + +

    If your project uses product flavors, Android Studio invokes the task for the +selected build variant. For more information, see the +Build System guide.

    + +

    To view the list of all available build tasks in Android Studio, click Gradle +on the right side of the IDE window. The Gradle tasks panel appears as shown in +figure 3. Double-click any build task to run it in Android Studio. To hide the Gradle tasks +panel, click Gradle again.

    + + +

    Figure 3. The list of build tasks in Android Studio.

    + +

    Build a release version

    + +

    You can now build the release version of your application for distribution. To build it from Android +Studio:

    + +
      +
    1. Click Gradle on the right side of the IDE window.
    2. +
    3. On the All tasks section of the sidebar that appears, expand + BuildSystemExample.
    4. +
    5. Expand :app and double-click assembleRelease.
    6. +
    + +

    You can use this procedure to invoke any build task from Android Studio.

    + +

    The build generates an APK for each build variant: +the app/build/apk/ directory contains packages named +app-<flavor>-<buildtype>.apk; for example, app-full-release.apk and +app-demo-debug.apk.

    + + +

    For more build system information, see +Build System.

    + + +

    Running your app

    + +

    This section shows you how to run your application on an emulator or a real device + from Android Studio—all of which is done using the debug version of your application. + For more information about how to sign your application with a private key for release, see + Signing Your Applications

    + + +

    Creating a Run Configuration

    + +

    The run configuration specifies the module to run, package to deploy, Activity to start, + target device, emulator settings, and Logcat options. Run configuration can be set at the project, + default, and module levels. When you first run a module as an Android Application, + Android Studio will automatically create a run configuration. The default run + configuration will launch the default project Activity and use automatic target mode for device + selection (with no preferred AVD). If the default settings don't suit your project or module, you + can customize the run configuration or even create a new one.

    + +

    To create or modify a run configuration, see the IntelliJ documentation on + + Run/Debug configurations.

    + +

    The following steps highlight the important things you need to do for an Android project:

    + +
      +
    1. Open Edit Configurations from the Run Menu.
    2. + +
    3. Expand the Android Application item and create a new configuration or open + an existing one.
    4. + +
    5. With the Run Configuration selected, adjust your desired run configuration settings: +
        +
      • In the General tab, specify the Module settings to launch. In Target tab, consider whether + you'd like to use Manual or Automatic mode when selecting an AVD to run your application. See + the following section on Automatic and manual target modes). +
      • +
      • In the Emulator tab, specify any emulator options to the Additional Emulator Command Line + Options field. For example, you could add -scale 96dpi to scale the AVD's screen + to an accurate size, based on the dpi of your computer monitor. For a full list of emulator + options, see the Android + Emulator document.

        +
      • +
      • In the Logcat tab, set the LogCat options for the application.
      • +
      +
    6. +
    + + +

    Automatic and manual target modes

    + +

    By default, a run configuration uses the automatic target mode in order to + select an AVD. In this mode, Android Studio will select an AVD for the application in the following + manner:

    + +
      +
    1. If there's a device or emulator already running and its AVD configuration meets the + requirements of the application's build target, the application is installed and run upon + it.
    2. + +
    3. If there's more than one device or emulator running, each of which meets the requirements + of the build target, a device chooser is shown to let you select which device to use.
    4. + +
    5. If there are no devices or emulators running that meet the requirements of the build + target, Android Studio looks at the available AVDs. If there is an AVD that matches the build + target of the project, Android Studio chooses that AVD. If the AVD versions are newer than the + build target of the project, Android Studio chooses the oldest possible version of an AVD that + meets the project or module build target requirement.
    6. + +
    7. If there are no suitable AVDs, the application is not installed and a console error warning + tells you that there is no existing AVD that meets the build target requirements.
    8. +
    + +

    However, if a "preferred" AVD is selected in the run configuration, then the application will + always be deployed to that AVD. If it's not already running, then a new emulator will be + launched.

    + +

    If your run configuration uses manual mode, then the "device chooser" is + presented every time that your application is run, so that you can select which AVD to use.

    + + + +

    Running on the emulator

    + +

    Before you can run your application on the Android Emulator, you verify the default AVD or + create an AVD.

    + +

    To run (or debug) your application, select Run > Run (or + Run > debug) from the Android Studio menu bar. Android Studio + automatically creates a default run configuration for the project. Android Studio will then perform + the following:

    + +
      +
    1. Compile the project (if there have been changes since the last build).
    2. + +
    3. Create a default run configuration (if one does not already exist for the project).
    4. + +
    5. Install and start the application on an emulator (or device), based on the Deployment + Target defined by the run configuration. + +

      By default, Android run configurations use an "automatic target" mode for selecting a + device target. For information on how automatic target mode selects a deployment target, see + Automatic and manual target modes above.

      +
    6. +
    + +

    If you run the application with Debug, the Choose a Device option + appears so you can select an attached device or emulator. Once the device or emulator is selected, + Android Studio opens the Debug console and starts the application's main activity. Otherwise, if + you run the application with the normal Run command, Android Studio installs the application on the + device and launches the main activity.

    + +

    To set or change the run configuration used for your project or module, select + Run > Edit Configurations. See the section below about + Creating a Run Configuration for more information.

    + +

    Be certain to create multiple AVDs upon which to test your application. You should have one + AVD for each platform and screen type with which your application is compatible. For instance, if + your application compiles against the Android 4.0 (API Level 14) platform, you should create an + AVD for each platform equal to and greater than 4.0 and an AVD for each screen type you support, then test your + application on each one.

    + +

    Running on a device

    + +

    Before you can run your application on a device, you must perform some basic setup for your + device:

    + +
      +
    • Ensure that your application is debuggable by setting the + android:debuggable attribute of the <application> + element to true in the build.gradle file.
    • + +
    • Enable USB debugging on your device. +
        +
      • On most devices running Android 3.2 or older, you can find the option under + Settings > Applications > Development.
      • +
      • On Android 4.0 and newer, it's in Settings > Developer options. +

        Note: On Android 4.2 and newer, Developer + options is hidden by default. To make it available, go + to Settings > About phone and tap Build number + seven times. Return to the previous screen to find Developer options.

        +
      • +
      +
    • + +
    • Ensure that your development computer can detect your device when connected via USB
    • +
    + +

    Read Using Hardware Devices + for more information.

    + +

    Once set up and your device is connected via USB, install your application on the device by + selecting Run > Run (or Run > + Debug) from the Android Studio menu bar.

    + + diff --git a/docs/html/tools/building/configuring-gradle.jd b/docs/html/tools/building/configuring-gradle.jd new file mode 100644 index 0000000000000..2e15473b51eb4 --- /dev/null +++ b/docs/html/tools/building/configuring-gradle.jd @@ -0,0 +1,478 @@ +page.title=Configuring Gradle Builds + +@jd:body + + + + +

    This section builds on the +Build System Overview and +Build and Running from Android Studio +to show you how to use build variants based on product flavors and build types.

    + + +

    Build Configuration Basics

    + +

    Android Studio projects contain a top-level build file and a build file for each module. The +build files are called build.gradle, and they are plain text files that use +Groovy syntax to configure the build with the elements +provided by the Android plugin for Gradle. In most cases, you only need to edit the build files +at the module level. For example, the build file for the app module in the +BuildSystemExample project looks like this:

    + +
    +apply plugin: 'android'
    +
    +android {
    +    compileSdkVersion 19
    +    buildToolsVersion "19.0.0"
    +
    +    defaultConfig {
    +        minSdkVersion 8
    +        targetSdkVersion 19
    +        versionCode 1
    +        versionName "1.0"
    +    }
    +    buildTypes {
    +        release {
    +            minifyEnabled true
    +            proguardFiles getDefaultProguardFile('proguard-android.txt'), \
    +            'proguard-rules.txt'
    +        }
    +    }
    +}
    +
    +dependencies {
    +    compile project(":lib")
    +    compile 'com.android.support:appcompat-v7:19.0.1'
    +    compile fileTree(dir: 'libs', include: ['*.jar'])
    +}
    +
    + +

    apply plugin: 'android' applies the Android plugin for Gradle to this build. +This adds Android-specific build tasks to the top-level build tasks and makes the +android {...} element available to specify Android-specific build options.

    + +

    android {...} configures all the Android-specific build options:

    + +
      +
    • The compileSdkVersion property specifies the compilation target.
    • +
    • The buildToolsVersion property specifies what version of the build tools + to use. To install several versions of the build tools, use the SDK Manager.

      +

      Note: Always use a build tools version whose major + revision number is higher or equal to that of your compilation target and target SDK.

      +
    • +
    • The defaultConfig element configures core settings and + entries in the manifest file (AndroidManifest.xml) dynamically from the + build system. The values in defaultConfig override those in the manifest + file.

      +

      The configuration specified in the defaultConfig element applies + to all build variants, unless the configuration for a build variant overrides some + of these values.

      +
    • +
    • The buildTypes element controls how to build and package your app. + By default, the build system defines two build types: debug and + release. The debug build type includes debugging symbols and is signed with + the debug key. The release build type is not signed by default. + In this example the build file configures the release version to use + ProGuard.
    • +
    + +

    The dependencies element is outside and after the android element. +This element declares the dependencies for this module. Dependencies are covered in the following +sections.

    + +

    Note: When you make changes to the build files in your project, +Android Studio requires a project sync to import the build configuration changes. Click +Sync Now on the yellow notification bar that appears for Android Studio +to import the changes.

    + + +

    Figure 1. Sync the project in Android Studio.

    + +

    Declare dependencies

    + +

    The app module in this example declares three +dependencies:

    + +
    +...
    +dependencies {
    +    // Module dependency
    +    compile project(":lib")
    +
    +    // Remote binary dependency
    +    compile 'com.android.support:appcompat-v7:19.0.1'
    +
    +    // Local binary dependency
    +    compile fileTree(dir: 'libs', include: ['*.jar'])
    +}
    +
    + +

    Each of these dependencies is described below. The build system adds all the +compile dependencies to the compilation classpath and includes them in the final +package.

    + +

    Module dependencies

    + +

    The app module depends on the lib module, because +MainActivity launches LibActivity1 as described in +Open an Activity from a Library Module.

    + +

    compile project(":lib") declares a dependency on the lib +module of BuildSystemExample. When you build the app module, +the build system assembles and includes the lib module.

    + +

    Remote binary dependencies

    + +

    The app and lib modules both use the ActionBarActivity +class from the Android Support Library, so these modules depend on it.

    + +

    compile 'com.android.support:appcompat-v7:19.0.1' declares a dependency on +version 19.0.1 of the Android Support Library by specifying its Maven coordinates. The Android Support +Library is available in the Android Repository package of the Android SDK. If your +SDK installation does not have this package, download and install it using the SDK Manager.

    + +Android Studio configures projects to use the Maven Central Repository by default. (This +configuration is included in the top-level build file for the project.)

    + +

    Local binary dependencies

    + +

    Some modules do not use any binary dependencies from the +local file system. If you have modules that require local binary dependencies, copy the JAR +files for these dependencies into <moduleName>/libs inside your project.

    + +

    compile fileTree(dir: 'libs', include: ['*.jar']) tells the build system that any +JAR file inside app/libs is a dependency and should be included in the compilation +classpath and in the final package.

    + +

    For more information about dependencies in Gradle, see +Dependency +Management Basics in the Gradle User Guide.

    + +

    Run ProGuard

    + +

    The build system can run +ProGuard to obfuscate your +classes during the build process. In BuildSystemExample, modify the build file for +the app module to run ProGuard for the release build:

    + +
    +...
    +android {
    +    ...
    +    buildTypes {
    +        release {
    +            minifyEnabled true
    +            proguardFiles getDefaultProguardFile('proguard-android.txt'), \
    +                          'proguard-rules.txt'
    +        }
    +    }
    +}
    +...
    +
    + +

    getDefaultProguardFile('proguard-android.txt') obtains the default ProGuard +settings from the Android SDK installation. Android Studio adds the module-specific rules file +proguard-rules.txt at the root of the module, where you can add custom ProGuard +rules.

    + +

    Configure signing settings

    + +

    The debug and the release versions of the app differ on whether the application can be +debugged on secure devices and on how the APK is signed. The build system signs the debug +version with a default key and certificate using known credentials to avoid a password prompt at +build time. The build system does not sign the release version unless you explicitly define a +signing configuration for this build. If you do not have a release key, you can generate one as +described in Signing your Applications.

    + + +

    Work with build variants

    + +

    This section describes how the build system can help you create different versions of the same +application from a single project. This is useful when you have a demo version and a paid version +of your app, or if you want to distribute multiple APKs for different device configurations on +Google Play.

    + +

    The build system uses product flavors to create different product versions of your app. +Each product version of your app can have different features or device requirements. The build +system also uses build types to apply different build and packaging settings to each product version. +Each product flavor and build type combination forms a build variant. The build system generates a +different APK for each build variant of your app.

    + +

    Build variants

    + +

    This example project consists of the two default build types (debug and release) +and two product flavors for app type (demo and full). For more information on advanced uses of +build variants, see + Build System Overview .

    + + +

    Product flavors

    + +

    To create different product versions of your app:

    + +
      +
    1. Define product flavors in the build file.
    2. +
    3. Create additional source directories for each flavor.
    4. +
    5. Add the flavor-specific sources to your project.
    6. +
    + +

    The rest of this section walks you through these steps in detail using a +BuildSystemExample project. You create two flavors of the +BuildSystemExample app, a demo flavor and a full flavor. Both flavors share +MainActivity, to which you add a new button to launch a new activity, +SecondActivity. This new activity is different for each flavor, so you simulate a +situation where the new activity would have more features in the full flavor than in the demo +flavor. At the end of the exercise, you end up with two different APKs, one for each flavor.

    + +

    Define product flavors in the build file

    + +

    To define two product flavors, edit the build file for the app module to add the following +configuration:

    + +
    +...
    +android {
    +    ...
    +    defaultConfig { ... }
    +    signingConfigs { ... }
    +    buildTypes { ... }
    +    productFlavors {
    +        demo {
    +            applicationId "com.buildsystemexample.app.demo"
    +            versionName "1.0-demo"
    +        }
    +        full {
    +            applicationId "com.buildsystemexample.app.full"
    +            versionName "1.0-full"
    +        }
    +    }
    +}
    +...
    +
    + +

    The product flavor definitions support the same properties as the defaultConfig +element. The base configuration for all flavors is specified in defaultConfig, and each +flavor overrides any default values. The build file above uses the applicationId +property to assign a different package name to each flavor: since each flavor definition creates a +different app, they each need a distinct package name.

    + +

    Note: To distribute your app using +Multiple APK Support in +Google Play, assign the same package name to all variants and give each variant a different +versionCode. To distribute different variants of your app as separate apps in Google +Play, assign a different package name to each variant.

    + +

    Add additional source directories for each flavor

    + +

    Now you create source folders and add a SecondActivity to each flavor. To create +the source directory structure for the demo flavor:

    + +
      +
    1. On the Project panel, expand BuildSystemExample, and then expand + the app directory.
    2. +
    3. Right-click the src directory under app and select + New > Directory.
    4. +
    5. Enter "demo" as the name of the new directory and click OK.
    6. +
    7. Similarly, create the following directories:

      +
        +
      • app/src/demo/java
      • +
      • app/src/demo/res
      • +
      • app/src/demo/res/layout
      • +
      • app/src/demo/res/values
      • +
      +
    8. +
    + +

    The resulting directory structure looks like figure 1.

    + + +

    Figure 1. New source directories for the demo flavor.

    + +

    Add a new activity to each flavor

    + +

    To add SecondActivity to the demo flavor:

    + +
      +
    1. On the Project panel, right click on the app module and select + New > Activity.
    2. +
    3. Select Blank Activity and click Next.
    4. +
    5. Enter "SecondActivity" as the activity name.
    6. +
    7. Enter "com.buildsystemexample.app" as the package name and click + Finish.
    8. +
    9. Right click on the java directory under app/src/demo and select + New > Package.
    10. +
    11. Enter "com.buildsystemexample.app" as the package name and click OK.
    12. +
    13. Drag SecondActivity and drop it under the new package in + app/src/demo/java.
    14. +
    15. Accept the default values and click Refactor.
    16. +
    + +

    To add the layout for SecondActivity and a strings resource to the demo flavor:

    + +
      +
    1. Drag activity_second.xml from app/src/main/res/layout and drop it + inside app/src/demo/res/layout.
    2. +
    3. Accept the default values on the window that appears and click OK.
    4. +
    5. Copy strings.xml from app/src/main/res into + app/src/demo/res.
    6. +
    7. Replace the contents of the new copy of strings.xml with the + following:

      +

      +<?xml version="1.0" encoding="utf-8"?>
      +<resources>
      +    <string name="hello_world">Demo version only.</string>
      +</resources>
      +

      +
    8. +
    + +

    Now you add source folders and SecondActivity to the full flavor by making a copy +of the demo flavor:

    + +
      +
    1. On the Project panel, right click on the demo directory under + app/src and select Copy.
    2. +
    3. Right-click on the src/ directory under app/ and select + Paste.
    4. +
    5. On the window that appears, enter "full" as the new name and click OK.
    6. +
    7. Replace the contents of strings.xml under src/full/res/values + with the following:

      +

      +<?xml version="1.0" encoding="utf-8"?>
      +<resources>
      +    <string name="hello_world">This is the full version!</string>
      +</resources>
      +

      +
    8. +
    + +

    Note: From this point on, you could develop +SecondActivity independently inside each +flavor. For example, you could add more features to this activity in the full flavor.

    + +

    To work on files from a particular flavor, click on Build Variants on the left +of the IDE window and select the flavor you want to modify in the Build Variants panel, +as shown in figure 2. Android Studio may show errors in source files from flavors other than the +one selected in the Build Variants panel, but this does not affect the outcome of the +build.

    + + +

    Figure 2. The Build Variants panel.

    + +

    Launch a flavor-specific activity from the main activity

    + +

    Since the flavor-specific activity (SecondActivity) has the same package name and +activity name in both flavors, you can launch it from the main activity, which is common to all +flavors. To modify the main activity:

    + +
      +
    1. Edit activity_main.xml and add a new button to + MainActivity:

      +

      +<LinearLayout ...>
      +    ...
      +    <Button
      +        android:id="@+id/button2"
      +        android:layout_width="wrap_content"
      +        android:layout_height="wrap_content"
      +        android:text="@string/button2"
      +        android:onClick="onButton2Clicked"/>
      +</LinearLayout>
      +

      +
    2. +
    3. Click on the areas marked in red in the layout file and press Alt+ + Enter. Follow the suggestions from Android Studio to add a new string + resource with value “Open Second Activity” and an onButton2Clicked method to + MainActivity.
    4. +
    5. Add the following code to the onButton2Clicked method of + MainActivity:

      +

      +public void onButton2Clicked(View view) {
      +    Intent intent = new Intent(this, SecondActivity.class);
      +    startActivity(intent);
      +}
      +

      +
    6. +
    7. Edit the app's manifest to include a reference to SecondActivity:

      +

      +<manifest ...>
      +    <application ...>
      +        ...
      +        <activity
      +            android:name="com.buildsystemexample.app.SecondActivity"
      +            android:label="@string/title_activity_second" >
      +        </activity>
      +    </application>
      +</manifest>
      +

      +
    8. +
    + + +

    Build types

    +

    Build types represent the build packaging versions generated for each app package. By default, +the debug and release build types are provided. +

    + +
    +...
    +android {
    +    ...
    +    defaultConfig { ... }
    +    signingConfigs { ... }
    +    buildTypes { ... }
    +    productFlavors {...}
    +    buildTypes {
    +        release {
    +            minifyEnabled false
    +            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    +        }
    +         debug {
    +            debuggable true
    +        }
    +    }
    +}
    +...
    +
    + +

    Note: Although only the release build type appears in +the default build.gradle file, both the release and debug build types are +applied to each build.

    + +

    In this example, the product flavors and build types create the following build variants: +

      +
    • demoDebug
    • +
    • demoRelease
    • +
    • fullDebug
    • +
    • fullRelease
    • +
    + +

    To build this example, invoke the assemble task from Android Studio or from the +command line.

    + +

    Separate output folders are created for each build variant.

    diff --git a/docs/html/tools/building/index.jd b/docs/html/tools/building/index.jd index c1f301943ab83..6428e73085518 100644 --- a/docs/html/tools/building/index.jd +++ b/docs/html/tools/building/index.jd @@ -1,92 +1,40 @@ -page.title=Building and Running +page.title=Building and Running Overview @jd:body
    -
    -

    In this document

    -
      -
    1. A Detailed Look at the Build Process
    2. -
    -
    -
    - -

    During the build process, your Android projects are compiled and packaged into an .apk file, - the container for your application binary. It contains all of the information necessary to run - your application on a device or emulator, such as compiled .dex files (.class files - converted to Dalvik byte code), a binary version of the AndroidManifest.xml file, compiled - resources (resources.arsc) and uncompiled resource files for your application.

    + + -

    If you are developing in Eclipse, the ADT plugin incrementally builds your project as you - make changes to the source code. Eclipse outputs an .apk file automatically to the bin folder of - the project, so you do not have to do anything extra to generate the .apk.

    -

    If you are developing in a non-Eclipse environment, you can build your project with the - generated build.xml Ant file that is in the project directory. The Ant file calls targets that - automatically call the build tools for you.

    +

    The Android build process provides project and module build settings so that +your Android modules are compiled and packaged into .apk files, the containers +for your application binaries, based on your build settings. The apk file for each app contains all +of the information necessary to run your application on a device or emulator, such as compiled +.dex files (.class files converted to Dalvik byte code), a binary version +of the AndroidManifest.xml file, compiled resources (resources.arsc) and +uncompiled resource files for your application.

    -

    To run an application on an emulator or device, the application must be signed using debug or - release mode. You typically want to sign your application in debug mode when you develop and test - your application, because the build tools use a debug key with a known password so you do not have - to enter it every time you build. When you are ready to release the application to Google - Play, you must sign the application in release mode, using your own private key.

    +

    To run an application on an emulator or device, the application must be signed using debug or +release mode. You typically want to sign your application in debug mode when you develop and test +your application, because the build system uses a debug key with a known password so you do not have +to enter it every time you build. When you are ready to release the application to Google +Play, you must sign the application in release mode, using your own private key.

    -

    Fortunately, Eclipse or your Ant build script signs the application for you in debug mode - when you build your application. You can also easily setup Eclipse or your Ant build to sign your - application in release mode as well. For more information on signing applications, see Signing Your Applications.

    - -

    The following diagram depicts the components involved in building and running an application:

    +

    If you are using Android development tools, the build system can sign the application for you +when build your app for debugging. You must obtain a certificate to sign your app when you build +and app for release. For more information on signing applications, see +Signing Your Applications.

    - +

    The following diagram depicts the components involved in building and running an application:

    -

    A Detailed Look at the Build Process

    - -

    The build process involves many tools and processes that generate intermediate files on the - way to producing an .apk. If you are developing in Eclipse, the complete build process is - automatically done periodically as you develop and save your code changes. If you are using other - IDEs, this build process is done every time you run the generated Ant build script for your - project. It is useful, however, to understand what is happening under the hood since much of the - tools and processes are masked from you. The following diagram depicts the different tools and - processes that are involved in a build:

    - - - -

    The general process for a typical build is outlined below:

    - -
      - -
    • The Android Asset Packaging Tool (aapt) takes your application resource files, such as the - AndroidManifest.xml file and the XML files for your Activities, and compiles them. An R.java is - also produced so you can reference your resources from your Java code.
    • - -
    • The aidl tool converts any .aidl interfaces that you have into Java interfaces.
    • - -
    • All of your Java code, including the R.java and .aidl files, are compiled by the Java - compiler and .class files are output.
    • - -
    • The dex tool converts the .class files to Dalvik byte code. Any 3rd party libraries and - .class files that you have included in your project are also converted into .dex files so that - they can be packaged into the final .apk file.
    • - -
    • All non-compiled resources (such as images), compiled resources, and the .dex files are - sent to the apkbuilder tool to be packaged into an .apk file.
    • - -
    • Once the .apk is built, it must be signed with either a debug or release key before it can - be installed to a device.
    • - -
    • Finally, if the application is being signed in release mode, you must align the .apk with - the zipalign tool. Aligning the final .apk decreases memory usage when the application is - running on a device.
    • -
    - -

    Note: Apps are limited to a 64K method reference limit. If your app reaches -this limit, the build process outputs the following error message: - -

    Unable to execute dex: method ID not in [0, 0xffff]: 65536.
    - -To avoid this, you can -load -secondary dex files at runtime and use -ProGuard to strip out unnecessary -class references (Proguard only works when building in release mode). -

    \ No newline at end of file + diff --git a/docs/html/tools/building/plugin-for-gradle.jd b/docs/html/tools/building/plugin-for-gradle.jd new file mode 100644 index 0000000000000..b479ed889892b --- /dev/null +++ b/docs/html/tools/building/plugin-for-gradle.jd @@ -0,0 +1,448 @@ +page.title=Android Plug-in for Gradle + +@jd:body + +
    +
    +

    In this document

    +
      +
    1. Work with build variants
    2. +
    + + +

    See also

    + + +

    Download

    +
    + Plugin Command Reference +

    android-gradle-plugin-dsl.zip

    +
    + +
    +
    + +

    The Android build system consists of an Android plugin for Gradle. +Gradle is an advanced build toolkit that manages +dependencies and allows you to define custom build logic. Android Studio uses a Gradle wrapper +to fully integrate the Android plugin for Gradle. The Android plugin for Gradle also runs +independent of Android Studio. This means that you can build your Android apps from which Android +Studio and from the command line on your machine or on machines where Android Studio is not installed +(such as continuous integration servers).

    + +

    The output of the build is the same whether you are building a project from the command line, +on a remote machine, or using Android Studio.

    + +

    Build configuration

    + +

    The build configuration for your project is defined inside build.gradle files, +which are plain text files that use the syntax and options from Gradle and the Android plugin +to configure the following aspects of your build:

    + +
      +
    • Build variants. The build system can generate multiple APKs with different + product and build configurations for the same module. This is useful when you want to + build different versions of your application without having to create a separate projects + or modules for each version.
    • +
    • Dependencies. The build system manages project dependencies and supports + dependencies from your local filesystem and from remote repositories. This prevents you + from having to search, download, and copy binary packages for your dependencies into your + project directory.
    • +
    • Manifest entries. The build system enables you to specify values for some + elements of the manifest file in the build variant configuration. These build values + override the existing values in the manifest file. This is useful if you want to generate + multiple APKs for your modules where each of the apk files has a different + application name, minimum SDK version, or target SDK version. When multiple manifests are + present, manifest settings are merged in priority of buildType and productFlavor, + /main manifest, and the library manifests.
    • +
    • Signing. The build system enables you to specify signing settings in the build + configuration, and it can sign your APKs during the build process.
    • +
    • ProGuard. The build system enables you to specify a different + ProGuard rules + file for each build variant. The build system can run ProGuard to obfuscate your classes + during the build process.
    • +
    • Testing. For most templates, the build system creates a test directory, + androidTest and generates a test APK from the test sources in your project, so + you do not have to create a separate test project. The build system can also run your tests + during the build process.
    • +
    + +

    Gradle build files use Domain Specific Language (DSL) to describe and manipulate the build logic +through Groovy syntax. Groovy is a dynamic +language that you can use to define custom build logic and to interact with the Android-specific +elements provided by the Android plugin for Gradle.

    + +

    Build by convention

    + +

    The Android Studio build system assumes sensible defaults for the project structure +and other build options. If your project adheres to these conventions, your Gradle build files are +very simple. When some of these conventions do not apply to your project, the flexibility of the +build system allows you to configure almost every aspect of the build process. For example, if +you need to replace the default source folders in your module directories, you can configure a new +directory structure in the module's build file.

    + +

    Projects and modules build settings

    + +

    A project in Android Studio represents the top-level Android development structure. +Android Studio projects contain project files and one or more application modules. A +module is a component of your app that you can build, test, or debug independently. +Modules contain the source code and resources for your apps. Android Studio projects can contain +several kinds of modules:

    + +
      +
    • Android application modules contain application (mobile, TV, Wear, Glass) code and + may depend on library modules, although many Android apps consists of only one application + module. The build system generates APK packages for application modules.
    • +
    • Android library modules contain reusable Android-specific code and resources. + The build system generates an AAR (Android ARchive) package for library modules.
    • +
    • App Engine modules contain code and resources for App Engine integration.
    • +
    • Java library modules contain reusable code. The build system generates a + JAR package for Java library modules.
    • +
    + +

    Android Studio projects contain a top-level project Gradle build file that allows you to add the +configuration options common to all application modules in the project. Each application module +also has its own build.gradle file for build settings specific to that module.

    + +

    Project Build File

    +

    By default, the project-level Gradle file uses buildscript to define the Gradle +repositories and dependencies. This allows different projects to use different +Gradle versions. Supported repositories include JCenter, Maven Central, or Ivy. This example +declares that the build script uses the JCenter repository and a classpath dependency artifact +that contains the Android plugin for Gradle version 0.14.4. +

    +

    +

    +buildscript {
    +    repositories {
    +        jcenter()
    +    }
    +    dependencies {
    +        classpath 'com.android.tools.build:gradle:0.14.4'
    +
    +        // NOTE: Do not place your application dependencies here: they belong
    +        // in the individual module build.gradle files
    +    }
    +}
    +
    +allprojects {
    +   repositories {
    +       jcenter()
    +   }
    +}
    +
    + +

    Note: The SDK location for the Android Studio project is defined in +the local.properties file in the sdk.dir setting or through an +ANDROID_HOME environment variable.

    + +

    Module Build File

    +

    The application module Gradle build file allows you to configure module build settings, +including overriding the src/main manifest settings and setting custom packaging +options.

    + +
      +
    • android settings
    • +
        +
      • compileSdkVersion
      • +
      • buildToolsVersion
      • +
      + +
    • defaultConfig and productFlavors
    • +
        +
      • manifest properties such as applicationId, minSdkVersion, targetSdkVersion, and test + information
      • +
      + +
    • buildTypes
    • +
        +
      • build properties such as debuggable, ProGuard enabling, debug signing, version name + suffix and testinformation
      • +
      + +
    • dependencies
    • +
    + +

    This example applies the Android plugin, uses the default configuration to override several +manifest properties, creates two build types: release and debug, and declares several dependencies. +

    + +
    +apply plugin: 'com.android.application'
    +
    +android {
    +    compileSdkVersion 20
    +    buildToolsVersion "20.0.0"
    +
    +    defaultConfig {
    +        applicationId "com.mycompany.myapplication"
    +        minSdkVersion 13
    +        targetSdkVersion 20
    +        versionCode 1
    +        versionName "1.0"
    +    }
    +
    +    buildTypes {
    +        release {
    +            minifyEnabled false
    +            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    +        }
    +         debug {
    +            debuggable true
    +        }
    +    }
    +}
    +
    +dependencies {
    +    compile fileTree(dir: 'libs', include: ['*.jar'])
    +    compile 'com.android.support:appcompat-v7:20.0.0'
    +    compile project(path: ':app2, configuration: 'android-endpoints')
    +}
    +
    + + +

    Note: You can inject custom build logic for property values defined +by a function that gets called by the property, for example: +

    +def computeVersionName() {
    +  ...
    +}
    +
    +android {
    +    defaultConfig {
    +        versionName computeVersionName()
    +        ...
    +    }
    +}
    +
    +

    + + + +

    Dependencies

    + +

    The Android Studio build system manages project dependencies and supports module dependencies, +local binary dependencies, and remote binary dependencies.

    + +
    +
    Module Dependencies
    +

    An application module can include in its build file a list of other modules it depends on. + When you build this module, the build system assembles and includes the required + modules.

    +
    Local Dependencies
    +

    If you have binary archives in your local filesystem that a module depends on, such as + JAR files, you can declare these dependencies in the build file for that module.

    +
    Remote Dependencies
    +

    When some of your dependencies are available in a remote repository, you do not have + to download them and copy them into your project. The Android Studio build system supports + remote dependencies from repositories, such as Maven, + and dependency managers, such as Ivy.

    +

    Many popular software libraries and tools are available in public Maven repositories. + For these dependencies you only have to specify their Maven coordinates, which uniquely + identify each element in a remote repository. The format for Maven coordinates used in the + build system is group:name:version. For example, the Maven coordinates for + version 16.0.1 of the Google Guava libraries are + com.google.guava:guava:16.0.1.

    +

    The Maven Central Repository is widely used to + distribute many libraries and tools.

    +
    +
    + +

    Build tasks

    + +

    The Android Studio build system defines a hierarchical set of build tasks: the top-level or +anchor tasks invoke dependent tasks to produce their collective build outcomes. The top-level build +tasks are:

    + +
    +
    assemble
    +

    Builds the project output.

    +
    check
    +

    Runs checks and tests.

    +
    build
    +

    Runs both assemble and check.

    +
    clean
    +

    Performs the clean.

    +
    + +

    The Android plugin provides additional tasks for connectedCheck and deviceCheck +for checks run on connected, emulated, and remote devices. Gradle tasks can be viewed by clicking +the Gradle tab in the right margin. +

    +

    Figure 1: Gradle tab

    + +

    Running a top-level task, runs all the dependent tasks. For example, the assemble task +has dependent tasks for assembleDebug and assembleRelease to make the debug and +release APKs. The assemble task depends on these tasks so calling it builds both APKs. +These tasks can also be called independently to build the debug or release APK separately.

    + +

    You can view the list of available tasks and invoke any task from Android Studio and from +the command line, as described in +Building and Running from Android Studio +and Build the project from +the command line.

    + +

    The Gradle wrapper

    + +

    Android Studio projects contain the Gradle wrapper, which consists of:

    + +
      +
    • A JAR file
    • +
    • A properties file
    • +
    • A shell script for Windows platforms
    • +
    • A shell script for Mac and Linux platforms
    • +
    + +

    Note: You should submit all of these files to your source +control system.

    + +

    Using the Gradle wrapper (instead of the local Gradle installation) ensures that +you always run the version of Gradle defined in the local.properties file. To configure your +project to use a newer version of Gradle, edit the properties file and specify the new version there. +

    + +

    Android Studio reads the properties file from the Gradle wrapper directory inside your project +and runs the wrapper from this directory, so you can seamlessly work with multiple projects +that require different versions of Gradle.

    + +

    Note: Android Studio does not use the shell scripts, so any +changes you make to them won't work when building from the IDE. You should define your custom +logic inside Gradle build files instead.

    + +

    You can run the shell scripts to build your project from the command line on your development +machine and on other machines where Android Studio is not installed.

    + + +

    Build variants

    + +

    Each version of your app is represented in the build system by a build variant. +Build variants are combinations of product flavors and build types. Product flavors represent +product build versions of an app, such as free and paid. Build types represent the build +packaging versions generated for each app package, such as debug and release. The build system +generates APKs for each combination of product flavor and build type.

    + +

    By default, Android Studio defines default configuration settings, defaultConfig in +the build.gradle file, and two build types (debug and release). This creates two +build variants, debug and release, and the build system generates an +APK for each variant.

    + +

    Adding two product flavors, demo and full along +with the default build types debug and release generates four build variants, +each with its own customized configuration:

    + +
      +
    • demoDebug
    • +
    • demoRelease
    • +
    • fullDebug
    • +
    • fullRelease
    • +
    + +Resources are merged across the multiple Android application sources: +
      +
    • Build variants based on the buildType, and productFlavor build settings
    • +
    • The main sourceSet, generally located in src/main/res
    • +
    • Library Project dependencies, which contribute resources through the res entry in their aar + bundle.
    • +
    + +

    The priority of the merge order from lowest to highest is libraries/dependencies -> main src -> +productFlavor -> buildType.

    + + +

    Some projects have complex combinations of features along more than one dimension, but they +still represent the same app. For example, in addition to having a demo and a full version of the +app, some games may contain binaries specific to a particular CPU/ABI. The flexibility of +the build system makes it possible to generate the following build variants for such a project:

    + +
      +
    • x86-demoDebug
    • +
    • x86-demoRelease
    • +
    • x86-fullDebug
    • +
    • x86-fullRelease
    • +
    • arm-demoDebug
    • +
    • arm-demoRelease
    • +
    • arm-fullDebug
    • +
    • arm-fullRelease
    • +
    • mips-demoDebug
    • +
    • mips-demoRelease
    • +
    • mips-fullDebug
    • +
    • mips-fullRelease
    • +
    + +

    This project would consist of two build types (debug and release) +and two dimensions of product flavors, one for app type (demo or full) and one for +CPU/ABI (x86, ARM, or MIPS).

    + + +

    Source directories

    + +

    To build each version of your app, the build system combines source code and +resources from:

    + +
      +
    • src/main/ - the main source directory (the default configuration common to all + variants)
    • +
    • src/<buildType>/ - the source directory
    • +
    • src/<productFlavor>/ - the source directory
    • +
    + +

    Note: The build type and product flavor source directories are optional, +as Android Studio does not create these directories for you. You should create these directories +as you add build types and product flavors to the build configuration files. The build system does not +use these directories if they are not present.

    + +

    For projects that do not define any flavors, the build system uses the defaultConfig +settings, the main app directory and the default build type directories. For example, to generate +the default debug and release build variants in projects with no product flavors, +the build system uses:

    +
      +
    • src/main/ (default configuration)
    • +
    • src/release/ (build type)
    • +
    • src/debug/ (build type)
    • +
    + +

    For projects that define a set of product flavors, the build system merges the build type, product +flavor and main source directories. For example, to generate the full-debug build variant, +the build system merges the build type, product flavor and main directories:

    +
      +
    • src/main/ (default configuration)
    • +
    • src/debug/ (build type)
    • +
    • src/full/ (flavor)
    • +
    + +

    For projects that use flavor dimensions, the build system merges one flavor source directory per +dimension. For example, to generate the arm-demo-release build variant, the build system +merges:

    +
      +
    • src/main/ (default configuration)
    • +
    • src/release/ (build type)
    • +
    • src/demo/ (flavor - app type dimension)
    • +
    • src/arm/ (flavor - ABI dimension)
    • +
    + + +

    The source code from these directories is used together to generate the output for a build +variant. You can have classes with the same name in different directories as long as those +directories are not used together in the same variant.

    + +

    The build system also merges all the manifests into a single manifest, so each build variant +can define different components or permissions in the final manifest. The manifest merge priority +from lowest to highest is libraries/dependencies -> main src -> productFlavor -> buildType.

    + +

    The build system merges all the resources from the all the source directories. If different +folders contain resources with the same name for a build variant, the priority order is the +following: build type resources override those from the product flavor, which override the +resources in the main source directory, which override those in any libraries.

    + +

    Note: Build variants enable you to reuse common activities, +application logic, and resources across different versions of your app.

    + + diff --git a/docs/html/tools/publishing/app-signing.jd b/docs/html/tools/publishing/app-signing.jd index 04e12cc19931a..6e64392ea3904 100644 --- a/docs/html/tools/publishing/app-signing.jd +++ b/docs/html/tools/publishing/app-signing.jd @@ -81,10 +81,56 @@ The debug build type is set to use this debug SigningConfig automat set of private keys. You must keep your keystore in a safe and secure place.
  • Create a private key. A private key represents the entity to be identified with the app, such as a person or a company.
  • -
  • Build your project. Generate an unsigned APK for your app.
  • -
  • Sign your app. Use your private key to generate a signed version of your APK.
  • +
  • Add the signing configuration to the build file for the app module:

    +

    +...
    +android {
    +    ...
    +    defaultConfig { ... }
    +    signingConfigs {
    +        release {
    +            storeFile file("myreleasekey.keystore")
    +            storePassword "password"
    +            keyAlias "MyReleaseKey"
    +            keyPassword "password"
    +        }
    +    }
    +    buildTypes {
    +        release {
    +            ...
    +            signingConfig signingConfigs.release
    +        }
    +    }
    +}
    +...
    +

    +
  • +
  • Invoke the assembleRelease build task from Android Studio.
  • +

    The package in app/build/apk/app-release.apk is now signed with your release key.

    + +

    Note: Including the passwords for your release key and keystore +inside the build file is not a good security practice. Alternatively, you can configure the build +file to obtain these passwords from environment variables or have the build process prompt you +for these passwords.

    + +

    To obtain these passwords from environment variables:

    + +
    +storePassword System.getenv("KSTOREPWD")
    +keyPassword System.getenv("KEYPWD")
    +
    + +

    To have the build process prompt you for these passwords if you are invoking the build from +the command line:

    + +
    +storePassword System.console().readLine("\nKeystore password: ")
    +keyPassword System.console().readLine("\nKey password: ")
    +
    + +

    After you complete this process, you can distribute your app and publish it on Google Play.

    Warning: Keep your keystore and private key in a safe and diff --git a/docs/html/tools/publishing/publishing_overview.jd b/docs/html/tools/publishing/publishing_overview.jd index 3c56402067a10..e42b2fbfd716d 100644 --- a/docs/html/tools/publishing/publishing_overview.jd +++ b/docs/html/tools/publishing/publishing_overview.jd @@ -73,7 +73,8 @@ tasks:

  • Building and signing a release version of your application.

    You can use the Gradle build files with the release build type to build and sign a release version of your application. See - Building Your Project with Gradle.

    + Building and Running from Android + Studio.

  • Testing the release version of your application.

    Before you distribute your application, you should thoroughly test the release version on at @@ -109,7 +110,7 @@ application.

    You can release your Android applications several ways. Usually, you release applications through an application marketplace such as Google Play, but you can also release applications -on your own website or by sending an application directly to a user. +on your own website or by sending an application directly to a user.

    Releasing through an App Marketplace

    @@ -183,7 +184,7 @@ button.

    Note: The Install Now button shown in Figure 1 appears only if a user has configured their device to allow -installation from unknown sources and has opened your +installation from unknown sources and has opened your email with the native Gmail application.

    Distributing applications through email is convenient if you are sending your application to @@ -223,9 +224,9 @@ help prevent unauthorized installation and use of your application.

    apps from unknown sources." style="width:240px;" />

    Figure 2. Users must enable the Unknown sources - setting before they can install apps not downloaded from Google Play. + setting before they can install apps not downloaded from Google Play.

    - +

    Android protects users from inadvertent download and install of apps from locations other than Google Play (which is trusted). It blocks such installs @@ -234,7 +235,7 @@ Settings > Security, shown in Figure 2. To allow the installation of applications from other sources, users need to enable the Unknown sources setting on their devices, and they need to make this configuration change before they download your application to their -devices.

    +devices.

    Note that some network providers do not allow users to install applications from unknown sources.

    diff --git a/docs/html/tools/tools_toc.cs b/docs/html/tools/tools_toc.cs index 68e25cd4a3409..f23a26fdd1a6f 100644 --- a/docs/html/tools/tools_toc.cs +++ b/docs/html/tools/tools_toc.cs @@ -65,12 +65,10 @@ Building and Running
  • @@ -226,13 +224,15 @@ class="en">MonkeyRunner @@ -300,6 +300,7 @@ class="en">Support Library
  • Migrating to Android Studio
  • Managing Projects
  • Building and Running
  • +
  • Building with Ant
  • Testing
  • Debugging
  • Signing Your Apps
    -
  1. Overview of the Build System -
      -
    1. Build configuration
    2. -
    3. Build by convention
    4. -
    5. Projects and modules
    6. -
    7. Dependencies
    8. -
    9. Build tasks
    10. -
    11. The Gradle wrapper
    12. -
    -
  2. -
  3. Create and Build a Project -
      -
    1. Create a project
    2. -
    3. Project structure
    4. -
    5. Add a library module
    6. -
    7. Build the project
    8. -
    9. Build from the command line
    10. -
    11. Build a release version
    12. -
    -
  4. -
  5. Configure the Build -
      -
    1. Build file basics
    2. -
    3. Declare dependencies
    4. -
    5. Run ProGuard
    6. -
    7. Configure signing settings
    8. -
    9. Work with build variants
    10. -
    -
  6. -
  7. Reference
  8. +
  9. A Detailed Look at the Build Process