扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
这篇文章主要讲解了“Gradle中如何构建一个Android项目”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Gradle中如何构建一个Android项目”吧!
10余年专注成都网站制作,企业网站设计,个人网站制作服务,为大家分享网站制作知识、方案,网站设计流程、步骤,成功服务上千家企业。为您提供网站建设,网站制作,网页设计及定制高端网站建设服务,专注于企业网站设计,高端网页制作,对报废汽车回收等多个方面,拥有丰富的网站维护经验。gradle构建脚本:
buildscript { //定义一些项目需要的JAR函数库 LIBS_DIR = "../../../libs" //需要从maven中央库得到gradle的android插件 repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:0.4.2' } } //声明项目是一个android构建 apply plugin: 'android' dependencies { //同时用本地maven库查找依赖 repositories { mavenLocal() } //下面是一些app需要的jar文件 compile files("${LIBS_DIR}/hiscore/hiscore.jar") compile files("${LIBS_DIR}/GoogleAnalytics/libGoogleAnalytics.jar") //这是一个我存放在本地maven仓库(使用“aar”格式)的android函数库 compile ('com.mopub.mobileads:mopub-android-sdk:unknown') } //android构建的项目定义 android { compileSdkVersion 15 buildToolsVersion "17.0.0" //下面的代码路径不是推荐的新项目结构 //我仍然使用的Eclipse风格结构 sourceSets { main { manifest.srcFile 'AndroidManifest.xml' java.srcDirs = ['src'] resources.srcDirs = ['src'] aidl.srcDirs = ['src'] renderscript.srcDirs = ['src'] res.srcDirs = ['res'] assets.srcDirs = ['assets'] } instrumentTest.setRoot('tests') } //声明创建一个带签名的发布版本细节 signingConfigs { release { storeFile file("../keys /android.keystore") storePassword "######" keyAlias "######" keyPassword "######" } } //声明此发布构建在签名之前需要运行proguard buildTypes { release { runProguard true proguardFile getDefaultProguardFile('proguard-android.txt') proguardFile 'proguard.cfg' signingConfig signingConfigs.release } } }
从命令行构建app可以运行下面的命令:
gradle assembleDebug #debug构建 gradle assembleRelease #release构建
我以前用过Maven做了几个项目,发现用Maven来管理项目配置非常有用,尤其是在依赖管理方面。但是我发现Maven在某些情况下缺少灵活性,你不得不为某些特殊的情况进行自定义。理论上你可以编写自己的Maven插件,但实践起来大多数用户不会这么做通常他们会依赖现有的插件。所以我经常使用Ant而不是Maven,因为它在处理项目特殊操作,比如拷贝或修改代码文件时更加灵活。
Gradle看上去在这两方面都做得很好:通过插件为绝大多数的常用情况提供了全面支持,管理依赖关系方面与Maven做得同样好;同时也提供了良好的灵活性,在需要修改构建脚本时可以自由地定制。
感谢各位的阅读,以上就是“Gradle中如何构建一个Android项目”的内容了,经过本文的学习后,相信大家对Gradle中如何构建一个Android项目这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是创新互联网站建设公司,,小编将为大家推送更多相关知识点的文章,欢迎关注!
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流