将其他Android项目打成aar包集成到自己的项目中
2016-06-12 13:25
567 查看
前段时间需要做一个sdk项目,正苦闷用什么打包方式,要是使用jar打包,jar只能打包class文件,要想把资源文件打包进去
比较麻烦的意见事情,界面不多的话可以使用反射调用,把资源文件都通过这个反射的R引用出来。
现在就没有那么麻烦了,Android studio给我们提供一种更简便的方式,可以同时把class和res文件打包进去,现在的support v7
和gson-2.21就是aar打包方式
打包方法:
我们先把想要打包成sdk的项目做成Android libraries B不要建成Android project 然后我们建立一个新的Android project A 去调用写好的libraries B
运行后,studio就自动把我们的librarys B打包成aar包了,这就是我们想要的sdk了(路径:libraries Buildoutputsaar)
使用方法:
1、把打好的aar包拷贝到需要引用的Android工程libs目录下
2、修改Android studio的gradle设置
看看external lib下是不多了一个app2 (包含一个jar和一个res) 就表示成功了
比较麻烦的意见事情,界面不多的话可以使用反射调用,把资源文件都通过这个反射的R引用出来。
String packageName = context.getPackageName(); Class r = null; int id = 0; try { r = Class.forName(packageName + .R); Class[] classes = r.getClasses(); Class desireClass = null; for (int i = 0; i < classes.length; ++i) { if (classes[i].getName().split(\$)[1].equals(className)) { desireClass = classes[i]; break; } } if (desireClass != null) id = desireClass.getField(name).getInt(desireClass);
现在就没有那么麻烦了,Android studio给我们提供一种更简便的方式,可以同时把class和res文件打包进去,现在的support v7
和gson-2.21就是aar打包方式
打包方法:
我们先把想要打包成sdk的项目做成Android libraries B不要建成Android project 然后我们建立一个新的Android project A 去调用写好的libraries B
运行后,studio就自动把我们的librarys B打包成aar包了,这就是我们想要的sdk了(路径:libraries Buildoutputsaar)
使用方法:
1、把打好的aar包拷贝到需要引用的Android工程libs目录下
2、修改Android studio的gradle设置
repositories{ flatDir{ dirs 'libs' } } dependencies { // compile fileTree(dir: 'libs', include: ['*.jar', '*.aar']) compile 'com.android.support:appcompat-v7:19.+' compile project(name':app2',ext:'aar')//导入app2.aar并执行 }
看看external lib下是不多了一个app2 (包含一个jar和一个res) 就表示成功了
相关文章推荐
- Ubuntu日记——ubuntu中无法识别android手机问题
- Android Studio编译中“png-cruncher_*”异常的解决方案
- Android病毒查杀原理
- Android ListView自适应高度和ScrollView冲突解决 [有效]
- android中listView下有Button按钮始终在最底部
- 解决Android Studio下Element layer-list must be declared问题
- android.view.WindowManager$BadTokenException: Unable to add window -- token null is not valid; is yo
- android 保存图片到相册并正常显示
- android view转bitmap
- android应用程序第4课:activity初步
- Android基于定时器的图片轮播
- 打开android debug设备系统调试
- Android中View转换为Bitmap及getDrawingCache=null的解决方法
- ToggleButton
- 解决android studio not recognizing known sRGB profile that has been edited问题
- 手机传感器简述
- Android开发命名规范
- Android中单例模式的多种写法
- android应用程序第3课:xml的简单语法规则
- Android Studio 错误: 非法字符: '\ufeff' 解决方案|错误: 需要class, interface或enum