問題タブ [proguard]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
5 に答える
91570 参照

android - EclipseforAndroidでProGuardを有効にする

ProGuard for Androidの新しいドキュメントには、プロジェクトのホームディレクトリにあるdefault.propertiesファイルに行を追加するように記載されています。しかし、このファイルを開くと、私は上部を読みました:

私は何かが足りないのですか?

また、Eclipseからの本番ビルドに対してのみ(つまり、完成品をエクスポートするときに)ProGuardを有効にする方法はありますか?

0 投票する
1 に答える
1918 参照

java - android:インポートされたjarファイルを難読化するプロガード

asmack.jarライブラリを使用してGoogleIMサービスサーバーと通信するIMクライアントを作成しました。

現在、アプリケーションをeclipseからエクスポートし、proguardツールを使用してクラスを難読化しようとしています。問題は、プロジェクトをエクスポートして実行した後、asmack libからエラーが発生したためにgoogleにログオンできないことです...
エラーの1つ:01-21 09:52:19.602: WARN/System.err(24297): java.lang.UnsupportedOperationException: java.lang.NoSuchMethodException: values asmackからNoSuchClassExceptionとパッケージの名前も取得します。

これを機能させるには、どのような設定を行う必要がありますか?ありがとうございました!

0 投票する
3 に答える
4074 参照

android - Android ADT、Proguard、外部Jarの問題

そのため、ADTの組み込みのプロガード実装をアプリで機能させようとしています。残念ながら、私が参照しているサードパーティのライブラリのさまざまなクラスで窒息しているようです。すべてではないにしても、さまざまな-libraryjarsと-keep public class lineの組み合わせを試してみましたが、それはまったく役に立たないことです。私はProguardの経験があまりないので、正直なところ、どこが間違っているのかわかりません。私はグーグルを試しましたが、ほとんどの情報はAntスクリプトに関連しています。

私が試したことのいくつか:

  • ファイルの上部または下部にある-libraryjarsC:\ Users \ Dave \ worksheet \ Dropbox_Sync_for_Tasker_and_Locale \ lib\apache-mime4j-0.6.jarのような行

  • そのようなjarファイルへのパスを比較的作成しようとしている行は、まったく成功しません。

  • -keep publicclassorg.apache.commons.logging.LogFactoryのような行

  • -keep public class org.apache.james.mime4j.field.MailboxListFieldなど、エラー行の他の部分を参照する行

とにかく、エラーログはテキストの巨大な壁なので、ここにペーストビンに入れました。

0 投票する
3 に答える
7761 参照

android - Eclipseを介してProguardでapkを難読化するにはどうすればよいですか?

default.propertiesファイルに追加proguard.config=proguard.cfgし、プロジェクトルートにproguard.cfgファイルがあります。Eclipse内からAndroidアプリケーションとしてエクスポートを使用すると、次のエラーが発生します。

どういうわけか私のクラスはクラスサブフォルダーに保存されているようですが、Proguardはこのクラスサブフォルダーをパッケージとして使用しています。したがって、クラスの定義はProguardでは理解できません。

これは私のSDKセットアップの問題ですか?または、この問題の原因となるProguard構成にエラーがありますか?

0 投票する
4 に答える
94489 参照

android - proguard を使用するときに特定のパッケージ パスを保持/除外する方法は?

ProGuard から一部のファイル パスを除外したい。例com.myapp.customcomponents

これどうやってするの?このディレクトリにあるすべてのカスタム コンポーネント ファイルに -keep フラグを設定するのは嫌いです。

次のことを試しましたが、うまくいきません。

0 投票する
1 に答える
2793 参照

java - ProGuard を使用した GWT Web アプリケーションの難読化

Proguard を使用して GWT (Vaadin) アプリケーションを難読化しようとしています。これまで Java コードを難読化したことがなく、これが Proguard を使用する最初の試みです。

構成ファイルを次のように設定しています。

次に、proguard コマンドを使用して実行します。

構成ファイルでエラーは発生しませんが、多くの警告が表示されます。出力ファイルは作成されますが、警告が気になります。構成ファイルでさらに jar ファイルを指定する必要がありますか? アプリケーションで使用しているすべての jar をリストしました。私が間違っていることは他にありますか?

以下は、コマンド ライン出力の最後の 20~ 行を抜粋したものです。

前もって感謝します

S.

0 投票する
5 に答える
18146 参照

