ライブラリを作っています。そして、ヒルトを使用しています。サンプルアプリが完成したので、後でライブラリにするためにモジュールとして分離しようとしています。
ただし、Hilt はアプリケーションを作成し、次のように設定する必要があります。
@HiltAndroidApp
class MyApplication : Application() {
override fun onCreate() {
super.onCreate()
}
}
HiltAndroidApp で。
そして、私のクライアント企業は、私が図書館から提供するいくつかの活動を開こうとしているだけです。そして、クライアント企業が「hilt」を使い始めると、プロジェクトは直面したくない多くの部分を修正する必要があります。
クライアントにはファイルがある場合とない場合がありApplication
ます。したがって、両方のケースを考慮する必要があります。
たとえば、クライアントは
- なし
- 柄を使って
- 短剣または他の DI を使用します。
彼らのアプリケーションファイルで。
ライブラリにヒルトを引き続き使用でき、クライアントが何も変更しないという解決策はありますか?
テストすると、次のようになります。
Manifest merger failed : Attribute application@name value=(com.example.client.MyApplication) from AndroidManifest.xml:12:9-63
is also present at [:my_sdk] AndroidManifest.xml:18:18-73 value=(com.example.sdk.MyApplication).
Suggestion: add 'tools:replace="android:name"' to <application> element at AndroidManifest.xml:11:5-44:19 to override.
com.example.client.MyApplication
サンプルアプリです。`com.example.sdk.MyApplication' はモジュールです。
私が試したとき、tools:replace="android:name
それは文字通り置き換えられ、解決しませんでした。