問題タブ [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.
android - EclipseforAndroidでProGuardを有効にする
ProGuard for Androidの新しいドキュメントには、プロジェクトのホームディレクトリにあるdefault.propertiesファイルに行を追加するように記載されています。しかし、このファイルを開くと、私は上部を読みました:
私は何かが足りないのですか?
また、Eclipseからの本番ビルドに対してのみ(つまり、完成品をエクスポートするときに)ProGuardを有効にする方法はありますか?
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とパッケージの名前も取得します。
これを機能させるには、どのような設定を行う必要がありますか?ありがとうございました!
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など、エラー行の他の部分を参照する行
とにかく、エラーログはテキストの巨大な壁なので、ここにペーストビンに入れました。
android - Eclipseを介してProguardでapkを難読化するにはどうすればよいですか?
default.propertiesファイルに追加proguard.config=proguard.cfg
し、プロジェクトルートにproguard.cfgファイルがあります。Eclipse内からAndroidアプリケーションとしてエクスポートを使用すると、次のエラーが発生します。
どういうわけか私のクラスはクラスサブフォルダーに保存されているようですが、Proguardはこのクラスサブフォルダーをパッケージとして使用しています。したがって、クラスの定義はProguardでは理解できません。
これは私のSDKセットアップの問題ですか?または、この問題の原因となるProguard構成にエラーがありますか?
android - proguard を使用するときに特定のパッケージ パスを保持/除外する方法は?
ProGuard から一部のファイル パスを除外したい。例com.myapp.customcomponents
これどうやってするの?このディレクトリにあるすべてのカスタム コンポーネント ファイルに -keep フラグを設定するのは嫌いです。
次のことを試しましたが、うまくいきません。
java - ProGuard を使用した GWT Web アプリケーションの難読化
Proguard を使用して GWT (Vaadin) アプリケーションを難読化しようとしています。これまで Java コードを難読化したことがなく、これが Proguard を使用する最初の試みです。
構成ファイルを次のように設定しています。
次に、proguard コマンドを使用して実行します。
構成ファイルでエラーは発生しませんが、多くの警告が表示されます。出力ファイルは作成されますが、警告が気になります。構成ファイルでさらに jar ファイルを指定する必要がありますか? アプリケーションで使用しているすべての jar をリストしました。私が間違っていることは他にありますか?
以下は、コマンド ライン出力の最後の 20~ 行を抜粋したものです。
前もって感謝します
S.
android - Android Proguard java.io.IOException:[proguard.ClassPathEntryを読み取ることができません
こんにちはすべてAndroidのproguardを有効にすると、署名されたjarを作成しているときに、次のダンプが表示されます。
ネット上で関連するものが見つかりませんでした。何か案は?
android - Android : 誰でもダウンロード用のリンクまたはファイル proguard.cfg を送信できますか
最新の更新後にEclipseとAndroid SDKに
問題があります。質問は、このファイルproguard.cfgを送信または共有できるので、同じSDKを再度ダウンロードしないでください。
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で見つかったいくつかの解決策を試しました。例:
しかし、それは役に立ちません。
解決策はありますか?
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 などのさまざまなパッケージが含まれています。
- これらのパッケージが含まれている jar ファイルを特定するにはどうすればよいですか? たとえば、javax.ws.rs.ext.** クラスにはどの jar が必要ですか?
- それらの 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
する必要がありますか?
残りのクラスは次のパッケージに含まれています。
だから今、私は理解する方法が必要です:
- これらのクラスを持つ jar ファイル
- これらのjarはどこにあるので、proguard構成ファイルに含めることができます