tools - update gradle android studio
Recursos $ NotFoundException: Archivo res/drawable/abc_ic_ab_back_material.xml (13)
Cambiar la dependencia de kotlin-stdlib de:
implementation "org.jetbrains.kotlin:kotlin-stdlib-jre7:1.2.0"
a
implementation "org.jetbrains.kotlin:kotlin-stdlib:1.2.0"
solucionó el error.
Después de resolver un error de valor cero JDK, ahora me enfrento a este. Investigué un poco, pero parece que no puedo ir al grano. Aquí está el error de registro:
FATAL EXCEPTION: main
E/AndroidRuntime: java.lang.RuntimeException: Unable to start activity ComponentInfo{.MainActivity}: android.content.res.Resources$NotFoundException: File res/drawable/abc_ic_ab_back_material.xml from drawable resource ID #0x7f020013
E/AndroidRuntime: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2204)
E/AndroidRuntime: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2254)
E/AndroidRuntime: at android.app.ActivityThread.access$600(ActivityThread.java:141)
E/AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
E/AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime: at android.os.Looper.loop(Looper.java:137)
E/AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:5069)
E/AndroidRuntime: at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime: at java.lang.reflect.Method.invoke(Method.java:511)
E/AndroidRuntime: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
E/AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
E/AndroidRuntime: at dalvik.system.NativeStart.main(Native Method)
E/AndroidRuntime: Caused by: android.content.res.Resources$NotFoundException: File res/drawable/abc_ic_ab_back_material.xml from drawable resource ID #0x7f020013
E/AndroidRuntime: at android.content.res.Resources.loadDrawable(Resources.java:1953)
E/AndroidRuntime: at android.content.res.Resources.getDrawable(Resources.java:660)
E/AndroidRuntime: at android.support.v4.content.ContextCompat.getDrawable(ContextCompat.java:354)
E/AndroidRuntime: at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:193)
E/AndroidRuntime: at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:181)
E/AndroidRuntime: at android.support.v7.widget.AppCompatDrawableManager.checkVectorDrawableSetup(AppCompatDrawableManager.java:689)
E/AndroidRuntime: at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:186)
E/AndroidRuntime: at android.support.v7.widget.TintTypedArray.getDrawableIfKnown(TintTypedArray.java:77)
E/AndroidRuntime: at android.support.v7.app.AppCompatDelegateImplBase.<init>(AppCompatDelegateImplBase.java:83)
E/AndroidRuntime: at android.support.v7.app.AppCompatDelegateImplV7.<init>(AppCompatDelegateImplV7.java:146)
E/AndroidRuntime: at android.support.v7.app.AppCompatDelegateImplV11.<init>(AppCompatDelegateImplV11.java:28)
E/AndroidRuntime: at android.support.v7.app.AppCompatDelegateImplV14.<init>(AppCompatDelegateImplV14.java:41)
E/AndroidRuntime: at android.support.v7.app.AppCompatDelegate.create(AppCompatDelegate.java:193)
E/AndroidRuntime: at android.support.v7.app.AppCompatDelegate.create(AppCompatDelegate.java:173)
E/AndroidRuntime: at android.support.v7.app.AppCompatActivity.getDelegate(AppCompatActivity.java:511)
E/AndroidRuntime: at android.support.v7.app.AppCompatActivity.onCreate(AppCompatActivity.java:71)
E/AndroidRuntime: at .MainActivity.onCreate(MainActivity.java:29)
E/AndroidRuntime: at android.app.Activity.performCreate(Activity.java:5104)
E/AndroidRuntime: at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1092)
E/AndroidRuntime: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2148)
E/AndroidRuntime: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2254)
E/AndroidRuntime: at android.app.ActivityThread.access$600(ActivityThread.java:141)
E/AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
E/AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime: at android.os.Looper.loop(Looper.java:137)
E/AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:5069)
E/AndroidRuntime: at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime: at java.lang.reflect.Method.invoke(Method.java:511)
E/AndroidRuntime: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
E/AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
E/AndroidRuntime: at dalvik.system.NativeStart.main(Native Method)
E/AndroidRuntime: Caused by: org.xmlpull.v1.XmlPullParserException: Binary XML file line #17: invalid drawable tag vector
E/AndroidRuntime: at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:881)
E/AndroidRuntime: at android.graphics.drawable.Drawable.createFromXml(Drawable.java:822)
E/AndroidRuntime: at android.content.res.Resources.loadDrawable(Resources.java:1950)
E/AndroidRuntime: at android.content.res.Resources.getDrawable(Resources.java:660)
E/AndroidRuntime: at android.support.v4.content.ContextCompat.getDrawable(ContextCompat.java:354)
E/AndroidRuntime: at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:193)
E/AndroidRuntime: at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:181)
E/AndroidRuntime: at android.support.v7.widget.AppCompatDrawableManager.checkVectorDrawableSetup(AppCompatDrawableManager.java:689)
E/AndroidRuntime: at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:186)
E/AndroidRuntime: at android.support.v7.widget.TintTypedArray.getDrawableIfKnown(TintTypedArray.java:77)
E/AndroidRuntime: at android.support.v7.app.AppCompatDelegateImplBase.<init>(AppCompatDelegateImplBase.java:83)
E/AndroidRuntime: at android.support.v7.app.AppCompatDelegateImplV7.<init>(AppCompatDelegateImplV7.java:146)
E/AndroidRuntime: at android.support.v7.app.AppCompatDelegateImplV11.<init>(AppCompatDelegateImplV11.java:28)
E/AndroidRuntime: at android.support.v7.app.AppCompatDelegateImplV14.<init>(AppCompatDelegateImplV14.java:41)
E/AndroidRuntime: at android.support.v7.app.AppCompatDelegate.create(AppCompatDelegate.java:193)
E/AndroidRuntime: at android.support.v7.app.AppCompatDelegate.create(AppCompatDelegate.java:173)
E/AndroidRuntime: at android.support.v7.app.AppCompatActivity.getDelegate(AppCompatActivity.java:511)
E/AndroidRuntime: at android.support.v7.app.AppCompatActivity.onCreate(AppCompatActivity.java:71)
E/AndroidRuntime: at .MainActivity.onCreate(MainActivity.java:29)
E/AndroidRuntime: at android.app.Activity.performCreate(Activity.java:5104)
E/AndroidRuntime: at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1092)
E/AndroidRuntime: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2148)
E/AndroidRuntime: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2254)
E/AndroidRuntime: at android.app.ActivityThread.access$600(ActivityThread.java:141)
E/AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
E/AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime: at android.os.Looper.loop(Looper.java:137)
E/AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:5069)
E/AndroidRuntime: at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime: at java.lang.reflect.Method.invoke(Method.java:511)
E/AndroidRuntime: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
E/AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
E/AndroidRuntime: at dalvik.system.NativeStart.main(Native Method)
Estoy realmente confundido acerca de lo que puede ser, leí y no puedo llegar al error:
Mi aplicación: gradle es esta:
apply plugin: ''com.android.application''
android {
compileSdkVersion 23
buildToolsVersion "24.0.2"
defaultConfig {
applicationId "me.me2.com.myapp"
minSdkVersion 15
targetSdkVersion 23
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile(''proguard-android.txt''), ''proguard-rules.pro''
}
}
}
dependencies {
compile fileTree(dir: ''libs'', include: [''*.jar''])
testCompile ''junit:junit:4.12''
compile ''com.android.support:appcompat-v7:23.4.0''
compile ''com.android.support:design:23.4.0''
compile ''com.android.support:recyclerview-v7:23.4.0''
compile ''com.android.support:cardview-v7:23.4.0''
compile ''com.google.firebase:firebase-storage:9.4.0''
compile ''com.google.firebase:firebase-database:9.4.0''
compile ''com.google.firebase:firebase-auth:9.4.0''
compile ''com.firebaseui:firebase-ui-database:0.4.4''
compile ''com.squareup.picasso:picasso:2.5.2''
}
apply plugin: ''com.google.gms.google-services''
Aquí está mi carpeta de estilo:
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
<style name="AppTheme.NoActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
</style>
<style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />
<style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />
<style name="Divider">
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">1dp</item>
<item name="android:background">?android:attr/listDivider</item>
</style>
</resources>
Y mi mainactivity.class si es necesario:
public class MainActivity extends AppCompatActivity {
VideoView videoView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// VideoView
videoView = (VideoView) findViewById(R.id.videoview);
videoView.setVideoURI(Uri.parse("android.resource://"+getPackageName() + "/" +R.raw.video));
videoView.requestFocus();
/**
* Loop
*/
videoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
videoView.start();
mp.setLooping(true);
}
});
}
public void Login(View view) {
Intent intent = new Intent(this, FragmentMain.class);
startActivity(intent);
// finish();
}
public void Registro(View view) {
Intent intent = new Intent(this, Registro.class);
startActivity(intent);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}
Gracias.
Dado que esta página es el primer resultado de google
android.content.res.Resources$NotFoundException: File res/drawable/
, quiero compartir que esta excepción podría ser causada por su
foo.xml contiene código incorrecto
.
por ejemplo,
foo.xml
:
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@android:id/background">
<shape>
<size android:height="@android:style/Widget.ProgressBar.Horizontal" />
<corners android:radius="5dip" />
<gradient
android:startColor="#000000"
android:centerY="0.75"
android:angle="270"
/>
</shape>
</item>
</layer-list>
Este xml contiene
<size android:height="@android:style/Widget.ProgressBar.Horizontal" />
que se compiló con éxito pero arroja una excepción en Runtime, varía según la aplicación.
He intentado todas las soluciones mencionadas anteriormente. Nada me funcionó. Lo único que funcionó para mí es muy simple es actualizar todas las bibliotecas de soporte a la última versión, ya que este error se ha solucionado. Así que simplemente hice lo siguiente en el archivo gradle; SDK actualizado y soporte para 25.
android {
compileSdkVersion 25
buildToolsVersion "25"
defaultConfig {
targetSdkVersion 25
}
}
In dependencies
compile ''com.android.support:appcompat-v7:25.1.0''
compile ''com.android.support:design:25.1.0''
compile ''com.android.support:recyclerview-v7:25.1.0''
Me encontré con este problema en Xamarin.Android con Xamarin.Android.Support.Design 24.0.2. Así es como lo resolví:
Agregué la siguiente línea a mi clase de aplicación
OnCreate
:
AppCompatDelegate.CompatVectorFromResourcesEnabled = true;
Reemplazado:
var upArrow = ContextCompat.GetDrawable(this, Resource.Drawable.abc_ic_ab_back_material);
Con:
var upArrow = ResourcesCompat.GetDrawable(Resources, Resource.Drawable.abc_ic_ab_back_material, null);
Ninguno de estos funcionó para mí. Pero esto hizo:
Cambio
android:src="@drawable/your_drawable"
a
app:srcCompat="@drawable/your_drawable"
No está específicamente relacionado con su pregunta, pero tal vez pueda resolver este problema para todos los que se encuentran aquí mientras buscan ese error.
Para mí fue el problema con el archivo SVG que he importado a mi proyecto.
Una de las rutas en XML tiene
pathData
vacío y eso causó el bloqueo en algunos dispositivos como Pixel XL, Samsung Galaxy S7, ...
Por lo tanto, verifique XML importado para una imagen si está utilizando SVG como fuente de imagen.
Ok, acabo de resolver mi problema, el problema era que mi gradle estaba desactualizado y mi SDK, así que si alguien se está ejecutando con este problema, simplemente siga estos pasos
1.- Asegúrese de que sus libs estén actualizadas como piotrek1543 dice arriba 2.- Actualice su sdk si es necesario 3.- Actualice sus archivos gradle (MUY IMPORTANTE) simplemente vaya al proyecto gradle y agregue esto
classpath ''com.android.tools.build:gradle:2.1.0''
luego vaya a su proyecto de aplicación> aplicación> graddle> graddlewrapper.properties y agregue
distributionUrl=https://services.gradle.org/distributions/gradle-2.10-all.zip
4.- cambie su compile compileSdkVersion a 24 y su buildToolsVersion "24.0.2" ( ASEGÚRESE DE QUE SUS DEPENDENCIAS ESTÁN ACTUALIZADAS CON EL SDK )
Que te diviertas
SI está utilizando Gradle Plugin 2.0, debe hacer cambios en su
gradle
:
// Gradle Plugin 2.0+
android {
defaultConfig {
vectorDrawables.useSupportLibrary = true
}
}
Si está utilizando Gradle 1.5, usará en lugar de previus:
// Gradle Plugin 1.5
android {
defaultConfig {
// Stops the Gradle plugin''s automatic rasterization of vectors
generatedDensities = []
}
// Flag to tell aapt to keep the attribute ids around
// This is handled for you by the 2.0+ Gradle Plugin
aaptOptions {
additionalParameters "--no-version-vectors"
}
}
Compruebe también: Actualice la biblioteca de soporte de Android a 23.2.0 causa error: XmlPullParserException La línea de archivo XML binario # 17 <vector> etiqueta requiere viewportWidth> 0 .
Ref. De la biblioteca de soporte de Android: Soporta dibujos vectoriales y dibujos animados vectoriales .
También actualice las dependencias de soporte de Android desde
compile ''com.android.support:appcompat-v7:23.4.0''
compile ''com.android.support:design:23.4.0''
compile ''com.android.support:recyclerview-v7:23.4.0''
compile ''com.android.support:cardview-v7:23.4.0''
a
compile ''com.android.support:appcompat-v7:24.2.0''
compile ''com.android.support:design:24.2.0''
compile ''com.android.support:recyclerview-v7:24.2.0''
compile ''com.android.support:cardview-v7:24.2.0''
ya que está utilizando herramientas de
24.0.2
en la versión
24.0.2
.
Si alguna de las otras soluciones no funciona, puede agregar esta línea en su Actividad
static {
AppCompatDelegate.setCompatVectorFromResourcesEnabled(true);
}
y, por supuesto, actualice su gradle y appcompat a las últimas versiones. Esto funcionó en mi caso.
Si está utilizando
?attr
dentro de su dibujo, esta podría ser la razón del error.
considere reemplazarlo con
Vector
Drawable para que pueda usarse en todas las versiones de Android:
Reemplazar
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="rectangle">
<solid android:color="?attr/navigationIconColor" />
</shape>
</item>
</selector>
Con:
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="37dp"
android:height="5dp"
android:viewportWidth="37"
android:viewportHeight="5">
<path
android:pathData="M2.5,0h32C35.9,0 37,1.1 37,2.5l0,0C37,3.9 35.9,5 34.5,5h-32C1.1,5 0,3.9 0,2.5l0,0C0,1.1 1.1,0 2.5,0z"
android:fillColor="?attr/navigationIconColor"/>
</vector>
Tuve este problema
En su clase de aplicación, en el método onCreate (), agregue:
AppCompatDelegate.setCompatVectorFromResourcesEnabled(true);
... y también use
AppCompatImageView
lugar de ImageView.
Ej: BaseApplication.class:
public class BaseApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
//Your other code here...
AppCompatDelegate.setCompatVectorFromResourcesEnabled(true);
}
}
XML:
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/yourIvId"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
en mi caso, el XML contenía
android:endX
que admite desde 24 en adelante.
use así en su Actividad:
public class MainActivity extends AppCompatActivity {
static {
AppCompatDelegate.setCompatVectorFromResourcesEnabled(true);
}
...
}
y esto en su build.gradle:
android {
...
defaultConfig {
....
vectorDrawables.useSupportLibrary = true
}
}
y en tu xml:
app:srcCompat="@drawable/your_icon"