android - realtime - Gradle no se pudo sincronizar con ''no se puede encontrar la biblioteca opcional''
realtime firebase android studio (9)
- Copie " sdk / Platform / android-23 / optional / org.apache.http.legacy.jar " en el directorio de aplicaciones del módulo libs, luego añádalo como biblioteca;
- Si habilita el programa, edite " proguard-rules.pro " para mantener las clases relacionadas o se producirá una excepción.
Tuve que reinstalar mi sistema y hoy recibo este error en Android Studio cuando intento sincronizar con gradle:
Warning: Unable to find optional library: org.apache.http.legacy
Mi proyecto gradle es:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath ''com.android.tools.build:gradle:1.3.0''
}
}
allprojects {
repositories {
mavenCentral()
}
}
Y mi módulo gradle:
apply plugin: ''android''
android {
useLibrary ''org.apache.http.legacy''
compileSdkVersion 23
buildToolsVersion ''23.0.2''
defaultConfig {
minSdkVersion 16
targetSdkVersion 23
}
buildTypes {
release {
}
}
productFlavors {
}
}
dependencies {
compile fileTree(include: [''*.jar''], dir: ''libs'')
compile ''com.android.support:support-v4:23.1.1''
compile ''com.android.support:appcompat-v7:23.1.1''
}
Para continuar usando las API HTTP de Apache, primero debe declarar la siguiente dependencia de tiempo de compilación en su archivo build.gradle:
android { useLibrary ''org.apache.http.legacy'' }
Intenté las sugerencias mencionadas en este hilo pero no funcionan. Mismo resultado con Android Studio 1.5 y 2 de vista previa.
¿Cómo puedo arreglar esto?
Edit : Cosas que he probado hasta ahora:
Cambie las versiones de gradle classpath a 1.3.0, 1.3.1, 1.5.0.
Cambie
compileSdkVersion
ytargetSdkVersion
a 22. También buildToolsVersion de 23.0.1, 23.0.0, 22.0.1.
Actualice su proyecto de archivo gradle para usar la versión gradle 1.3.1.
classpath ''com.android.tools.build:gradle:1.3.1''
También intente agregar codehause repo.
repositories {
mavenCentral()
maven{
url ''http://repository.codehaus.org''
}
}
Debe agregar el archivo jar org.apache.http.legacy.jar
en la carpeta de aplicaciones / libs de su proyecto Android Stuido.
Jar Location - `<SDK LOCATION>/android-sdk/platforms/android-23/optional`
Para hacer esto, simplemente haga clic derecho en su proyecto y seleccione Show in Explorer
luego vaya a .../app/libs
y pegue el archivo jar anterior y Sincronice su proyecto con el archivo Gradle
Module:app
android {
compileSdkVersion ''Google Inc.:Google APIs:23''
buildToolsVersion "24.0.0"
defaultConfig {
applicationId "<ur_app_id>"
minSdkVersion 15
targetSdkVersion 23
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile(''proguard-android.txt''), ''proguard-rules.pro''
}
}
}
Después de mucho trabajar estas soluciones funcionan para mí. ** Studio / Android / sdk / platformas ** aquí, elimine su android-23 y, desde el administrador de sdk, actualice la API 23 de nuevo. **. Se solucionará su problema.
En mi caso, el problema realmente estaba ocurriendo porque no tenía el SDK correcto instalado en esa computadora. Navegando a .../Android/Sdk/platforms/android-23
pude ver que la carpeta estaba vacía. La adición del SDK 23 a través del administrador del SDK solucionó el problema y me permitió compilar.
Debería verificar manualmente que tiene instalada la misma versión del SDK que se especifica en compileSdkVersion
en su archivo build.gradle.
En mi caso, no funcionó porque faltaba optional.json
en el directorio <sdk-path>/platforms/android-23/optional/
, con el siguiente contenido:
[
{
"name": "org.apache.http.legacy",
"jar": "org.apache.http.legacy.jar",
"manifest": false
}
]
Crear un nuevo archivo JSON con el contenido anterior solucionó el problema para mí.
Nivel superior build.gradle - /build.gradle
buildscript {
...
dependencies {
classpath ''com.android.tools.build:gradle:1.3.1''
}
}
Módulo específico build.gradle - /app/build.gradle
android {
compileSdkVersion 23
buildToolsVersion "23.0.0"
useLibrary ''org.apache.http.legacy''
...
}
Agregue org.apache.http.legacy.jar que se encuentra en la carpeta Android / Sdk / platform / android-23 / optional al directorio app / libs y sincronice su proyecto
Para ahorrar tiempo, 2 soluciones son mejores y funcionan para mí.
Solución 1:
abra su administrador de Android SDK y vuelva a instalar API 23 (eliminar e instalar de nuevo).
Solución 2:
Descargue este archivo que contiene el extracto de archivo optional.json
y mueva opcional.json a:
C: / Users // AppData / Local / Android / sdk / platforms / android-23 / opcional
Si la solución anterior no funciona, intente de esta manera
Experimenté este problema recientemente, y se debe a la restricción de la longitud de la ruta. Creo que tiene un máximo de 256 caracteres.
Reubica tu proyecto y la construcción tendrá éxito.