2017-01-11 2 views
0

Я использую банку (linphone.jar) в приложении для Android. В этой банке есть папка lib, в которой есть папки (armeabi, armeabi-v7a, x86) содержит .so файлы. Я получаю сообщение об ошибке при запуске приложения. Я проверил, что libgnustl_shared.so файл находится в папке armeabi, но все приложения врезаться со следующей ошибкой:Невозможно загрузить собственные библиотеки в приложении android

01-11 12:49:30.791 10484-10606/? E/ACRA: ACRA caught a UnsatisfiedLinkError for com.myapp.hp.testApp 
            java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/system/framework/android.test.runner.jar", zip file "/data/app/com.myapp.hp.testApp-1/base.apk"],nativeLibraryDirectories=[/data/app/com.myapp.hp.testApp-1/lib/arm, /vendor/lib, /system/lib]]] couldn't find "libgnustl_shared.so" 
             at java.lang.Runtime.loadLibrary(Runtime.java:366) 
             at java.lang.System.loadLibrary(System.java:988) 
             at org.linphone.core.LinphoneCoreFactoryImpl.<clinit>(LinphoneCoreFactoryImpl.java:51) 
             at java.lang.Class.classForName(Native Method) 
             at java.lang.Class.forName(Class.java:309) 
             at java.lang.Class.forName(Class.java:273) 
             at org.linphone.core.LinphoneCoreFactory.instance(LinphoneCoreFactory.java:47) 
             at com.myapp.hp.testApp.sip.LinphoneManager.register(LinphoneManager.java:74) 
             at com.myapp.hp.testApp.service.SipService.login(SipService.java:70) 
             at com.myapp.hp.testApp.plugin.SipHandler$2.execute(SipHandler.java:83) 
             at com.myapp.hp.testApp.plugin.SipHandler$2.execute(SipHandler.java:72) 
             at com.myapp.hp.testApp.plugin.Executable$AbstractExecutable$1.run(Executable.java:36) 
             at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112) 
             at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587) 
             at java.lang.Thread.run(Thread.java:818) 

Может кто-то подскажет, как я могу решить эту проблему?

+0

разместим ваш Gradle а –

ответ

1

Добавление .so библиотеки в Android Studio 1.0.2

1.Create Папка "jniLibs" внутри "SRC/основные /" 2.Put все библиотеки .so внутри "SRC/основные/jniLibs" папка 3.Folder структура выглядит,

| --app:

| - | --src:

| - | - | --main

| - | - | - | --jniLibs

| - | - | - | - | --armeabi

| - | - | - | - | - | - так файлы

|. - | - | - | - | --x86

| - | - | - | - | - | - -.so Файлы

Дополнительный код не требует просто синхронизации проекта и запуска приложения.

Ссылка https://github.com/commonsguy/sqlcipher-gradle/tree/master/src/main

+0

Ну я хочу поставить все эти родные LIBS в банке, а не сделать их как часть моего приложения Android (SRC/основные/jnilibs). Возможно ли остаться в банке и решить эту проблему? –

+1

Вам нужно будет упаковать их в файл aar, чтобы сделать это. –

+0

Этот учебник может помочь вам не попробовать http://www.coders-hub.com/2015/04/start-working-on-linphone-android-part-1.html http: // www .coders-hub.com/2015/06/Android-Linphone-исходный код-tutorial.html –

Смежные вопросы