Я пытаюсь загрузить собственные библиотеки в студии android. Мой проект строит и запускает, но выдает ошибку при попытке загрузить файл .so.Ошибка при загрузке Native Library в Android
Моя структура Проект:
И мой Gradle Файл:
import com.android.build.gradle.tasks.PackageApplication
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.2.3'
}
}
apply plugin: 'com.android.application'
repositories {
mavenCentral()
}
dependencies {
compile 'com.nineoldandroids:library:2.4.0'
compile 'com.actionbarsherlock:actionbarsherlock:[email protected]'
compile 'com.android.support:support-v4:22.1.1'
compile fileTree(dir: 'libs', include: '*.jar')
}
android {
compileSdkVersion 19
buildToolsVersion '19.1.0'
/*
signingConfigs {
release {
storeFile file(System.console().readLine("\n\$ Enter keystore path: "))
storePassword System.console().readLine("\n\$ Enter keystore password: ")
keyAlias System.console().readLine("\n\$ Enter key alias: ")
keyPassword System.console().readLine("\n\$ Enter key password: ")
}
}
buildTypes {
release {
signingConfig signingConfigs.release
}
}
*/
getNdkDirectory()
defaultConfig {
minSdkVersion 10
targetSdkVersion 22
}
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['src']
aidl.srcDirs = ['src']
renderscript.srcDirs = ['src']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
}
instrumentTest.setRoot('tests')
}
buildTypes {
debug {
debuggable true
jniDebuggable true
}
}
}
/*
* JNI Hack for gradle - works alright, copies native libs over into build folder no problem
* https://gist.github.com/khernyo/4226923
*/
task copyNativeLibs(type: Copy) {
from(new File('libs')) { include '**/*.so' }
into new File(buildDir, 'native-libs')
}
tasks.withType(JavaCompile) { options.encoding = "UTF-8" }
clean.dependsOn 'cleanCopyNativeLibs'
tasks.withType(PackageApplication) { pkgTask ->
pkgTask.jniFolders = new HashSet<File>()
pkgTask.jniFolders.add(new File(projectDir, 'native-libs'))
}
Я пытаюсь загрузить файлы, такие как:
static {
System.loadLibrary("NativeAudio");
}
Получаю следующее ошибка:
java.lang.UnsatisfiedLinkError: Couldn't load Plumble from loader dalvik.system.PathClassLoader[DexPathList[[zip file "/mnt/asec/com.morlunk.mumbleclient-1/pkg.apk"],nativeLibraryDirectories=[/mnt/asec/com.morlunk.mumbleclient-1/lib, /vendor/lib, /system/lib, /system/lib/arm]]]: findLibrary returned null
Я пробовал много refrences, но не смог решить проблему. Использование Android Studio и Gradle Версия: 1.2.3
ваша библиотека скомпилирована для Intel, так что вы можете использовать ARM симулятор –
есть вы пытаетесь импортировать его с Gradle? Я имею в виду: скомпилировать файлы ('libs/xxx.so') в вашей зависимой части –
Я получаю только локальные зависимости Jar-типа. Не удается обработать: C: \ Users \ Administrator \ Desktop \ Plumble-Legacy-master \ libs \ x86 \ libPlumble.so – user3036123