1. ホーム
  2. アンドロイド

Android: インポートモジュールエラー Android リソースのリンクに失敗しました

2022-02-09 12:58:20

本日、プロジェクトA(問題なくデバッグ済み)のモジュールをプロジェクトBにインポートする際、以下のようなエラーが報告されました。

Android resource linking failed
Output: W/ResourceType(16200): For resource 0x0101053d, entry index(1341) is beyond type entryCount(1329)
W/ResourceType(16200): For resource 0x0101053e, entry index(1342) is beyond type entryCount(1329)
W/ResourceType(16200): For resource 0x0101053b, entry index(1339) is beyond type entryCount(1329)
W/ResourceType(16200): For resource 0x0101053c, entry index(1340) is beyond type entryCount(1329)
E:\WorkSpace\ASProjects\Task\demo\module_aiview\build\intermediates\packaged_res\release\layout\dialog_root.xml:9: error: attribute layout_constraintLeft_toLeftOf (aka com.xxx... (app package name):layout_constraintLeft_toLeftOf) not found.
E:\WorkSpace\ASProjects\Task\demo\module_aiview\build\intermediates\packaged_res\release\layout\dialog_root.xml:9: error: attribute layout_constraintTop_toTopOf (aka com.xxx... (app package name):layout_constraintTop_toTopOf) not found.
E:\WorkSpace\ASProjects\Task\demo\module_aiview\build\intermediates\packaged_res\release\layout\dialog_root.xml:19: error: attribute layout_constraintLeft_toLeftOf (aka com.xxx... (app package name):layout_constraintLeft_toLeftOf) not found.
E:\WorkSpace\ASProjects\Task\demo\module_aiview\build\intermediates\packaged_res\release\layout\dialog_root.xml:19: error: attribute layout_constraintTop_toBottomOf (aka com.xxx... (app package name):layout_constraintTop_toBottomOf) not found.
E:\WorkSpace\ASProjects\Task\demo\module_aiview\build\intermediates\packaged_res\release\layout\view_weather_page_first.xml:8: error: attribute layout_constraintLeft_toLeftOf (aka com.xxx... (app package name):layout_constraintLeft_toLeftOf) not found.
E:\WorkSpace\ASProjects\Task\demo\module_aiview\build\intermediates\packaged_res\release\layout\view_weather_page_first.xml:8: error: attribute layout_constraintTop_toTopOf (aka com.xxx... (app package name):layout_constraintTop_toTopOf) not found.
E:\WorkSpace\ASProjects\Task\demo\module_aiview\build\intermediates\packaged_res\release\layout\view_weather_page_first.xml:16: error: attribute layout_constraintLeft_toLeftOf (aka com.xxx... (app package name):layout_constraintLeft_toLeftOf) not found.
E:\WorkSpace\ASProjects\Task\demo\module_aiview\build\intermediates\packaged_res\release\layout\view_weather_page_first.xml:16: error: attribute layout_constraintTop_toTopOf (aka com.xxx... (app package name):layout_constraintTop_toTopOf) not found.
E:\WorkSpace\ASProjects\Task\demo\module_aiview\build\intermediates\packaged_res\release\layout\view_weather_page_first.xml:27: error: attribute layout_constraintLeft_toRightOf (aka com.xxx... (app package name):layout_constraintLeft_toRightOf) not found.
E:\WorkSpace\ASProjects\Task\demo\module_aiview\build\intermediates\packaged_res\release\layout\view_weather_page_first.xml:27: error: attribute layout_constraintTop_toTopOf (aka com.xxx... (app package name):layout_constraintTop_toTopOf) not found.
E:\WorkSpace\ASProjects\Task\demo\module_aiview\build\intermediates\packaged_res\release\layout\view_weather_page_first.xml:42: error: attribute layout_constraintLeft_toRightOf (aka com.xxx... (app package name):layout_constraintLeft_toRightOf) not found.
E:\WorkSpace\ASProjects\Task\demo\module_aiview\build\intermediates\packaged_res\release\layout\view_weather_page_first.xml:42: error: attribute layout_constraintTop_toTopOf (aka com.xxx... (app package name):layout_constraintTop_toTopOf) not found.
E:\WorkSpace\ASProjects\Task\demo\module_aiview\build\intermediates\packaged_res\release\layout\view_weather_page_first.xml:57: error: attribute layout_constraintLeft_toRightOf (aka com.xxx... (app package name):layout_constraintLeft_toRightOf) not found.
E:\WorkSpace\ASProjects\Task\demo\module_aiview\build\intermediates\packaged_res\release\layout\view_weather_page_first.xml:57: error: attribute layout_constraintTop_toTopOf (aka com.xxx... (app package name):layout_constraintTop_toTopOf) not found.
E:\WorkSpace\ASProjects\Task\demo\module_aiview\build\intermediates\packaged_res\release\layout\view_weather_page_first.xml:73: error: attribute layout_constraintLeft_toLeftOf (aka com.xxx... (app package name):layout_constraintLeft_toLeftOf) not found.
E:\WorkSpace\ASProjects\Task\demo\module_aiview\build\intermediates\packaged_res\release\layout\view_weather_page_first.xml:73: error: attribute layout_constraintTop_toTopOf (aka com.xxx... (app package name):layout_constraintTop_toTopOf) not found.
E:\WorkSpace\ASProjects\Task\demo\module_aiview\build\intermediates\packaged_res\release\layout\view_weather_page_first.xml:83: error: attribute layout_constraintLeft_toLeftOf (aka com.xxx... (app package name):layout_constraintLeft_toLeftOf) not found.
E:\WorkSpace\ASProjects\Task\demo\module_aiview\build\intermediates\packaged_res\release\layout\view_weather_page_first.xml:83: error: attribute layout_constraintTop_toTopOf (aka com.xxx... (app package name):layout_constraintTop_toTopOf) not found.
E:\WorkSpace\ASProjects\Task\demo\module_aiview\build\intermediates\packaged_res\release\layout\view_weather_page_first.xml:98: error: attribute layout_constraintLeft_toRightOf (aka com.xxx... (app package name):layout_constraintLeft_toRightOf) not found.
E:\WorkSpace\ASProjects\Task\demo\module_aiview\build\intermediates\packaged_res\release\layout\view_weather_page_first.xml:98: error: attribute layout_constraintTop_toTopOf (aka com.xxx... (app package name):layout_constraintTop_toTopOf) not found.

