2013-11-20 4 views
0

Приложение для использования tess-two (https://github.com/rmtheis/tess-two) библиотека, которая использует родные api. Когда я использую отдельный tess-two или dropbox sync api, ничего не происходит. Но мое приложение нужно использовать обе библиотеки, и когда я добавляю две библиотеки в то же время, я получил исключение с dropbox sync api, как это:Конфликт dropbox sync api с другой родной библиотекой в ​​Android

11-20 16:18:30.440: E/AndroidRuntime(7672): FATAL EXCEPTION: main 
11-20 16:18:30.440: E/AndroidRuntime(7672): java.lang.ExceptionInInitializerError 
11-20 16:18:30.440: E/AndroidRuntime(7672): at com.dropbox.sync.android.CoreAccountManager.initNativeLib(CoreAccountManager.java:155) 
11-20 16:18:30.440: E/AndroidRuntime(7672): at com.dropbox.sync.android.CoreAccountManager.<init>(CoreAccountManager.java:126) 
11-20 16:18:30.440: E/AndroidRuntime(7672): at com.dropbox.sync.android.DbxAccountManager.getInstance(DbxAccountManager.java:149) 
11-20 16:18:30.440: E/AndroidRuntime(7672): at com.dropbox.sync.android.DbxAccountManager.getInstance(DbxAccountManager.java:115) 
11-20 16:18:30.440: E/AndroidRuntime(7672): at com.appiphany.roboscanner.utils.Config.getDropboxAccountManager(Config.java:19) 
11-20 16:18:30.440: E/AndroidRuntime(7672): at com.appiphany.roboscanner.DocumentListFragment.onAttach(DocumentListFragment.java:110) 
11-20 16:18:30.440: E/AndroidRuntime(7672): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:883) 
11-20 16:18:30.440: E/AndroidRuntime(7672): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1104) 
11-20 16:18:30.440: E/AndroidRuntime(7672): at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:682) 
11-20 16:18:30.440: E/AndroidRuntime(7672): at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1467) 
11-20 16:18:30.440: E/AndroidRuntime(7672): at android.support.v4.app.FragmentActivity.onStart(FragmentActivity.java:570) 
11-20 16:18:30.440: E/AndroidRuntime(7672): at com.appiphany.roboscanner.BaseActivity.onStart(BaseActivity.java:28) 
11-20 16:18:30.440: E/AndroidRuntime(7672): at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1167) 
11-20 16:18:30.440: E/AndroidRuntime(7672): at android.app.Activity.performStart(Activity.java:5216) 
11-20 16:18:30.440: E/AndroidRuntime(7672): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2073) 
11-20 16:18:30.440: E/AndroidRuntime(7672): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2125) 
11-20 16:18:30.440: E/AndroidRuntime(7672): at android.app.ActivityThread.access$600(ActivityThread.java:140) 
11-20 16:18:30.440: E/AndroidRuntime(7672): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1227) 
11-20 16:18:30.440: E/AndroidRuntime(7672): at android.os.Handler.dispatchMessage(Handler.java:99) 
11-20 16:18:30.440: E/AndroidRuntime(7672): at android.os.Looper.loop(Looper.java:137) 
11-20 16:18:30.440: E/AndroidRuntime(7672): at android.app.ActivityThread.main(ActivityThread.java:4898) 
11-20 16:18:30.440: E/AndroidRuntime(7672): at java.lang.reflect.Method.invokeNative(Native Method) 
11-20 16:18:30.440: E/AndroidRuntime(7672): at java.lang.reflect.Method.invoke(Method.java:511) 
11-20 16:18:30.440: E/AndroidRuntime(7672): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1006) 
11-20 16:18:30.440: E/AndroidRuntime(7672): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:773) 
11-20 16:18:30.440: E/AndroidRuntime(7672): at dalvik.system.NativeStart.main(Native Method) 
11-20 16:18:30.440: E/AndroidRuntime(7672): Caused by: java.lang.ExceptionInInitializerError 
11-20 16:18:30.440: E/AndroidRuntime(7672): at com.dropbox.sync.android.NativeLib.<init>(NativeLib.java:33) 
11-20 16:18:30.440: E/AndroidRuntime(7672): at com.dropbox.sync.android.NativeLib.<clinit>(NativeLib.java:11) 
11-20 16:18:30.440: E/AndroidRuntime(7672): ... 26 more 
11-20 16:18:30.440: E/AndroidRuntime(7672): Caused by: java.lang.UnsatisfiedLinkError: Couldn't load DropboxSync: findLibrary returned null 
11-20 16:18:30.440: E/AndroidRuntime(7672): at java.lang.Runtime.loadLibrary(Runtime.java:365) 
11-20 16:18:30.440: E/AndroidRuntime(7672): at java.lang.System.loadLibrary(System.java:535) 
11-20 16:18:30.440: E/AndroidRuntime(7672): at com.dropbox.sync.android.NativeHttp.<clinit>(NativeHttp.java:446) 

Я уверен, что я скопировал все .so и библиотеки банку файлы dropbox sync api в мою папку libs. И я также ссылаюсь на эту ссылку Error in dropboxSync: findlibrary returned null, но она не работает.
Есть ли идеи?

Обновление: мой Android.mk Тесс-два взгляда, как это (я не меняю ничего из источника GitHub, потому что я думаю, что две библиотеки не ссылаются друг на друга):

LOCAL_PATH := $(call my-dir) 
TESSERACT_PATH := $(LOCAL_PATH)/com_googlecode_tesseract_android/src 
LEPTONICA_PATH := $(LOCAL_PATH)/com_googlecode_leptonica_android/src 

# Just build the Android.mk files in the subdirs 
include $(call all-subdir-makefiles) 
+0

Как выглядит ваш Android.mk? – eozgonul

+0

Я обновил свой вопрос. Я ничего не меняю из источника github, потому что я думаю, что две библиотеки не ссылаются друг на друга. Есть какие-либо проблемы? – R4j

+0

Я подозреваю, что что-то не так с процессом сборки в присутствии двух библиотек. Можете ли вы отправить заявку на поддержку с помощью ссылки «Поддержка API» на сайте dropbox.com/developers? Пожалуйста, включите дополнительную информацию: - версии SDK синхронизации вы используете - The Android версии и устройства, где вы видите проблему - имя или идентификатор приложения вашего приложения - А список/screenshot того, что находится в папке libs/вашего проекта после его создания. - Список того, что находится внутри сгенерированного файла APK. Это zip-файл, поэтому вы можете просто изменить расширение и открыть его. – atwyman

ответ

0

Проблема решена копируя libDropboxSync.so из armeabi в папку armeabi-v7a, но я не знаю, как это может работать.
Подробнее в my own question от dropbox 4rum

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