想把自己的 aar 里的 so 进行一些处理后重新打包进 aar,如何操作?

2018-02-05 10:06:28 +08:00
 paparika
9352 次点击
所在节点    Android
5 条回复
fxxkgw
2018-02-05 10:53:07 +08:00
如果是 LINUX 系统的话,设置下 LD_LIBRARY_PATH 就可以,比如 so 放在 /test/a.so ,那个设置 LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/test 就可以了。
安卓应该也差不多吧,毕竟动态链接库系统初始化时候不加载,在用的时候能找到路径就可以了。。
paparika
2018-02-05 11:58:13 +08:00
@fxxkgw 谢谢,用的 macos,没找到这个宏。。。有说把 aar 重新打 zip 的,我試了下,grade 提示没办法 merge manifest
XinLake
2018-02-05 12:57:20 +08:00
so 处理后放到 aar 模块下 src\main\jniLibs 对应的目录里,重新编译 aar 模块。

参考信息(将 OpenCV 打包为 Android AAR ):
https://xinlake.github.io/2017-08/opencv-aar/
paparika
2018-02-05 14:18:53 +08:00
比较奇怪的是 IDE 读取新 aar 后对其目录结构进行了更改,导致它找不到对应文件
paparika
2018-02-05 14:45:32 +08:00
结贴 jar cvf newlib.aar -C tempFolder/ .

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/428489

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX