要出sdk,所以要多个aar打包。可怜的是,google没有支持的方案。只能再网上找了。
我使用的是网上这个https://github.com/kezong/fat-aar-android
这个github库。
具体配置是再跟gradle中添加:
classpath 'com.kezong:fat-aar:1.2.7'
在需要打包的地方添加:
apply plugin: 'com.kezong.fat-aar'
然后添加需要合并的包,可以是远程包,本地aar,本地project。可以说很完整了。
例如:
embed project(path: ':opposdklib', configuration:'default') //本地项目
embed project(path: ':opencvsdk', configuration:'default')
embed project(path: ':ijkplayer-xiaomi', configuration:'default')
embed "com.blankj:utilcode:1.23.4" //远程依赖
embed 'io.reactivex.rxjava2:rxjava:2.1.17'
embed 'io.reactivex.rxjava2:rxandroid:2.0.1'
embed 'com.google.code.gson:gson:2.8.2'
embed 'org.reactivestreams:reactive-streams:1.0.2'
embed (name:'ijkplayer-java-mate',ext:'aar') //本地aar
怎么看远程依赖呢?下面这里就可以看
image.png
最后生成的aar包如下,jni和jar包都有了
image.png
image.png
反编译看看classes.jar看看,本地项目的类都在这里面了。
image.png
后面得看看是怎么打包起来的了,不然后续作者不维护了就蛋疼了。
网友评论