1

プロガードはそのようなメッセージで私を殺しています:

「[プロガード] 警告: クラス [facebook/bin/classes/com/facebook/internal/FileLruCache$StreamHeader.class] にクラス [com.facebook.internal.FileLruCache$StreamHeader] が予期せず含まれています」

最後の警告は次のとおりです。

[proguard] 警告: 間違った名前のファイルに 332 個のクラスがありました。[proguard] すべてのファイル名がクラス名に対応していることを確認する必要があります。[proguard] ディレクトリ階層はパッケージ階層に対応している必要があります。[proguard] 上記のクラスが書き出されなくても構わない場合は、[proguard]
'-ignorewarnings' オプションを使用して運を試すことができます。

私には、私が使用しているライブラリ プロジェクト (Facebook など) をプロガードで調整していないようです。

私は本当にlibプロジェクトを難読化したくありませんが、行

-keep class com.facebook.** { *; }

- インターフェイス com.facebook.** { *; を維持します。}

トリックをしません。

それについて教えてもらえますか?ありがとう

4

2 に答える 2

0

Cfr. ProGuard マニュアル > トラブルシューティング >警告: クラス ファイル ... 予期せずクラスが含まれています ...

あなたの設定には、パッケージとクラスのルート ディレクトリ (.../facebook/bin/classes) を指していない -injars オプションが含まれているようです。

ただし、標準の Android ビルド プロセスでは、必要なすべての -injars オプションが既に指定されているため、何も追加しないでください。

于 2013-02-08T23:53:35.310 に答える
0

わかりました、proguard構成ファイルの多くの-dontwarnオプションで修正しました。

また、メイン パッケージに含まれていないものは難読化していません (-keepclass !com.yyy.** { *; } と keepinterface も)。これはうまくいくようです。

于 2013-02-12T13:28:14.113 に答える