さまざまなモジュールで構成される Android アプリがあります。Main モジュールは、Google の GSON や v4.support.package などのライブラリを使用しています。適切な proguard.cfg を使用したカスタム ビルド スクリプトでもビルドされます。ここで、部分的に同じライブラリ (GSON support.v4) を使用する別の「Android ライブラリ」を統合する必要があります。のようなたくさんのメモを取得する以外に
注: プログラム クラス [com.google.gson.Gson] の重複定義
次のようなメモも取得します
[proguard] 注: com.google.gson.UnsafeAllocator: 動的に参照されるクラス sun.misc.Unsafe が見つかりません
[proguard] 注: 構成は不明なクラス「sun.misc.Unsafe」を参照しています
特にそのために、Proguard.cfgにいくつかの「キープ」がある奇妙な原因を見つけました:
-keepattributes 署名、注釈
-keep class com.google.gson.** {*;}
-keep class sun.misc.Unsafe { *; }
これは、プロジェクト内のモジュール ライブラリを参照しなくても、プロジェクトでうまく機能します。私は最新の SDK とツールを使用しており、カスタムの proguard.cfg をモジュール ライブラリに追加しました。これは、モジュール ライブラリ自体でうまく機能します (スタンドアロン モードでビルドする場合)。ビルドは、ライブラリ プロジェクト内のカスタム proguard.cfg に依存していないように思えます。何を試すべきかについてのアイデアは高く評価されます