studio - agregue ''tools: replace="Android: value"'' al elemento<meta-data> en AndroidManifest
gradle version android studio (10)
Estoy siguiendo un tutorial en el desarrollo de HeadFirst para Android y encontré problemas después de agregar: private ActionBarDrawerToggle drawerToggle;
El control quedó en desuso, así que seguí las instrucciones en Stack para resolver ese problema agregando com.android.support:appcompat-v7:26.0.0-alpha1 a las dependencias de los módulos de la aplicación
Pero ahora recibo los siguientes errores de compilación:
Error: Error de ejecución para la tarea '': aplicación: processDebugManifest''.
La fusión del manifiesto falló: Atributo metadatos#android.support.VERSION@value value = (25.3.1) de [com.android.support:recyclerview-v7:25.3.1] AndroidManifest.xml: 24: 9-31 también es presente en [com.android.support:appcompat-v7:26.0.0-alpha1] AndroidManifest.xml: 27: 9-38 value = (26.0.0-alpha1). Sugerencia: agregue ''tools: replace = "android: value"'' al elemento en AndroidManifest.xml: 22: 5-24: 34 para anular.
Aquí está el código:
- En Android Studio -> Abrir archivo de manifiesto
- Cambie a Manifiesto combinado y verifique el archivo Otro manifiesto.
En mi caso estoy usando archivos de soporte 26.1.0 pero encontré que support-v13 es 26.0.1
Así que agregué la
implementation ''com.android.support:support-v13:26.1.0''
al archivo Gradle y el problema se resolvió
Abra Android Studio -> Abrir archivo de manifiesto
Agregue
<uses-sdk tools:overrideLibrary="android.support.v17.leanback"/>
.
No olvide incluir
xmlns:tools="http://schemas.android.com/tools"
también, antes de la etiqueta
<application>
reemplazar
compile ''com.android.support:recyclerview-v7:+''
por
compile ''com.android.support:recyclerview-v7:25.3.1''
y añadir
compile ''com.android.support:appcompat-v7:25.3.1''
compile ''com.android.support:design:25.3.1''
Cambió todas las versiones de la biblioteca de soporte a 25.3.1 y funcionó de maravilla:
compile ''com.android.support:appcompat-v7:25.3.1''
compile ''com.android.support:design:25.3.1''
También debe cambiar los siguientes parámetros a 25:
compileSdkVersion 25
targetSdkVersion 25
El problema es que todas las bibliotecas de soporte con la misma versión y versión principal tienen que coincidir con la versión de compilación del SDK.
Intente forzar una versión específica de la biblioteca de soporte.
Ponga esto al final del módulo de su aplicación en
build.gradle
.
configurations.all {
resolutionStrategy.eachDependency { DependencyResolveDetails details ->
def requested = details.requested
if (requested.group == ''com.android.support'') {
if (!requested.name.startsWith("multidex")) {
details.useVersion ''25.3.0''
}
}
}
}
Este código resolvió mi problema
"El problema es que todas las bibliotecas de soporte con la misma versión y versión principal tienen que coincidir con la versión de compilación del SDK.
Intente forzar una versión específica de la biblioteca de soporte. Ponga esto al final del módulo de su aplicación en build.gradle ".
Gracias
La respuesta de @sagar giri es una solución temporal. Lo que hice para resolver esto se explica al final.
Si tiene la última biblioteca de soporte instalada en el último estudio de Android y si tiene una versión anterior de la biblioteca de soporte en el módulo de la aplicación Build Gradle, entonces Android Studio falla debido a la falta de coincidencia de versión.
Por lo tanto, actualice la versión de su biblioteca de soporte a la última y corrija los últimos cambios de la biblioteca de soporte, como el cambio de nombre de iconos, etc.
Espero eso ayude...
Primero agregue esta línea a su etiqueta de manifiesto si aún no tiene:
xmlns:tools="http://schemas.android.com/tools"
Ejemplo:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.winanainc"
android:versionCode="3"
android:versionName="1.2"
xmlns:tools="http://schemas.android.com/tools">
Luego agregue esta metaetiqueta dentro de su aplicación para sobrescribir su versión de herramientas de compilación, en este caso, por ejemplo, elegí la versión 25.3.1
<application>
...
..
<meta-data
tools:replace="android:value"
android:name="android.support.VERSION"
android:value="25.3.1" />
</application>
agregue ''tools: replace = "android: value"'' al elemento en AndroidManifest.xml: 22: 5-24: 34 para anular. agregar a la línea AndroidManifest.xml: 22
Add <meta-data> tag in manifest.xml file as below...
<?xml version="1.0" encoding="utf-8"?>
<manifest package="com.demo"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
<uses-permission android:name="android.permission.INTERNET"/>
<application
android:name=".MyApplication"
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity
android:name=".MainActivity"
android:theme="@style/AppTheme">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
**<meta-data
tools:replace="android:value"
android:name="android.support.VERSION"
android:value="25.3.1" />//this 25.3.1 version should be same which we defined in the build.gradle file. i am using compileSdkVersion 25**
</application>
</manifest>
Trabaja seguro @ASK ....
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:largeHeap="true"
android:supportsRtl="true"
android:theme="@style/AppTheme"
>
<meta-data
tools:replace="android:value"
android:name="android.support.VERSION"
android:value="26.0.0" />
</application>