dropbox sync api与Android中的另一个本机库冲突
我的应用程序使用使用本机api的tess two()库。当我使用单独的dropbox sync api与Android中的另一个本机库冲突,android,android-ndk,dropbox-api,Android,Android Ndk,Dropbox Api,我的应用程序使用使用本机api的tess two()库。当我使用单独的tesstwo或dropbox sync-api时,不会发生任何事情。但我的应用程序需要同时使用这两个库,当我同时添加两个库时,我遇到了dropbox sync api的异常,如下所示: 11-20 16:18:30.440: E/AndroidRuntime(7672): FATAL EXCEPTION: main 11-20 16:18:30.440: E/AndroidRuntime(7672): java.lang
tesstwo
或dropbox sync-api
时,不会发生任何事情。但我的应用程序需要同时使用这两个库,当我同时添加两个库时,我遇到了dropbox sync api
的异常,如下所示:
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)
通过将libDropboxSync.so从armeabi复制到armeabi-v7a文件夹可以解决这个问题,但我不知道它是如何工作的
关于dropbox 4rum的更多详细信息你的Android.mk看起来怎么样?我已经更新了我的问题。我不会从github源代码中更改任何内容,因为我认为两个库不会相互引用。有什么问题吗?我怀疑在两个库存在的情况下,构建过程出了问题。您能否使用dropbox.com/developers上的“API支持”链接提交支持票证?请包括一些附加信息:-您正在使用的同步SDK版本-您发现问题的Android版本和设备-您的应用程序的名称或应用程序ID-项目构建后libs/文件夹中的内容列表/屏幕截图。-生成的APK文件中的内容列表。这是一个zip文件,所以您可以更改扩展名并打开它。
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)