1. ホーム
  2. android

[解決済み] proguard hell - 参照されているクラスが見つかりません。

2022-07-17 01:26:42

質問

そこで、私は を試しています。 をリリースしようとしているのですが、Proguard のせいで頭痛がします。

proguardを使ってエクスポートしようとすると、たくさんの警告、すなわち "can't find referenced class" が表示されます。

例えば

[2011-08-07 17:44:37 - GAME] Warning: org.simpleframework.xml.stream.StreamReader: can't find referenced class javax.xml.stream.events.XMLEvent
[2011-08-07 17:44:37 - GAME] Warning: there were 52 unresolved references to classes or interfaces.
[2011-08-07 17:44:37 - GAME]          You may need to specify additional library jars (using '-libraryjars'),
[2011-08-07 17:44:37 - GAME]          or perhaps the '-dontskipnonpubliclibraryclasses' option.
[2011-08-07 17:44:37 - GAME] java.io.IOException: Please correct the above warnings first.
[ 

警告はsimpleframeworkに関連しているようなので、proguardの設定ファイルに以下を追加しています。

-libraryjars pathtoprojecttolibs\simple-xml-2.4.jar

ここで pathtoprojecttolibs は、私のプロジェクトから参照される jar のパスです。

これは何の違いもありません。

simpleframeworkがjavaxを参照する場合、proguardにこれも無視するように言うことができますか?

何かアイデアはありますか?

どのように解決するのですか?

このエラーは、使用しているライブラリが、実際には使用されていない他のライブラリに依存しているため、Proguardがそれらを探しているために発生します。

あなたの -dontwarn の行を プロガードルール.pro を追加して、この警告を無効にしてください。

proguard-rules.proにどの依存関係を追加する必要があるかは、エラーのスタックトレースで見つけることができます。