Dropbox Sync API – Error de enlace no satisfecho
Estoy intentando implementar DropboxSync
API en mi aplicación Android existente.
He descargado la API de DropboxSync
y DropboxSync
copiado todas las librerías en la carpeta lib de mi aplicación.
También he señalado la ubicación de la biblioteca nativa a la carpeta libs donde se encuentra libDropboxSync.so.
Manifest.xml
- Cómo importar Dropbox Chooser SDK en Android Studio?
- API de Dropbox de Android que no guarda el inicio de sesión
- Uso de la API de Dropbox para cargar un archivo con Android
- Gradle release build con proguard: java.lang.IncompatibleClassChangeError y java.lang.NoSuchMethodError
- Almacenamiento de claves API en Android, ¿es obfustificación suficiente?
.... <!-- 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 Logs
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());
Ya he probado esta solución: Error en dropboxSync: findlibrary devuelto null
Pero no está funcionando para mí.
Por favor, no marque esta pregunta como un duplicado.
Cualquier ayuda es muy apreciada, gracias.
- Lectura del archivo .txt desde un enlace compartido desde un dropbox Android studio
- Cómo compartir la carpeta de aplicaciones con otro usuario de Dropbox
- ¿Cómo puedo obtener mi APP_KEY y SECRET_KEY para la sincronización de Dropbox?
- ¿Cómo autenticar varias cuentas en Android dropbox sdk 1.5.1?
- Uso de los detalles de autenticación de Dropbox guardados en Android
- Permitir que la API de Dropbox acceda a mi cuenta en el dispositivo del usuario
- Archivo de carga de Android en Google Drive y Dropbox
- Dropbox SDK para Android: no puede encontrar AndroidAuthSession
libDropboxSync.so
faltaba en la carpeta armeabi-v7a
en el directorio libs
.
Copié libDropboxSync.so
de la carpeta armeabi-v7
carpeta armeabi-v7a
en el directorio libs
y la biblioteca se cargó correctamente.
Desde que estoy usando Google-Nexus-7
2 ª generación para la depuración, por lo tanto la biblioteca armeabi-v7a
en armeabi-v7a
carpeta era una necesidad.
Compruebe el punto 3 y 4. Dar 2 minutos de mirada en esos dos.
- En Android Studio, cambie a la "vista de proyecto".
- Desde el directorio libs del SDK descargado, arrastre dropbox-sync-sdk-android.jar en el directorio app / libs de su proyecto.
- Haga clic derecho en dropbox-sync-sdk-android.jar y elija "Añadir como biblioteca". Haga clic en "Aceptar" en el cuadro de diálogo que aparece.
- Haga un nuevo directorio en su proyecto en app / src / main llamado jniLibs. Desde el SDK, arrastre armeabi, armeabi-v7a, mips y x86 en el nuevo directorio jniLibs.
Encontró una solución en algún grupo de Google comprimir esto a un archivo zip: lib / armeabi / libDropboxSync.so
** ¡presta atención! Tiene que ser 'lib' y no 'libs' **
Ahora, cambie el nombre del archivo 'lib.zip' a 'armeabi.jar' y agréguelo al directorio 'libs' de su módulo (donde está el dropbox jar) todas las otras 'soluciones' encontradas en línea no ayudaron excepto éste.
Hazlo por cada entorno que necesites, como armeabi-v7, etc.
- En el módulo BillingService, ¿qué necesita modificarse para aumentar la seguridad?
- Facebook Android sdk lanzando falta redireccionamiento uri en Authetication