Command: C:\Users\xxx\.gradle\caches\transforms-1\files-1.1\aapt2-3.2.0-4818971-windows.jar\712487c5244809689d4ef71a4ede44c6\aapt2- 3.2.0-4818971-windows\aapt2.exe link -I\
        D:\Android\Sdk\platforms\android-25\android.jar\
        --manifest\
        E:\WorkSpace\ASProjects\Task\demo\app\build\intermediates\merged_manifests\release\processReleaseManifest\merged\AndroidManifest. xml\
        -o\
        E:\WorkSpace\ASProjects\Task\demo\app\build\intermediates\processed_res\release\processReleaseResources\out\resources-release.ap_\
        -R\
        @E:\WorkSpace\ASProjects\Task\demo\app\build\intermediates\incremental\processReleaseResources\resources-list-for-resources- release.ap_.txt\
        --auto-add-overlay\
        --java\
        E:\WorkSpace\ASProjects\Task\demo\app\build\generated\not_namespaced_r_class_sources\release\processReleaseResources\r\
        --proguard-main-dex\
        E:\WorkSpace\ASProjects\Task\demo\app\build\intermediates\legacy_multidex_aapt_derived_proguard_rules\release\ processReleaseResources\manifest_keep.txt\
        --custom-package\
        xxx\
        -0\
        apk\
        --output-text-symbols\
        E:\WorkSpace\ASProjects\Task\demo\app\build\intermediates\symbols\release\R.txt\
        --no-version-vectors
Daemon: AAPT2 aapt2-3.2.0-4818971-windows Daemon #0


明らかにconstraintlayoutを使用したときのリソースインデックス例外です、この時点で私は以下の方法でモジュールにconstraintlayoutの依存性を持たせています。

repositories {
    flatDir {
        dirs 'libs'
    }
}

dependencies {
...
  compileOnly(name: 'constraint-layout-1.1.3', ext: 'aar')
...
}

この問題を解決する方法は、メインプロジェクトのアプリの下のgradleに以下の依存関係を追加することであると、いくつかのユーザーが共有しています。

implementation 'androidx.constraintlayout:constraintlayout:1.1.2'

案の定、上記の記述を追加すると、正常にコンパイルされました! しかし、ここで問題が発生します。app gradleで参照されているandroidxリソースパッケージ、モジュールで参照されているandroid aar、具体的な使用方法はモジュール下のみで、appフレームワークにはないため、この解決方法では参照先に混乱をきたす可能性があります、不確実性のリスクがあるのです。その解決策はそのままにして(実装 'androidx.constraintlayout:constraintlayout:1.1.2' を削除)、この問題の解決に移ろうと思っています。

コンパイル時のエラーは、モジュールのリソースインデックスを使用してアプリがコンパイルされているため、モジュール内のリソース参照を以下のように変更します。

repositories {
    flatDir {
        dirs 'libs'
    }
}

dependencies {
...
    implementation(name: 'constraint-layout-1.1.3', ext: 'aar')
...
}

リソースが見つからなかったことを報告するエラーは次のとおりです。

Could not find :constraint-layout-1.1.3:.
Searched in the following locations: file:/E:/WorkSpace/ASProjects/Task/demo/app/libs/BaseRecyclerViewAdapterHelper-2.9.30.aar
Required by:
    project :app > project :module_aiview

この方法ではlibs以下のリソースが見つからないので、AS標準のLibsを直接読み込む方法:File→Project Structure→...で読み込むことができます。ロード後、dependenciesの中の依存関係は、自動的に

implementation files('libs\\constraint-layout-1.1.3.aar')

プロジェクトを再コンパイルすると、問題は解決します。