問題タブ [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.
jersey - Proguard で難読化された REST サービスで動作する Jersey JAX-RS リソースを取得できません
この投稿の長さをお許しください。私はそこにある有用な情報をすべて入手し、人々が持つかもしれない質問を予測しようとしています.
Jersey で実装され、Jetty で実行されている一連の RESTful Web サービスがあります。 jar ファイルの難読化されていないバージョンでは、すべてが正常に機能します。しかし、Proguard で難読化すると、メッセージとともに 500 エラーが発生します
パッケージの一部として、接続と基本的な Jersey 構成をテストできるように、非常に単純な ping サービスがあります。
ジャージーで突堤を起動する私のコードは次のようになります。
ブラウザから ping URL にアクセスしようとすると、デバッグ ログに次の行が表示されます。
だから私は、桟橋が正しく構成され、実行されているという意見です。前述したように、このアプリケーションの難読化されていないバージョンは問題なく動作します。
ping を実行しようとしたときに表示されるスタック トレースは、この投稿の最後に表示されますが、最も厄介な行は次のとおりです。
私のプロガード構成は次のようになります(簡潔にするためにコメントを削除しました)。jar -tvf obfuscated.jar 呼び出しを実行すると、そこにクラス com.sw.pr.HQServerResource.class ファイルが表示されることに注意してください。
私の ping リソース クラスは次のようになります。
Proguard に慣れていないため、推測フェーズに入ります。
私の問題は、Proguard がクラス ファイル内の @Path アノテーションをマッシュアップすることに要約されると私は考えています。しかし、プロガード構成ファイルにディレクティブ ( -keepattributes Annotation ) があります。したがって、私は今迷っています。
任意のガイダンスをいただければ幸いです。
スタックトレース:
[java] com.sun.jersey.api.container.ContainerException: ResourceConfig インスタンスにルート リソース クラスが含まれていません。[java] com.sun.jersey.server.impl.application.RootResourceUriRules.(RootResourceUriRules.java:103) [java] com.sun.jersey.server.impl.application.WebApplicationImpl._initiate(WebApplicationImpl.java:1182) ) [java] at com.sun.jersey.server.impl.application.WebApplicationImpl.access$600(WebApplicationImpl.java:161) [java] at com.sun.jersey.server.impl.application.WebApplicationImpl$12.f(WebApplicationImpl) .java:698) [java] com.sun.jersey.server.impl.application.WebApplicationImpl$12.f(WebApplicationImpl.java:695) [java] com.sun.jersey.spi.inject.Errors.processWithErrors( Errors.java:197) [java] com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:
android - Android:Proguard NoSuchMethodError
最近、EclipseAndroidプロジェクトでProGuardをアクティブにしました。外部ライブラリと動的に参照されるクラスをproguard.cfgに追加した後、apkをビルドするときにエラーが発生しません。ただし、インストールしたアプリを起動しようとすると、NoSuchMethodErrorが発生します。
メインアクティビティのonCreateメソッドで呼び出される特定のメソッドに絞り込みました。物事を単純化するために、クラスとメソッドは次のようになります(私は多くのコードを省略しましたが、これはそれを説明する必要があると思います):
testMethod()は次のように定義されます。
「someEditText.length()」の部分を削除すると、アプリが起動します。ですから、私の見方では、見つからないメソッドはEditText.length()メソッドです。ただし、不思議なことに、testMethodから「someEditText.length()」を削除してonCreateメソッドに直接配置すると、アプリも起動します。
このエラーを取り除く方法と、onCreateメソッドで直接someEditText.length()を呼び出すことができるが、onCreateメソッドで呼び出されるメソッドでは呼び出せない理由を誰かが知っていますか?もちろん、Proguardを使用しなくてもアプリは正常に動作します。
編集:proguard.cfgの-dontshrink、-dontobfuscate、および-dontoptimzieオプションを試しました。-dontoptimizeを使用すると、アプリはエラーなしで起動します。それでも、この特定のエラーの正確な原因は興味深いでしょう。
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を再度ダウンロードしないでください。