Android gradle build principles, dependencies, and so files, project directory

在as 开发中,构建工具用的是gradle ,它是如何工作的呢?

先来看一下android 中 默认gradle 的写法
buildscript {  
    repositories {  
        mavenCentral()  
    }  
    dependencies {  
        classpath ‘com.android.tools.build:gradle:0.12.2’  
    }  
}  
apply plugin: ‘com.android.application
首先是构建脚本,可以看到第一段是 远程仓库,指的是你的依赖是从哪个仓库下载,现在多用的是 jcenter库,你也可以通过ftp,或者构建自己的远程仓库

第二段是依赖,依赖分为三部分 group,name,version,你可以采用 *.**.+ 的方式来使用动态版本库,我们先看下 as中dependencies 中的写法
dependencies {
    //---> 指出编译libs 目录下所有.jar 结尾的文件
    compile fileTree(include: ['*.jar'], dir: 'libs')
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile 'com.android.support:appcompat-v7:25.1.0'
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:cardview-v7:25.1.0'
}
gradle 语法,自写gradle 参考:

http://blog.csdn.net/wuchuang127/article/details/39501131

看上边代码可知,将Jar文件拷贝入 libs 目录下,与引入 dependencies {} 效果是相同的,那么so 文件的引入又发生了什么呢?

so文件的引入方式在此不多提,可参考: http://blog.csdn.net/wulianghuan/article/details/44567001

首先,so文件是什么?

    如果项目中使用到了NDK,它将会生成.so文件,so文件依赖abi,且跨平台,是unix的动态连接库,是二进制文件,Android NDK将C++/C编译成so文件,在项目运行中,你所使用的so对应的abi决定了你的应用是否支持所对应cpu的手机

.so文件详解参考,关于so你不知道的那些事 : http://www.jianshu.com/p/cb05698a1968

NDK是用来给安卓手机开发软件用的,但是和SDK不同的是它用的是C语言,而SDK用的是Java语言。

每个module 有一个gradle,一个项目有一个全局的gradle,gradle 是基于gavelly 的一门脚本语言,原理与前端gulp构建相似(通过对文件分析,输入管道流处理之后,将构建完成的文件进行输出)
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值