花了几个小时寻找我的问题的解决方案并浏览各种论坛(包括这个论坛)后,我终于决定问我的问题,希望它在其他地方没有完全回答.
我正在尝试构建一个非常复杂的架构:
我首先成功完成了以下测试 - 我已经设法创建了一个没有NDK的模块库,并使用该应用程序进行编译. - 我还设法直接在应用程序中使用静态库和JNI
我没有通过以下步骤: - 模块内部的JNI和调用模块类的app的组合不起作用.
我认为问题在于aar的包含,因为当aar位于库构建/输出目录中时,我无法在我的应用程序的构建目录中找到爆炸的aar.此外,所有以前的测试(包括使用JNI都是成功的).
我没有使用实验模型,因为它是实验性的,静态库存在已知的局限性.
我的项目结构是:
- App
- src
- main
- java
- activity
- bar
- src
- main
- java
- class
- jni
- include
- *.h
- libs
- abis...
- libmod1.a
- libmod2.a
Android.mk
Application.mk
bar.c
bar.h
Run Code Online (Sandbox Code Playgroud)
app build.gradle看起来像这样:
apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion "23.0.0"
defaultConfig {
applicationId "com.test.foo"
minSdkVersion 10
targetSdkVersion 23
versionCode 1
versionName "1.0"
}
buildTypes { …Run Code Online (Sandbox Code Playgroud)