web-dev-qa-db-ja.com

リソースドローアブルが見つかりませんが、ドローアブルフォルダーに存在します

Androidアプリケーションを約2か月間使用しています。プロジェクトをビルドしようとしたときにカスタムドローアブルを作成するたびに、Androidリソースリンクが失敗しましたエラーとその後にAndroid studio。で見つけられなかったドローアブルの名前。

私の解決策は、これらのドローアブルをプロジェクトのどこかに移動し、エラーが発生した後にアプリを再構築することで、ドローアブルを再びプロジェクトに戻し、APKを再構築するとエラーが発生せず、構築できました。実行し、APKを生成すれば、それらのドローアブルは完全に正常に動作しました。しかし、プロジェクトが完了したので、署名済みの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>

すべてのドローアブルは私のプロジェクトで使用できますが、署名されたapkを生成しようとすると、この出力が表示されます。

Androidリソースのリンクに失敗しました

出力:C:\ Users\MyUser\AndroidStudioProjects\MyAppName\app\src\main\res\layout\activity_main.xml:51:error:resource drawable/search(aka uk.MyAppName.www.MyAppName:drawable/search)not見つかりました。
C:\ Users\MyUser\AndroidStudioProjects\MyAppName\app\src\main\res\layout\activity_movie.xml:234:error:resource drawable/story_box(aka uk.MyAppName.www.MyAppName:drawable/story_box)が見つかりません。
C:\ Users\MyUser\AndroidStudioProjects\MyAppName\app\src\main\res\layout\activity_no_internet.xml:49:error:resource drawable/retry_btn(aka uk.MyAppName.www.MyAppName:drawable/retry_btn)が見つかりません。
C:\ Users\MyUser\AndroidStudioProjects\MyAppName\app\src\main\res\layout\activity_register.xml:205:error:resource drawable/register_btn(aka uk.MyAppName.www.MyAppName:drawable/register_btn)が見つかりません。
C:\ Users\MyUser\AndroidStudioProjects\MyAppName\app\src\main\res\layout\activity_register.xml:215:error:resource drawable/register_btn(aka uk.MyAppName.www.MyAppName:drawable/register_btn)が見つかりません。
C:\ Users\MyUser\AndroidStudioProjects\MyAppName\app\src\main\res\layout\activity_search.xml:39:error:resource drawable/search(aka uk.MyAppName.www.MyAppName:drawable /検索)が見つかりません。
C:\ Users\MyUser\AndroidStudioProjects\MyAppName\app\src\main\res\layout\search_table_item.xml:2:error:resource drawable/table_border(aka uk.MyAppName.www.MyAppName:drawable/table_border)が見つかりません。
C:\ Users\MyUser\AndroidStudioProjects\MyAppName\app\src\main\res\layout\table_item.xml:2:error:resource drawable/table_border(aka 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 link-私\
C:\ Users\MyUser\AppData\Local\Android\Sdk\platforms\Android-28\Android.jar \
-マニフェスト\
C:\ Users\MyUser\AndroidStudioProjects\MyAppName\app\build\intermediates\merged_manifests\release\processReleaseManifest\merged\AndroidManifest.xml \
-o \
C:\ Users\MyUser\AndroidStudioProjects\MyAppName\app\build\intermediates\processed_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 \
-自動追加オーバーレイ\
-Java \
C:\ Users\MyUser\AndroidStudioProjects\MyAppName\app\build\generated\not_namespaced_r_class_sources\release\processReleaseResources\r \
-プロガード\
C:\ Users\MyUser\AndroidStudioProjects\MyAppName\app\build\intermediates\proguard-rules\release\aapt_rules.txt \
-custom-package \
uk.MyAppName.www.MyAppName \
-0 \
apk \
-output-text-symbols \
C:\ Users\MyUser\AndroidStudioProjects\MyAppName\app\build\intermediates\symbols\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

同様の問題を抱えて私のために働いたのは、ドローアブルのIDへの参照を削除し、Android Studioのオートコンプリートを使用してそれを復元することでした。

0
Papa Smurf