Android Studioを3.5(stable)から3.6(stable)に更新しました。
次に、プラグインのアップデートも利用できることを確認したので、「com.Android.tools.build:gradle」のバージョンを3.5.0から3.6.0に更新し、gradleバージョンも5.6.4に更新しました。
プロジェクトをビルドしようとすると、問題が発生します。メッセージで失敗しますエントリ名 'AndroidManifest.xml'が衝突しました
この問題を解決する方法はいくつかあります。
Build.gradleのバージョンを3.5.3に戻す
dependencies {
// classpath 'com.Android.tools.build:gradle:3.6.1'
classpath 'com.Android.tools.build:gradle:3.5.3'
}
App/build.gradleの下にpackagesOptionsを追加します
Android {
...
packagingOptions {
exclude 'AndroidManifest.xml'
}
}
Gradle.propertiesで、seNewApkCreatorをfalseに設定します。このフラグを追加すると、APKのインストールに関する問題が発生する可能性があります。
Android.useNewApkCreator=false
最後のアプローチとして、サードパーティのライブラリを介してスキャンを実行します。 androidx.core:core-ktxプラグインを確認します。 1.2.0以降のバージョンに更新してみてください。
AndroidManifest.xml
ファイルの衝突で同じ問題が発生しました。最初に、useNewApkCreator
の回避策を試してみましたが、それは私が取り組んでいたアプリのバリアントで機能しました。しかし、別のバリアントに切り替えたとき、ビルドは引き続き成功しましたが、アプリはAndroid Studioからのインストールを拒否しました。また、.apkを手動でインストールすると、デバイスで解析エラーが発生しました。
最後に、両方の亜種の.apksを分析したところ、壊れた.apkに誤ったAndroidManifest.xmlが含まれていることがわかりました。 packagingOptions
のマニフェストを除外することもできました。