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