Dropbox的同步API - 不合适的链接错误 [英] Dropbox Sync API - Unsatisfied Link Error

查看:124
本文介绍了Dropbox的同步API - 不合适的链接错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想在我现有的Andr​​oid应用程序实施 DropboxSync API。
我已经下载了 DropboxSync API和复制所有的库在我的应用程序的lib文件夹。 我也指出了本机库位置的库文件夹libDropboxSync.so所在。

I am trying to implement DropboxSync API in my existing Android Application.
I have downloaded the DropboxSync API and copied all the libs in my Application's lib folder.
I have also pointed the Native Library location to the libs folder where libDropboxSync.so is located.

的Manifest.xml

....
        <!-- Dropbox Activities -->
    <activity android:name="com.dropbox.sync.android.DbxAuthActivity" />
    <activity
        android:name="com.dropbox.client2.android.AuthActivity"
        android:launchMode="singleTask" >
        <intent-filter>
            <data android:scheme="db-intentionally-hidden-app-key" />

            <action android:name="android.intent.action.VIEW" />

            <category android:name="android.intent.category.BROWSABLE" />
            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </activity>

    <service
        android:name="com.dropbox.sync.android.DbxSyncService"
        android:enabled="true"
        android:exported="false"
        android:label="Dropbox Sync" />



Main_Activity.java

public class Activity_Main extends Activity implements OnClickListener,
OnItemClickListener, OnTouchListener {
....
....
....
private DbxAccountManager mDbxAcctMgr;

onCreate(....)
{
//Application giving FATAL EXCEPTION on the line below.
mDbxAcctMgr = DbxAccountManager.getInstance((Activity)Activity_Main.this, DROPBOX_APP_KEY, DROPBOX_APP_SECRET); 
....
}
....
}



logcat的日志

12-06 10:10:25.362: E/AndroidRuntime(8110): FATAL EXCEPTION: main
12-06 10:10:25.362: E/AndroidRuntime(8110): Process: com.***.***, PID: 8110
12-06 10:10:25.362: E/AndroidRuntime(8110): java.lang.UnsatisfiedLinkError: Couldn't load DropboxSync from loader dalvik.system.PathClassLoader[DexPathList[[zip file "/system/framework/com.google.android.maps.jar", zip file "/data/app/com.***.***-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.***.***-1, /vendor/lib, /system/lib]]]: findLibrary returned null
12-06 10:10:25.362: E/AndroidRuntime(8110):     at java.lang.Runtime.loadLibrary(Runtime.java:358)
12-06 10:10:25.362: E/AndroidRuntime(8110):     at java.lang.System.loadLibrary(System.java:526)
12-06 10:10:25.362: E/AndroidRuntime(8110):     at com.dropbox.sync.android.NativeHttp.<clinit>(NativeHttp.java:447)
12-06 10:10:25.362: E/AndroidRuntime(8110):     at com.dropbox.sync.android.NativeLib.<init>(NativeLib.java:33)
12-06 10:10:25.362: E/AndroidRuntime(8110):     at com.dropbox.sync.android.NativeLib.<clinit>(NativeLib.java:11)
12-06 10:10:25.362: E/AndroidRuntime(8110):     at com.dropbox.sync.android.CoreAccountManager.initNativeLib(CoreAccountManager.java:155)
12-06 10:10:25.362: E/AndroidRuntime(8110):     at com.dropbox.sync.android.CoreAccountManager.<init>(CoreAccountManager.java:126)
12-06 10:10:25.362: E/AndroidRuntime(8110):     at com.dropbox.sync.android.DbxAccountManager.getInstance(DbxAccountManager.java:149)
12-06 10:10:25.362: E/AndroidRuntime(8110):     at com.dropbox.sync.android.DbxAccountManager.getInstance(DbxAccountManager.java:115)
12-06 10:10:25.362: E/AndroidRuntime(8110):     at com.***.***.activities.Activity_Main.onCreate(Activity_Main.java:459)
12-06 10:10:25.362: E/AndroidRuntime(8110):     at android.app.Activity.performCreate(Activity.java:5243)
12-06 10:10:25.362: E/AndroidRuntime(8110):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
12-06 10:10:25.362: E/AndroidRuntime(8110):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2140)
12-06 10:10:25.362: E/AndroidRuntime(8110):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2226)
12-06 10:10:25.362: E/AndroidRuntime(8110):     at android.app.ActivityThread.access$700(ActivityThread.java:135)
12-06 10:10:25.362: E/AndroidRuntime(8110):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1397)
12-06 10:10:25.362: E/AndroidRuntime(8110):     at android.os.Handler.dispatchMessage(Handler.java:102)
12-06 10:10:25.362: E/AndroidRuntime(8110):     at android.os.Looper.loop(Looper.java:137)
12-06 10:10:25.362: E/AndroidRuntime(8110):     at android.app.ActivityThread.main(ActivityThread.java:4998)
12-06 10:10:25.362: E/AndroidRuntime(8110):     at java.lang.reflect.Method.invokeNative(Native Method)
12-06 10:10:25.362: E/AndroidRuntime(8110):     at java.lang.reflect.Method.invoke(Method.java:515)
12-06 10:10:25.362: E/AndroidRuntime(8110):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:777)
12-06 10:10:25.362: E/AndroidRuntime(8110):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:593)
12-06 10:10:25.362: E/AndroidRuntime(8110):     at dalvik.system.NativeStart.main(Native Method)
12-06 10:10:25.532: W/ActivityThread(8110): ClassLoader.loadClass: The class loader returned by Thread.getContextClassLoader() may fail for processes that host multiple applications. You should explicitly specify a context class loader. For example: Thread.setContextClassLoader(getClass().getClassLoader());

我已经尝试过这种解决方案:<一href="http://stackoverflow.com/questions/15610906/error-in-dropboxsync-findlibrary-returned-null">Error在dropboxSync:。findlibrary返回null
但它不是为我工作
所以,请不要标记这个问题作为一个重复

I have already tried this solution :Error in dropboxSync: findlibrary returned null
But it is not working for me.
So please don't mark this question as a duplicate.

任何帮助是非常AP preciated,谢谢。

Any Help is highly appreciated, thanks.

推荐答案

libDropboxSync.so 是缺少 armeabi-V7A libs文件夹目录。
我复制 libDropboxSync.so armeabi-V7 文件夹 armeabi-V7A 目录文件夹,和库已成功加载。
由于我使用谷歌 - 的Nexus-7 第二代的调试,因此 DropboxSync armeabi-V7A 文件夹是必须的。

libDropboxSync.so was missing in armeabi-v7a folder under the libs directory.
I copied libDropboxSync.so from armeabi-v7 folder to armeabi-v7a folder under the libs directory, and the library was loaded successfully.
Since i am using Google-Nexus-7 2nd generation for debugging, therefore the DropboxSync library in armeabi-v7a folder was a must.

这篇关于Dropbox的同步API - 不合适的链接错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