aar、jar、so的引入和aar打包包含so、aar、jar文件

so依赖
 
1,先建本地仓库,指向so放置的目录
//建立本地仓库
sourceSets {
    main {
        jniLibs.srcDirs = ['libs/jniLibs']
    }
}
 
2,so加载
System.loadLibrary(so名称);
 
 
jar依赖
 
通过jar的全路径去依赖
implementation files('libs/jar/okio.jar')
 
aar依赖
 
 
通过aar的全路径去依赖
implementation files('libs/aar/test-debug.aar')
 
 
上面三种方式支持app和aar的打包,但是需要注意:
  1,aar中  打包的aar、jar、android包,app宿主是没办法直接引用的,如果aar和宿主需要使用相同的jar、aar、android包,可以通过gralde配置,把公共的aar和jar放置在工程的某个位置,通过gradle配置本地仓库,aar打包时不包含公用的jar和aar,在宿主中进行打包(重点建议:1,aar中不要打包jar、aar、android包,全部交给宿主去打包;2,如果实在需要aar中打包aar、jar、android包,也需要告知宿主对应的包,宿主需要剔除或者依赖,以免出现未知问题)
  2,app宿主和aar包中的so对应的cpu类型要一致,不然容易出现so找不到的问题
posted @ 2019-05-05 11:09  凤雏小呆  阅读(6355)  评论(0编辑  收藏  举报