次の問題が発生しました: 実装したアプリには、(タイプ aar の) 依存関係として別のプロジェクトが含まれています。両方のプロジェクトが同じ親 pom を共有します。依存関係には、アプリが使用しているリソースが含まれます。ライブラリ プロジェクト内のリソースにアクセスするには、 を呼び出してリソース ID を取得しますcontext.getResources().getIdentifier(resourceKey, resourceType, packageName)
。getPackageName()
指定されたcontext
オブジェクトを呼び出してパッケージ名を取得します。を使用してプロジェクトのパッケージ名を変更する前に
<renameManifestPackage>com.example.newpackagename</renameManifestPackage>
ライブラリリソースへのアクセスはうまくいきました。しかし、アプリのパッケージ名の名前を変更した後android.content.res.Resources$NotFoundException
、getIdentifier()
呼び出しはまだアプリの古いパッケージ名を想定しており、呼び出しgetPackageName()
は新しいものを返すため (期待どおり) を取得します。
今、私は何かが足りないのだろうか、それともこれは Android Maven プラグインのバグなのだろうか? https://github.com/simpligility/android-maven-plugin