V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
paparika
V2EX  ›  Android

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

  •  
  •   paparika · 2018-02-05 10:06:28 +08:00 · 9347 次点击
    这是一个创建于 2487 天前的主题,其中的信息可能已经有所发展或是发生改变。
    5 条回复    2018-02-05 14:45:32 +08:00
    fxxkgw
        1
    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
        2
    paparika  
    OP
       2018-02-05 11:58:13 +08:00
    @fxxkgw 谢谢,用的 macos,没找到这个宏。。。有说把 aar 重新打 zip 的,我試了下,grade 提示没办法 merge manifest
    XinLake
        3
    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
        4
    paparika  
    OP
       2018-02-05 14:18:53 +08:00
    比较奇怪的是 IDE 读取新 aar 后对其目录结构进行了更改,导致它找不到对应文件
    paparika
        5
    paparika  
    OP
       2018-02-05 14:45:32 +08:00
    结贴 jar cvf newlib.aar -C tempFolder/ .
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3667 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 19ms · UTC 00:47 · PVG 08:47 · LAX 16:47 · JFK 19:47
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.