Как настроить APP-PLATFORM в Application.mk для соответствия targetSDKVersion в Android Studio 3.2.1 - PullRequest
0 голосов
/ 21 декабря 2018

Я пытаюсь импортировать AndroidLibSVM от YCTung в мой проект, но когда я запускаю код на своем планшете Android 6.0.1, я получаю эту ошибку:

java.lang.UnsatisfiedLinkError: dlopen failed: cannot locate symbol "__aeabi_memcpy"

Согласнодо этого поста или этого среди нескольких других, ошибку можно исправить, обновив APP-PLATFORM в NDK application.mk / android.mk , чтобы соответствовать targetSDK версии приложения.Тем не менее, я не могу найти эти файлы .mk.Они должны быть

"в подкаталоге каталога jni / вашего проекта",

, но я не знаю, где это тоже.Это мой build.gradle:

apply plugin: 'com.android.application'

android {
compileSdkVersion 28
defaultConfig {
    applicationId "com.krautkremer.nils.mymirror"
    minSdkVersion 23
    targetSdkVersion 28
    versionCode 1
    versionName "1.0"
    testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    externalNativeBuild {
        cmake {
            cppFlags ""
        }
    }
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}
packagingOptions {
    exclude 'META-INF/proguard/androidx-annotations.pro'
}

externalNativeBuild {
    cmake {
        path "CMakeLists.txt"
    }
}

}

Я не знаю много о NDK, и я довольно новичок в Java / Android / Android Studio / Gradle.Ценю помощь!

1 Ответ

0 голосов
/ 08 января 2019

Ты не.Ваша версия API NDK должна соответствовать вашей minSdkVersion.Ваше приложение не гарантированно будет работать на любом выпуске ниже вашей версии API NDK.externalNativeBuild обрабатывает это автоматически.Если вам нужно использовать API 28 для своих библиотек NDK, вам нужно установить minSdkVersion на 28.

Однако я не думаю, что здесь проблема.Этот вопрос поднимался три раза за последние две недели.Похоже, AndroidLibSVM был построен на Android-24 или выше.Как таковой, он не может быть использован на устройствах старше этого уровня API (все остальные вопросы пытались использовать его на Android-23). ​​

...