android - Android Proguard java.io.IOException:[proguard.ClassPathEntryを読み取ることができません

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

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

0 投票する
1 に答える
1873 参照

android - Android : 誰でもダウンロード用のリンクまたはファイル proguard.cfg を送信できますか

最新の更新後にEclipseとAndroid SDKに
問題があります。質問は、このファイルproguard.cfgを送信または共有できるので、同じSDKを再度ダウンロードしないでください。

0 投票する
1 に答える
22826 参照

android - AndroidProguardは外部jarをスキップします

AndroidプロジェクトでProguardを使用しようとしましたが、コマンドライン「androidupdateproject / path / to / project」を使用してProguardをセットアップし、ファイルproguard.cfgがプロジェクトのルートディレクトリに作成されました。(Android 2.3 SDKを使用するEclipseでは、新しいプロジェクトを作成するときに、proguard.cfgファイルが自動的に作成されないため、コマンドラインを使用して手動で追加する必要があります)。

プロジェクトをエクスポートすると、次のエラーが発生しました

これらのエラーメッセージは、私のプロジェクトで使用されている4つの外部jarを示しています

(.classpath)

これが私のproguard.cfgファイルです

'-libraryjars'オプションを追加して、Webで見つかったいくつかの解決策を試しました。例:

しかし、それは役に立ちません。

解決策はありますか?

0 投票する
3 に答える
8146 参照

java - jar ファイルに関するプロガードの問題、見つからない jar を見つける方法は?

Proguard で apk をエクスポートしようとすると、次のような多くのエラー (400 以上) が表示されます。

Jackson Json ライブラリを使用していますが、エラーはそれに関連しているようです。

このエラーを調査したところ、Proguards FAQから次のことがわかりました。

クラスまたはインターフェイスへの未解決の参照がある場合は、必須ライブラリを指定するのを忘れている可能性があります。適切に処理するには、Java ランタイム ライブラリを含め、コードで参照されるすべてのライブラリを指定する必要があります。ライブラリを指定するには、-libraryjars オプションを使用します。

SO を検索すると、これに関連する多くの未回答の質問が見つかりましたが、一般的な意味では、使用している jar ファイル (この場合は Jackon JSON) はより多くのライブラリに依存しており、それらを Proguard の構成ファイルに追加する必要があります。どうやって。

ただし、必要なjarファイルとその場所を特定する方法がわかりません。警告には、javax.ws.rs.ext、org.joda.time、org.codehaus.stax2、javax.xml.stream などのさまざまなパッケージが含まれています。

  1. これらのパッケージが含まれている jar ファイルを特定するにはどうすればよいですか? たとえば、javax.ws.rs.ext.** クラスにはどの jar が必要ですか?
  2. それらの jar がどこにあり、どのパスが Proguard の -libraryjars で使用されるかを知るにはどうすればよいですか?

どうもありがとう


編集: Android ライブラリ プロジェクトのセットアップ を使用していることにも言及する必要があります。jar はメインの Library プロジェクトにあり、実際の作業プロジェクトには、Library プロジェクトの jar を含むビルド パスがあります。それが違いを生むかどうかはわかりませんが、言及する必要があると思いました。


更新 テストのために、ビルドパスとコードからジャクソンを完全に削除したところ、Proguard が正常に完了しました。問題はまだ残っています...これらのエラーを処理するための正しいアプローチは何ですか?

Eclipse の Android エクスポート ウィザードは自動的に /lib/ jar を proguard に追加しますか、それとも次のように proguard 構成ファイルにすべて手動で追加する必要がありますか?

私はジャクソンのもののためにそれを試しましたが、違いはありませんでした. これは、警告に記載されているクラスに必要なすべての jar ファイルを見つけて追加する必要があるということですか? それらはsdkにありますか、それともJavaインストールにありますか?

これらがばかげた質問である場合は申し訳ありませんが、私はこの数時間これを理解しようとしてきましたが、どうすればよいかわかりません.

再度、感謝します


再更新

ベンジャミンの提案と組み合わせてさらに検索すると、欠落しているクラスのいくつかが、jdk の lib フォルダーにある rt.jar にあることがわかりました。だから私は最終的に追加しました

proguard.cfg ファイルに移動し、警告を 485 から 204 に下げました。それは何かだと思います...残りの警告は、まったく見つからないクラスについて説明しています。アプリはプロガードを実行しなくても問題なく動作するため、これらのクラスは正しい場所にあるはずです。それとも、これらの警告と一緒に使用-dontwarnする必要がありますか?

残りのクラスは次のパッケージに含まれています。

だから今、私は理解する方法が必要です:

  1. これらのクラスを持つ jar ファイル
  2. これらのjarはどこにあるので、proguard構成ファイルに含めることができます