Android неудовлетворенная ссылка с использованием gradle экспериментальной v0.6.0-бета6

Я пытался создать простой проект для тестирования NDK, в котором jnilib использует предварительно собранную библиотеку .so, но я продолжаю получать ошибку UnsatisfiedLink:

С эмулятором:

java.lang.UnsatisfiedLinkError: dlopen failed: library "~/AndroidStudioProjects/HelloAndroidJni/app/src/main/jni/libs/dynamic/x86/libadd.so" not found

С фактическим устройством:

Caused by: java.lang.UnsatisfiedLinkError: Cannot load library: link_image[1891]:  1675 could not load needed library '~/AndroidStudioProjects/HelloAndroidJni/app/src/main/jni/libs/dynamic/armeabi/libadd.so' for 'libhello-android-jni.so' (load_library[1093]: Library '~/AndroidStudioProjects/HelloAndroidJni/app/src/main/jni/libs/dynamic/armeabi/libadd.so' not found)

Библиотека .so имеет единственную функцию add, которая добавляет 2 числа. Я скомпилировал его с помощью автономного набора инструментов NDK для различных ABI (доктор):

add.c
#include "add.h"

int add(int x, int y){
    return x + y;
}

Мой jni (файл .c):

#include <jni.h>
#include "add.h"


JNIEXPORT jint JNICALL
Java_com_example_tomas_helloandroidjni_MainActivity_addNumbersJni(JNIEnv *env, jobject instance,
                                                                  jint n1, jint n2) {

    return add(n1, n2);
}

Моя структура файлов выглядит так:

И мой файл Gradle (как определено вэкспериментальный грейд):

    apply plugin: 'com.android.model.application'

model {

    repositories {
        libs(PrebuiltLibraries) {
            libadd{
                headers.srcDir "src/main/jni/prebuilts/include"
                binaries.withType(SharedLibraryBinary) {
                    sharedLibraryFile = file("src/main/jni/libs/dynamic/${targetPlatform.getName()}/libadd.so")

                }
            }
        }
    }

    android {
        compileSdkVersion = 23
        buildToolsVersion = "23.0.2"


        sources {
            main {
                jni {
                    dependencies {
                        library "libadd" linkage "shared"
                    }
                }
            }
        }

        ndk {
            moduleName = "hello-android-jni"
            debuggable = true
        }

        defaultConfig.with {
            applicationId = "com.example.tomas.helloandroidjni"
            minSdkVersion.apiLevel = 15
            targetSdkVersion.apiLevel = 23
            versionCode = 1
            versionName = "1.0"
        }

        buildTypes {
            release {
                minifyEnabled = false
                proguardFiles.add(file("proguard-android.txt"))

            }
        }

        productFlavors {
            create ("x86"){
                ndk.abiFilters.add("x86")
            }

            create("arm"){
                ndk.abiFilters.add("armeabi")
            }

            create("arm7"){
                ndk.abiFilters.add("armeabi-v7a")
            }
            create ("fat"){

            }
        }

    }

}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:23.2.0'
}

Я не уверен, где искать, поскольку я продолжаю получать эту ошибку ... Может быть, мне нужно добавить флаг или что-то?

Спасибо заранее за любые советы!

РЕДАКТИРОВАТЬ 1.

Я пробовал со статическими библиотеками, и они работают нормально. Как следствие (добавления статических библиотек) я немного изменил структуру папок (соответственно изменив файл Gradle).

Я работаю над обоими:

Фактическое устройство:Samsung GT-I8190L Android 4.1.2, API 16 - процессор ARMv7, версия 1 (v7l)Эмулятор:Nexus 4 API 23 - x86

РЕДАКТИРОВАТЬ 2.

Для компиляции библиотек я делаю это сNDK Standalone Toolchain:

Фактическое устройство (ARMv7):SYSROOT = $ NDK / платформы / андроид-21 / арка-рука а такжеCC = "$ NDK / toolchains / arm-linux-androideabi-4.8 / prebuilt / darwin-x86_64 / bin / arm-linux-androideabi-gcc-4.8 --sysroot = $ SYSROOT"

Эмулятор (x86):SYSROOT = $ NDK / платформы / андроида-21 / арка-x86 а такжеCC = "/ Пользователи / Томас / Библиотека / Android / android-ndk-r10e / toolchains / x86-4.8 / prebuilt / darwin-x86_64 / bin / i686-linux-android-gcc-4.8 --sysroot = $ SYSROOT"

Ответы на вопрос(1)

Ваш ответ на вопрос