Ресурс для рисования не найден, но он существует в папке для рисования - PullRequest
0 голосов
/ 01 января 2019

Я работаю над приложением для Android около 2 месяцев.Почти каждый раз, когда я создавал пользовательский объект рисования, при попытке создать проект я получал ошибку ссылки на ресурс Android, и после этого имя рисованного объекта, которое не удалось найти в студии android.

Мое решение состояло в том, что я переместил эти объекты.где-то вне моего проекта и перестроить приложение после получения ошибки, я снова переместил drawables обратно в свой проект, и когда я перестраивал свой APK, больше не было ошибок, и я мог собирать, запускать, даже генерировать APK, и эти drawables работалипрекрасно.Но теперь, когда мой проект закончен, я хочу сгенерировать подписанный apk, но я никак не могу избавиться от ошибки связывания ресурса Android.Я поставил некоторые из моих кодов рисования ниже.

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>

Все Drawables доступны в моем проекте, но я получаю этот вывод, когда я пытаюсь сгенерировать подписанный apk:

Не удалось связать ресурс Android *

Вывод: C: \ Users \ MyUser \ AndroidStudioProjects \ MyAppName \ app \ src \ main \ res \ layout \ activity_main.xml: 51: ошибка: извлечение ресурса / поиск (он же uk.MyAppName.www.MyAppName: рисование / поиск) notнайдено.
C: \ Users \ MyUser \ AndroidStudioProjects \ MyAppName \ app \ src \ main \ res \ layout \ activity_movie.xml: 234: ошибка: ресурс рисуется / story_box (он же uk.MyAppName.www.MyAppName: drawable /)story_box) не найден.
C: \ Users \ MyUser \ AndroidStudioProjects \ MyAppName \ app \ src \ main \ res \ layout \ activity_no_internet.xml: 49: ошибка: ресурс извлекается / retry_btn (он же uk.MyAppName.www.MyAppName: drawable / retry_btn) не найден.
C: \ Users \ MyUser \ AndroidStudioProjects \ MyAppName \ app \ src \ main \ res \ layout \ activity_register.xml: 205: ошибка: ресурс drawable / register_btn (он же uk.MyAppName.www.MyAppName: drawable / register_btn) не найден.
C: \ Users \ MyUser \ AndroidStudioProjects \ MyAppName \ app \ src \ main \ res\ layout \ activity_register.xml: 215: ошибка: ресурс рисуется / register_btn (он же uk.MyAppName.www.MyAppName: drawable / register_btn) не найден.
C: \ Users \ MyUser \ AndroidStudioProjects \ MyAppName \ app \ src \main \ res \ layout \ activity_search.xml: 39: ошибка: извлечение ресурса / поиск (он же uk.MyAppName.www.MyAppName: рисование / поиск) не найден.
C: \ Users \ MyUser \ AndroidStudioProjects \ MyAppName \ app\ src \ main \ res \ layout \ search_table_item.xml: 2: ошибка: ресурс рисования / table_border (он же uk.MyAppName.www.MyAppName: drawable / table_border) не найден.
C: \ Users \ MyUser \ AndroidStudioProjects \MyAppName \ app \ src \ main \ res \ layout \ table_item.xml: 2: ошибка: рисование ресурса / table_border (он же uk.MyAppName.www.MyAppName: drawable / table_border) не найдено.
ошибка: не удалось связать ресурсы файла.

Команда: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 ссылка -I \
C: \ Users \ MyUser \ AppData \ Local \ Android \ Sdk \ platform \ android-28 \ android.jar \
--manifest \
C: \ Users \ MyUser \ AndroidStudioProjects \ MyAppName \ app\ build \ промежуточные \ merged_manifests \ release \ processReleaseManifest \ merged \ AndroidManifest.xml \
-o \
C: \ Users \ MyUser \ AndroidStudioProjects \ MyAppName \ app \ build \ промежуточные \ процесс_res \ release \ processReleaseResources \ out\ resources-release.ap _ \
-R \
@C: \ Users \ MyUser \ AndroidStudioProjects \ MyAppName \ app \ build \ middleates \ incremental \ processReleaseResources \ resources-list-for-resources-release.ap_.txt \
--auto-add-overlay \
--java \
C: \ Users \ MyUser \ AndroidStudioProjects \ MyAppName \ app \ build \ generate \ not_namespaced_r_class_sources \ release \ processReleaseResources \ r \
--proguard \
C: \ Users \ MyUser \ AndroidStudioProjects \ MyAppName \ app \ build \ промежуточные \ proguard-rules \ release \ aapt_rules.txt \
--custom-package \
uk.MyAppName.www.MyAppName \
-0 \
apk \
--output-text-символы \
C: \ Users \ MyUser \ AndroidStudioProjects \ MyAppName \ app \ build \ промежуточные символы \ символы \ release \ R.txt \
--no-version-vectors
Демон: AAPT2 aapt2-3.2.1-4818971-windows Демон # 0

Это мой файл Gradle:

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 ]

0 голосов
/ 08 июля 2019

это похоже на похожую ошибку, с которой я столкнулся

с помощью инструмента Analyse -> inspect code ... показал ошибку в журнале

отрисовка не найдена

пожалуйста, посмотрите здесь для полного объяснения

0 голосов
/ 06 июля 2019

Что-то, что работало для меня с аналогичной проблемой, было удалить ссылку на идентификатор рисованного объекта и затем использовать автозаполнение Android Studio для его восстановления.

0 голосов
/ 01 января 2019

Удалить shrinkResources, если вы используете его в файле Gradle.Также это может произойти, когда proguard был включен

0 голосов
/ 01 января 2019

Для всех, кто сталкивается с этой проблемой, просто измените папку drawable на drawable-v (ваша версия sdk), надеюсь, этот ответ решит ваши проблемы.Или добавьте другой каталог для рисования с указанным именем и просто скопируйте туда свои файлы для рисования.

0 голосов
/ 01 января 2019

найдите свой файл gradel и убедитесь, что идентификатор приложения совпадает с пакетом файла mainfest в атрибуте пакета

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...