1 配置编译环境


配置Android开发环境(Android SDK),下载安装gradle工具并配置执行环境。



2 新建构建项目的目录


如果没有项目目录,新建一个目录作为项目目录。



3 拷贝源代码和资源文件到构建目录中


将源码拷贝到新建的项目目录中,最基本包括以下目录和文件


文件/目录

描述

assets/

assets文件目录

libs/

第三方库目录

src

java源文件目录

res

资源文件目录

AndroidManifest.xml

配置文件


如下图:




android gradle 增加文件 gradle创建安卓项目_android gradle 增加文件



 


说明:其实以上目录不是硬性规定的,可以自定义,只需要在后续步骤在build.gradle中正确设置即可



4 配置local.properties文件


在local.properties文件增加以下配置(若没有该文件需要新建)


sdk.dir=YOUR_SDK_HOME_DIR


将以上的值替换成你的Android SDK的目录



5 配置build.gradle文件


配置build.gradle文件,包含以下内容:


5.1 插件声明


// 这里声明使用到的gradle插件


apply plugin: 'maven' // 仓库加载插件


apply plugin: 'com.android.application' // Android项目编译插件



5.2 项目配置声明


// 这部分其实相当于AndroidStudio项目根目录中的build.gradle文件


buildscript {




repositories {


jcenter()


}


dependencies {


classpath 'com.android.tools.build:gradle:2.3.3'


}


}



allprojects {


repositories {


jcenter()


}


}



5.3 Android编译配置声明


// 接着项目配置声明,就是Android编译配置声明了,不同于AndroidStudio项目,手动构建的Android Gradle项目只有一个build.gradle文件,需要将这两部分合并。sourceSets配置中,需要根据自己的目录结构正确配置,下面的代码是根据前面的目录结构来配置的。


android {


compileSdkVersion 23


buildToolsVersion "23.0.2"




sourceSets {


main {


manifest.srcFile 'AndroidManifest.xml' // Android配置文件


java.srcDirs = ['src'] // 源码根目录位置


resources.srcDirs = ['src'] //


aidl.srcDirs = ['src'] // AIDL文件根目录位置


renderscript.srcDirs = ['src']


res.srcDirs = ['res'] // 资源文件根目录位置


assets.srcDirs = ['assets'] // assets根目录位置


jniLibs.srcDirs = ['libs'] // jni库根目录位置


}




// Move the tests to tests/java, tests/res, etc...


instrumentTest.setRoot('tests') // tests目录,没有可以不配置




// Move the build types to build-types/<type>


// For instance, build-types/debug/java, build-types/debug/AndroidManifest.xml, ...


// This moves them out of them default location under src/<type>/... which would


// conflict with src/ being used by the main source set.


// Adding new build types or product flavors should be accompanied


// by a similar customization.


debug.setRoot('build-types/debug') // buildType的目录 debug


release.setRoot('build-types/release') // buildType的目录 release


}




defaultConfig {


applicationId "YOUR_APP_PACKAGE_NAME" //请替换成你的应用包名


minSdkVersion 15


targetSdkVersion 25


versionCode 1


versionName "1.0.0"


}


}


说明:除了以上必要配置外,Android的相关配置还可以添加签名、代码混淆等配置


注意:上面的sourceSet中的内容必须跟你在项目目录下的文件类型对应起来。



5.4 依赖配置声明


// 依赖配置,如果依赖jar包,直接放到libs目录下,如果是仓库,添加仓库依赖


dependencies {


compile fileTree(dir: 'libs', include: ['*.jar']) // 这一句会编译libs下所有jar文件


compile 'com.android.support:appcompat-v7:25.2.0'


}



6 编译


打开命令行,执行以下命令对项目进行初始化(一般来说直接build就可以,init wrapper会将原来的项目直接就变成了Android Gradle项目,可以直接导入到AndroidStudio中):


Windows:


gradle.bat -p D:/H5GameLite init wrapper


MAC/Linux:


gradle -p H5GameLite init wrapper



这里的gradle.bat是下载的gradle编译工具可执行文件(如果没有配置环境变量,请使用绝对路径),gradle的命令参数请自行学习研究,可选参数项可以通过gradle帮助命令“gradle -h”查看。初始化成功后,将会得到BUILD SUCCESS字样,如下图:

android gradle 增加文件 gradle创建安卓项目_Gradle_02


此时项目目录下会多了一些目录和文件


接下来执行clean task,清理项目


Windows:


gradle.bat clean


MAC/Linux:


gradle clean



最后一步是执行编译命令,进行编译。



Windows:


gradle.bat -p D:/H5GameLite/ assembleRelease


MAC/Linux:


gradle -p H5GameLite/ assembleRelease


 


编译成功后将看到BUILD SUCCESSFUL字样,如下图:



android gradle 增加文件 gradle创建安卓项目_Gradle_03




android gradle 增加文件 gradle创建安卓项目_Android_04



如果编译失败请根据错误提示检查修改再编译。



编译成功后,在项目目录下的\build\outputs\apk(这个目录跟前面的目录配置有关)可以看到apk,在build.gradle中配置好签名及混淆配置,可实现一步到位的打包


 


说明:最后一步的编译有多种task可以实现,比如assembleDebug,assembleRelease等等,详细请参考gradle官方说明自行学习,一般直接用build更容易编译出现错误。