Android studio 中的gradle粗解

一.Android studio生成aar文件
1.在Android Studio1.4中,New project,先默认新建一个Applicaton module,接后File > New > New Module,选择Androd Library > Next,新建的Library与正常的Application最大区别是 module build.gradle中是apply plugin: ‘com.android.library’ 而不是 apply plugin: ‘com.android.application’.
2.Build > Make project,自动生成aar文件。 目录 build-->outputs-->aar
二、添加aar依赖
1、将aar导入libs目录下
2、 在Application Module/build.gradle中添加 repositories { flatDir { dirs 'libs' } }
3、 在Application Module/build.gradle中添加依赖
dependencies { compile(name:'mylibrary-debug', ext:'aar') }


Android 的代码仓库jCenter
1. 标准的Android代码库仓库,里面有很多开源的工具类和控件。各种开发资源repositories {jcenter()}
2.通过gradle中的compile导入外部依赖包(jar、arr),会首先查看本地是否有依赖包(我的目录为C:\Users\admin\.gradle\caches\modules-2\files-2.1),如果没有则会从jCenter代码库中下载到本地,最后进行引入。
compile编译的意思,通过compile导入的包,会编译成class文件,在classes.dex中(apk解压缩之后可以看到)。
3、上传arr包到就Center http://www.jianshu.com/p/31410d71eaba

Dalvik虚拟机和Java虚拟机的区别
  本质上,Dalvik也是一个Java虚拟机。但它特别之处在于没有使用JVM规范。大多数Java虚拟机都是基于栈的结构(详情请参考: 理解Java虚拟机体系结构 ),而Dalvik虚拟机则是基于寄存器。基于栈的指令很紧凑,例如,Java虚拟机使用的指令只占一个字节,因而称为字节码。基于寄存器的指令由于需要指定源地址和目标地址,因此需要占用更多的指令空间。Dalvik虚拟机的某些指令需要占用两个字节。基于栈和基于寄存器的指令集各有优劣,一般而言,执行同样的功能,前者需要更多的指令(主要是load和store指令),而后者需要更多的指令空间。需要更多指令意味着要多占用CPU时间,而需要更多指令空间意味着数据缓冲(d-cache)更易失效。更多讨论, 虚拟机随谈(一):解释器,树遍历解释器,基于栈与基于寄存器,大杂烩  给出了非常详细的参考。
  Java虚拟机运行的是Java字节码,而Dalvik虚拟机运行的是专有文件格式dex。在Java程序中,Java类会被编译成一个或多个class文件,然后打包到jar文件中,接着Java虚拟机会从相应的class文件和jar文件中获取对应的字节码。Android应用虽然也使用Java语言,但是在编译成class文件后,还会通过DEX工具将所有的class文件转换成一个dex文件,Dalvik虚拟机再从中读取指令和数据。dex文件除了减少整体的文件尺寸和I/O操作次数,也提高了类的查找速度。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值