[edit] "简单"问题,长篇复杂的细节如下:
问: Android Studio中有哪些步骤和项目布局要求来开发和维护本身不是OSS的可分发SDK?
详细信息:
在Develop an sdk in android中回答了一个类似的问题,但这是一段很好的事情,但似乎没有得到答案。 How do I add a project to the Android Studio有很多好消息,但它似乎无法解决我的具体情况。这是:
- 大量遗留的C / C ++代码,它拥有自己的遗留构建系统,恰好是交叉编译器友好的
- 胶水的工作JNI配置,当与上述相结合时,会产生
- 我们的" SDK",显示为.aar文件;它不是开源的,因此最终用户/开发人员不能(重新)构建SDK
- 示例应用程序,我们将与源代码一起分发,可用作如何使用我们的SDK的功能示例
醇>
我们在Eclipse的日子里开始了所有这一切,然后才有Android Studio。然后今天构建过程有一堆手动步骤;我们目前正在使用Android Studio 2.1.2。目标是:
- 生成适用于最终用户开发人员解码的黑盒SDK以及示例代码
- 内部,能够以最少的麻烦调试SDK和示例代码
目前的手动步骤如下:
- 构建遗留代码,生成当前特定于ARM的.a(仍然需要添加x86,有一天可能会支持mips,如果有人使用它的话......)
- 运行ndk-build(我们目前硬编码使用NDK r9d)知道从步骤1中找到.a的位置并生成适合JNI的.so
- 将.so复制到SDK Android Studio项目&#s; src / main / jniLibs / armeabi
- 执行"构建:重建项目",生成.aar文件
- 将.aar复制到示例代码项目&#39> libname -debug / directory
- 做一个"构建:重建项目"和/或"构建:构建APK"并在必要时在我们的各种设备上进行调试
醇>
我接受我可能会被永远地手动执行第1步 - 这是"遗产"的价格。 - 也许是第2步。但是能够改进步骤3-6真的很棒。通过这样做,我希望任何可交付的Gradle文件适用于我们的内部开发人员,他们可以查看SDK内部以及无法看到内部的最终用户开发人员SDK。
TIA指出我错过的SO主题。