软件需求:
- 安装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