小编Wil*_*tte的帖子

Android Studio - App + NDK模块库

花了几个小时寻找我的问题的解决方案并浏览各种论坛(包括这个论坛)后,我终于决定问我的问题,希望它在其他地方没有完全回答.

我正在尝试构建一个非常复杂的架构:

  • 我有C源代码,我在分离静态库(.a)编译
  • 我在模块库中通过JNI使用它们
  • 我想在app项目中使用这个库.

我首先成功完成了以下测试 - 我已经设法创建了一个没有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)

c android module static-libraries android-ndk

5
推荐指数
1
解决办法
2822
查看次数

标签 统计

android ×1

android-ndk ×1

c ×1

module ×1

static-libraries ×1