1

S Pen SDKマルチウィンドウjar(2.2.5)を備えたproguardを使用してAndroidプロジェクトをビルドすると、次の2つの警告が表示されます。

[proguard] Warning: android.sec.multiwindow.Constants$WindowManagerPolicy: can't find referenced class android.view.WindowManagerPolicy
[proguard] Warning: android.sec.multiwindow.MultiWindowManager: can't find referenced method 'java.util.List getRunningTasks(int,int,android.app.IThumbnailReceiver)' in class android.app.ActivityManager

proguard構成ファイルに次の行を追加することで、proguardを正常に実行することができました。

-dontwarn android.sec.multiwindow.**

しかし、私は警告を無視するだけで少し不快です。この場合、警告はのクラスとメソッドを参照しているandroid.jarため、実行時に表示されます。

プロガードルールも含めるのが良いのではないかと思います。

-keep class android.sec.multiwindow.** { *; }

この場合、ビルドに影響を与えるようには見えませんが、それは良い考えのようです。

何かご意見は?

4

1 に答える 1

2

クラスとメソッドはAndroidランタイムに存在する可能性がありますが、@ hiddenマークが付いているため、android.jarには存在しません(したがって、パブリックAPIとして承認されていません)。-dontwarnで動作する場合、それは許容範囲です。よりクリーンな解決策は、そのようなクラス、フィールド、およびメソッドを含むandroid.jarのバージョンを作成することです。

-keepオプションは、実際には問題に影響しません。あなたはそれを省くことができます。

于 2013-02-04T01:02:47.190 に答える