【Android】关于打包aar,和module导入aar正常运行总结

操作流程如下:

1、生成aar:把原module项目转成library,build编译library,bulid/outputs/aar/ 下找到aar包

2、导入aar:在测试module的libs/下导入 aar包,action启动aar中的activity

对实现过程中遇到的问题进行总结:

1.aar的library点击事件的switch case 换成 if else; (alt+enter用快捷键修改所有)

2.aar中引用的非本地lib的第三方库,需要在导入aar的module中也配置进去,

如以下两种类型库:
 

api 'com.squareup.okhttp3:okhttp:3.6.0'

api project(':randomtextview')

3.在导入aar的module中 ,接入某aar需要引入的框架,配置关键字 compile 全部替换成 api,必须用 api才能找到包,否则会报编译失败 找不到包 或者多包重复异常;

4.不用butterknife

5.aar中的res下资源文件名称需要加上aar唯一标识后缀,防止和module中的文件重名,后缀根据项目自定义,

资源文件包含 string/ color/ 图片(ps:在原先已写好的module项目转成library,修改这个工作量很大...当时建工程写项目的时候就要注意这点,命名要加项目的特定后缀) ,

例如: 颜色加上后缀"wqe"

#42C1FE

6.aar中如果用到了百度定位和类似需要绑定包名生成appkey的第三方框架,导入aar的module需要重新绑定配置,在module的AndroidManifest.xml中重新设置appkey

7.module中的Application要继承aar中的Application;

8.aar中用了静态字符串的包名变量要换成动态获取:

MyApplication.getInstance().getPackageName();

9. module中的AndroidManifest.xml的标签里要加属性:

tools:replace="android:theme,android:icon,android:allowBackup,android:name"

 

 

你可能感兴趣的:(Android疑难解惑)