Manera segura de resolver conflictos de dependencia para Drive y Dropbox?
Me gustaría integrar mi aplicación con una variedad de servicios de almacenamiento de archivos. Seguí las instrucciones de inicio rápido para la unidad sdk, que agrega un montón de tarros a mi directorio de librerías de proyectos. Además, el Dropbox sdk requiere la siguiente lista de tarros:
- Commons-logging-1.1.1.jar
- Dropbox-android-sdk-1.5.3.jar
- Httpclient-4.0.3.jar
- Httpcore-4.0.1.jar
- Httpmime-4.0.3.jar
- Json-simple-1.1.jar
Una vez que todos estos se agregan a mi proyecto, obtengo el siguiente error cuando intento ejecutar:
- Carpeta de datos de aplicaciones de Google Drive para Android que no incluye todos los niños
- Inicio rápido de la unidad NullPointerException
- Get filepath desde la unidad de google en Lollipop (MediaStore.MediaColumns.DATA == null)
- Android: solicitud HTTP de Google Drive
- No se pudo obtener la muestra de Token DrEdit android
Dex Loader] No se puede ejecutar dex: Varios archivos dex definen Lorg / apache / http / entity / mime / FormBodyPart;
Si quito el frasco de httpmime agregado para Dropbox, mi proyecto funciona muy bien. Pero, ¿es una manera segura de resolver el conflicto? ¿Hay un método alternativo con el cual puedo construir mi proyecto e incluir todos los frascos requeridos?
- SDK de Google Drive para OCR
- ¿Puedo utilizar Google Drive como base de datos?
- Uso de Android Drive API desde el servicio de fondo
- Cómo perder contenido de archivos en Google Drive
- Obtener todas las carpetas google drive api en Android
- Los datos de intención son nulos onactivityresult después de seleccionar la cuenta en google drive api en android
- Google Drive OCR Android
- Listando archivos y obteniendo información de una carpeta pública desde la unidad de google
Suponiendo que no hay conflictos de versión, esto funcionaría bien. Compare el httpmime-4.0.3.jar con el frasco httpmime que Drive añadió a su directorio libs. Si son iguales, entonces está bien. Si son diferentes, entonces usted tendrá que averiguar las diferencias entre los dos y asegurar que no están rompiendo los cambios. Como último recurso, también podría reempaquetar uno de los SDKs con su versión requerida de httpmime en un frasco selectivamente ofuscado con ProGuard, aunque eso es una molestia.
Si está desarrollando con Eclipse, considere usar Google Plugin para Eclipse. Proporciona una forma de agregar cualquier SDK de Google a tu aplicación. Todos los tarros se añaden automáticamente.
- Java Protobuf en Android – NoClassDefFoundError
- Android AVD Emulador Herramientas de desarrollo para el navegador móvil?