Android studio Gradle 构建
软件需求:
- 安装gradle
- 下载gradle压缩包,解压到本地。
- 设置环境变量,新建系统变量,GRADLE_HOME:E:\installspace\gradle-1.11
- path中增加;%GRADLE_HOME%\bin
- 测试是否成功,命令:gradle -v
- 安装Android studio(如果用Android studio)
创建项目
- File-New Project
-
在Application name field输入BuildSystemExample
- 保持默认,一直next直到finish。
项目结构 Android studio 项目包含一个默认的 app module
|
Component |
Location |
|
Source files |
app/src/main/java/<package>/ |
|
Resource files |
app/src/main/res/ |
|
Manifest file |
app/src/main/AndroidManifest.xml |
|
Build file |
app/build.gradle |
新增library modile
- 点击File——New Module
-
在window窗口中选择 Android Library,然后next 3.保持默认不变,一直next,在Activity Name field 输入LibActivity1,然后finish。
这个项目包含两个modules,每个module都含有一个Activity。
从一个library module打开Activity 在这个例子中,在app module中的MainActivity将打开lib module的LibActivity1‘
-
打开爱app module的MainActivity,找到app/src/main/res/layout/activity_main.xml,对文件中的代码进行替换,如下
<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> -
在这个文件中找到android:text="@string/button1",然后快捷键 Alt+Enter.,根据提示,在string resource 增加value "Open LibActivity1"。
-
同样找到android:onClick="onButton1Clicked",快捷键 Alt+Enter.,根据提示,在MainActivity增加onButton1Clicked method.
- 将以下代码进行copy到onButton1Clicked method 。
public void onButton1Clicked(View view) { Intent intent = new Intent(this, LibActivity1.class); startActivity(intent); } -
快捷键 Alt+Enter.,根据提示,对各个错误点进行import。
在libray module中增加dependency
- 打开app/build.gradle,增加如下依赖。
... dependencies { ... compile project(":lib") }
构建项目
点击build--Make Project
可以通过查看在windows 窗口的右边部分的Gradle Console,查看是否成功。
如果想查看可用的build tasks,可以点击在IDE 有窗口的Gradle,双击任意一个build task就可以运行。 在app/build/apk会生成apk。
命令行 Gradle构建
On Windows
> gradlew.bat assembleDebug
On Mac OS and Linux platforms, type these commands:
$ chmod +x gradlew $ ./gradlew assembleDebug
查看一系列的build tasks,命令如下
$ ./gradlew tasks
Build release version
-
在IDE的右侧,点击Gradle,展开BuildSystemExample.然后在展开:app,双击assembleRelease。
配置Build
基础结构
apply plugin: ‘android‘
android {
compileSdkVersion 19
buildToolsVersion "19.0.0"
defaultConfig {
minSdkVersion 8
targetSdkVersion 19
versionCode 1
versionName "1.0"
}
signingConfigs {//对apk进行签名
release {
storeFile file("myreleasekey.keystore")
storePassword "password"
keyAlias "MyReleaseKey"
keyPassword "password"
}
}
buildTypes {//混淆代码,proguard-android.txt是Android sdk自带的,proguard-rules.txt是新增的
release {
runProguard true
proguardFiles getDefaultProguardFile(‘proguard-android.txt‘), ‘proguard-rules.txt‘
signingConfig signingConfigs.release//签名配置
}
}
}
dependencies {‘‘‘声明dependencies‘‘‘的3种方式
// 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‘])
}
参考资料:http://developer.android.com/sdk/installing/studio-build.html#configBuild