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