問題タブ [dynamic-delivery]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - 動的機能が外部 aar 依存関係を使用している場合の「Program type already present」エラーを修正する方法
サイズを考慮して、別の動的機能 (モジュール) に分割することにしたサードパーティの aar ファイルがあります。メインアプリと動的モジュールの両方com.google.code.gson:gson
が、依存関係を削除した同じモジュールにあったときに使用されてgson
いますが、現在、メインモジュールがそれを必要としています。
プロジェクトのビルドは問題ありませんが、バンドルをビルドしようとすると、
「プログラムの種類は既に存在します: com.google.gson.FieldNamingPolicy$5」エラー
モジュールの gradle から gson を除外しようとしました。依存関係と Android セクションの両方で、うまくいきませんでした。これはサードパーティの aar であるため、そのコードや依存関係にはアクセスできません。
メインアプリグラドル:
動的機能グラドル:
エラー:
org.gradle.execution.MultipleBuildFailures: ビルドが 1 回失敗して完了しました。... 原因: java.lang.RuntimeException: com.android.build.api.transform.TransformException: メイン dex リストの生成中にエラーが発生しました: dex アーカイブのマージ中にエラーが発生しました: プログラムの種類が既に存在しています: com.google.gson.FieldNamingPolicy $5
android - 動的機能モジュールのリソースにアクセスできません
新しい Android 動的配信機能をアプリに追加しようとしていますが、動的機能モジュールのリソースにアクセスしようとすると失敗し続けます。
基本的な考え方は、コードを持たないモジュールをロードすることですが、ドローアブル リソースとして一連のベクター ファイルをロードします。
モジュールをロードしたり、特定のモジュールのアセットにアクセスしたりすることはできますが、リソースにアクセスする方法がわかりません。
先ほど言ったように、assets txt ファイル内のテキストを読み取ることはできますが、リソース内にドローアブルが見つからないようです。
動的モジュールのリソースフォルダーにあることがわかっているドローアブルを取得しようとすると、ResourcesNotFoundException
Google が提供する Android ドキュメントを読みましたが、ダウンロードしたモジュール リソースへのアクセス方法に関する詳細情報を見つけることができません。
https://developer.android.com/guide/app-bundle/playcore#access_installed_modules