web-dev-qa-db-fra.com

Ressource drawable introuvable mais ils existent dans le dossier drawable

Je travaille sur une application Android pendant environ 2 mois. Presque chaque fois que j'ai créé un dessin personnalisé lorsque j'ai essayé de créer un projet, j'ai obtenu Android a échoué erreur et après cela le nom des drawables qui n'ont pas pu être localisés par Android studio.

Ma solution était que je déplaçais ces drawables quelque part hors de mon projet et que je reconstruisais l'application après avoir obtenu une erreur.J'ai de nouveau déplacé les drawables vers mon projet et quand j'ai reconstruit mon APK il n'y avait plus d'erreur et je pouvais construire exécuter, même générer APK et ces drawables ont parfaitement fonctionné. Mais maintenant que mon projet est terminé, je veux générer une apk signée mais il n'y a aucun moyen de se débarrasser de Android. J'ai mis certains de mes codes drawables ci-dessous.

retry_btn.xml:

<?xml version="1.0" encoding="utf-8"?>
    <selector xmlns:Android="http://schemas.Android.com/apk/res/Android">
    <item Android:state_enabled="false" Android:drawable="@drawable/register_btn_disabled"/>
    <item Android:state_pressed="true" Android:drawable="@drawable/register_btn_clicked"/>
    <item Android:state_pressed="false" Android:drawable="@drawable/register_btn_normal"/>
    <item Android:drawable="@drawable/register_btn_normal"/>
</selector>

story_box.xml:

<?xml version="1.0" encoding="utf-8"?>
    <shape Android:shape="rectangle" xmlns:Android="http://schemas.Android.com/apk/res/Android">
    <stroke Android:color="#70707070" Android:width="1dp"/>
</shape>

table_border.xml:

<?xml version="1.0" encoding="utf-8"?>
    <layer-list xmlns:Android="http://schemas.Android.com/apk/res/Android" >
        <item>
            <shape
        Android:shape="rectangle">
                <stroke Android:width="1dp" Android:color="#333333" />
                <solid Android:color="#EEEEEE" />
        </shape>
    </item>
</layer-list>

Tous les drawables sont disponibles dans mon projet mais j'obtiens cette sortie lorsque j'essaie de générer un apk signé:

Échec de la liaison des ressources Android

Sortie: C:\Users\MyUser\AndroidStudioProjects\MyAppName\app\src\main\res\layout\activity_main.xml: 51: erreur: ressource dessinable/recherche (aka uk.MyAppName.www.MyAppName: dessinable/recherche) pas a trouvé.
C:\Users\MyUser\AndroidStudioProjects\MyAppName\app\src\main\res\layout\activity_movie.xml: 234: erreur: ressource drawable/story_box (aka uk.MyAppName.www.MyAppName: drawable/story_box) introuvable.
C:\Users\MyUser\AndroidStudioProjects\MyAppName\app\src\main\res\layout\activity_no_internet.xml: 49: erreur: ressource dessinable/retry_btn (alias uk.MyAppName.www.MyAppName: drawable/retry_btn) introuvable.
C:\Users\MyUser\AndroidStudioProjects\MyAppName\app\src\main\res\layout\activity_register.xml: 205: erreur: ressource dessinable/register_btn (alias uk.MyAppName.www.MyAppName: drawable/register_btn) introuvable.
C:\Users\MyUser\AndroidStudioProjects\MyAppName\app\src\main\res\layout\activity_register.xml: 215: erreur: ressource dessinable/register_btn (alias uk.MyAppName.www.MyAppName: drawable/register_btn) introuvable.
C:\Users\MyUser\AndroidStudioProjects\MyAppName\app\src\main\res\layout\activity_search.xml: 39: erreur: ressource dessinable/recherche (aka uk.MyAppName.www.MyAppName: drawable/recherche) introuvable.
C:\Users\MyUser\AndroidStudioProjects\MyAppName\app\src\main\res\layout\search_table_item.xml: 2: erreur: ressource drawable/table_border (aka uk.MyAppName.www.MyAppName: drawable/table_border) introuvable.
C:\Users\MyUser\AndroidStudioProjects\MyAppName\app\src\main\res\layout\table_item.xml: 2: erreur: ressource drawable/table_border (alias uk.MyAppName.www.MyAppName: drawable/table_border) introuvable.
Erreur : échec de la liaison des ressources de fichier.

Commande: C:\Users\MyUser.gradle\caches\transforms-1\files-1.1\aapt2-3.2.1-4818971-windows.jar\ac5e520165d725772f5386c054776ce5\aapt2-3.2.1-4818971-windows\aapt2.exe link - JE\
C:\Users\MyUser\AppData\Local\Android\Sdk\platform\Android-28\Android.jar \
--manifeste\
C:\Users\MyUser\AndroidStudioProjects\MyAppName\app\build\intermediates\merged_manifests\release\processReleaseManifest\merged\AndroidManifest.xml \
- o \
C:\Users\MyUser\AndroidStudioProjects\MyAppName\app\build\intermediates\processor_res\release\processReleaseResources\out\resources-release.ap_ \
- R \
@ C:\Users\MyUser\AndroidStudioProjects\MyAppName\app\build\intermediates\incremental\processReleaseResources\resources-list-for-resources-release.ap_.txt \
- superposition d'ajout automatique \
--Java\
C:\Users\MyUser\AndroidStudioProjects\MyAppName\app\build\generated\not_namespaced_r_class_sources\release\processReleaseResources\r \
- proguard \
C:\Users\MyUser\AndroidStudioProjects\MyAppName\app\build\intermediates\proguard-rules\release\aapt_rules.txt \
- package personnalisé \
uk.MyAppName.www.MyAppName \
- 0 \
apk \
- symboles de texte de sortie \
C:\Users\MyUser\AndroidStudioProjects\MyAppName\app\build\intermediates\symboles\release\R.txt \
- vecteurs sans version
Démon: AAPT2 aapt2-3.2.1-4818971-windows Daemon # 0

voici mon dossier:

apply plugin: 'com.Android.application'

apply plugin: 'kotlin-Android'

apply plugin: 'kotlin-Android-extensions'

Android {
    compileSdkVersion 28
    defaultConfig {
        applicationId "uk.MyAppName.www.MyAppName"
        minSdkVersion 21
        targetSdkVersion 28
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "Android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
//            minifyEnabled false
//            proguardFiles getDefaultProguardFile('proguard-Android-optimize.txt'), 'proguard-rules.pro'
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
    productFlavors {
    }
}

dependencies {
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
    implementation 'com.Android.support:support-v4:28.0.0'
    implementation 'com.Android.support:appcompat-v7:28.0.0'
    implementation 'com.Android.support:exifinterface:28.0.0'
    implementation 'com.Android.support.constraint:constraint-layout:1.1.3'
    implementation 'com.Android.support:design:28.0.0'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.Android.support.test:runner:1.0.2'
    androidTestImplementation 'com.Android.support.test.espresso:espresso-core:3.0.2'
    implementation 'com.Android.support:recyclerview-v7:28.0.0'
    implementation 'com.Android.support:support-v4:28.0.0'
    implementation 'com.Android.support:cardview-v7:28.0.0'
    implementation 'org.jetbrains.anko:anko-commons:0.10.4'
    implementation 'com.squareup.picasso:picasso:2.71828'
    implementation 'com.google.Android.exoplayer:exoplayer:2.9.1'
}
5
Shayan Damghanpour

Quelque chose qui a fonctionné pour moi avec un problème similaire a été de supprimer la référence à l'ID du dessin, puis d'utiliser Android saisie semi-automatique de Studio pour le restaurer.

0
Papa Smurf