打包Java / JNI包装的C ++库(具有.so依赖关系)以进行分发

时间:2018-03-23 14:56:35

标签: android build

我有以下结构:

  1. Android(Java) testApp / consumer ,演示/使用:
    1. Java / JNI 包装 ,包装:
      1. C ++ 引擎 ,它依赖于:
        1. FFT.so (我自己编译) 对于每个架构{arm7,arm8,x86,x86_64},我都有一个单独的.so的复杂性。
  2. 我已经将所有组件单独工作了。

    我打算将这个引擎卖给Android开发者。引擎本身必须是二进制/闭源。其余部分并不重要。

    重要的是优化开发人员集成引擎的体验。

    我的问题是: 什么是最干净的结构?

    首先,我需要发货:
      - engine.so
      - fft.so

    但是现在如何设计包装器以尽量减少将其放入第三方应用程序的工作量?

    我可以把它变成库模块吗?我很确定我昨天读到/ jniLibs /存在问题。即只需将文件放在/ jniLibs /文件夹中即可将多拱.so放入app模块,但不能使用模块执行此操作。

    所以我认为我可以把它变成一个库模块,甚至可以把它编译成.so。但消费者需要链接到/jniLibs/$ARCH/libfft.so和engine.so以及wrapper.so。

    感觉必须有一些标准的方法来打包这样的东西,但我缺乏经验和观点。

0 个答案:

没有答案