12

こんにちはすべてAndroidのproguardを有効にすると、署名されたjarを作成しているときに、次のダンプが表示されます。

[2011-02-03 11:28:27 - VideoCreator] Proguard returned with error code 1. See console
[2011-02-03 11:28:27 - VideoCreator] java.io.IOException: Can't read [proguard.ClassPathEntry@49b290] (No such file or directory)
[2011-02-03 11:28:27 - VideoCreator]    at proguard.InputReader.readInput(InputReader.java:230)
[2011-02-03 11:28:27 - VideoCreator]    at proguard.InputReader.readInput(InputReader.java:200)
[2011-02-03 11:28:27 - VideoCreator]    at proguard.InputReader.readInput(InputReader.java:178)
[2011-02-03 11:28:27 - VideoCreator]    at proguard.InputReader.execute(InputReader.java:100)
[2011-02-03 11:28:27 - VideoCreator]    at proguard.ProGuard.readInput(ProGuard.java:195)
[2011-02-03 11:28:27 - VideoCreator]    at proguard.ProGuard.execute(ProGuard.java:78)
[2011-02-03 11:28:27 - VideoCreator]    at proguard.ProGuard.main(ProGuard.java:499)

ネット上で関連するものが見つかりませんでした。何か案は?

4

5 に答える 5

7

ProGuardは、入力jarの1つを見つける(または読み取る)ことができません。4.4ではなくProGuard4.5.1をインストールすると、適切なファイル名が出力されるため、欠落している理由を確認できます。

于 2011-02-05T01:06:07.880 に答える
5

最新のProGuardをダウンロードし、ベースsdkツールフォルダー(例:c:/ android-sdk / tools / proguard)にある既存のlibフォルダーをダウンロードした新しいフォルダーに置き換えます。

エリックが言ったように、それはあなたに何が欠けているかを教えてくれます。-libraryjarsコマンドで間違ったパスを使用した可能性があります。削除してみてください

于 2011-06-02T19:29:37.000 に答える
3

ProGuardを更新すると、問題を追跡するのに役立ちました。私の場合は、MacのJDK構成と、rt.jarファイルとjsse.jarファイルが通常の場所にないことと関係がありました。

私はここで解決策を見つけました。

cd $JAVA_HOME/lib
sudo ln -s ../../Classes/classes.jar rt.jar
sudo ln -s ../../Classes/jsse.jar .
于 2012-02-09T20:40:44.720 に答える
2

.jarのパス名にスペースが含まれているかどうかを確認してください。これと同じ問題が発生し、ProGuard 4.6にアップグレードして、エラーメッセージでより多くの情報を取得しましたが、問題は解決しませんでした。次に、パス名のスペースが原因である可能性があると考えました。パス名のすべてのスペース文字を「-」に置き換えました。ProGuardは再びチャームのように機能しました:)

于 2011-11-14T05:12:13.577 に答える
0

JDK1.8では、2つのJARファイルがProguardが期待する場所とは異なる場所にあり、それらをシンボリックリンクすると修正されます。

cd $JAVA_HOME/lib
sudo ln -s ../jre/lib/rt.jar 
sudo ln -s ../jre/lib/jsse.jar
于 2019-03-25T11:23:37.360 に答える