問題タブ [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.
javascript - AndroidプロガードJavascriptインターフェースの問題
proguardで難読化した後の私のプロジェクトは、javascriptinterfaceで失敗します
これがプロガード構成のいくつかの提案へのリンクですが、私の場合は機能しません
http://groups.google.com/group/android-developers/browse_thread/thread/f889e846fbf7ec3f?pli=1
したがって、Javascriptからの呼び出しは、関連するJavaメソッドへのバインドを緩めます
それに関する私のプロガード構成
誰かがproguardを構成して、私に大いに役立つ関連するメソッドとクラスを除外する方法を知っている場合
android - Android: proguard の難読化の問題
プロジェクトをプロガードで難読化しようとして問題が発生しています。
プロジェクトをEclipseでエクスポートしています。プロジェクトはAndroid 2.2 SDK上にあり、default.propertiesは次のとおりです。
プロジェクトをエクスポートしようとすると、次のエラーが発生します。
他のプロジェクトをエクスポートしましたが、どのプロジェクトでもこのエラーが発生しませんでした... どうすれば修正できますか?
android - android:難読化の問題をプロガード
android用のjavamailapiを使用してメールクライアントを作成しましたが、アプリはエミュレーターまたはデバイスで正常に実行されます... eclipseを使用してプロジェクトをエクスポートしたいのですが、次のエラーが発生しました。
ご覧のとおり、javamailapiはjava.awtおよびjavax.securitylibsを使用しています...プロジェクトにそれらを追加して、プロジェクトをエクスポートして難読化するにはどうすればよいですか?
どうもありがとうございます!
アップデート:
プロジェクトにjreライブラリをインポートしようとしましたが、これらのエラーはなくなりましたが、新しいエラーが表示されました。
私に何ができる?
android - Android プロガード、jar をスキップ
難読化されないように、proguard で jar をスキップできるかどうかを知りたいです...このコマンドでそれを実行しようとしています: -libraryjars myjar.jar しかし、コードに問題があり続けています..
Android 用の Javamail API を持つプロジェクトをエクスポートしようとしていますが、プロジェクトは imaps プロトコルを使用して交換メールを取得することになっています...
私はトラスト マネージャーを使用して証明書の検証に合格しています (exc サーバーに自己署名証明書があるため)。アプリをエクスポートせずにコンパイルして実行すると、すべて正常に動作します。アプリをエクスポートすると、無効な証明書エラーが発生します。
私のアクティビティでは、Property オブジェクトで SSLSocketFactory (証明書の検証をスキップするもの) を渡します。
したがって、問題はjavamail jarのどこかにあると思いますが、jarのすべてのクラスをproguardによってスキップさせる方法がわかりません...
android - CORBA による Android アプリの難読化
Android アプリで jacorb.jar と CORBA インターフェースを使用するようになりました。そして、Proguard を使用してコードを難読化しようとすると、次のような多くの警告が表示されます。
そして結果として:
私のproguard.cfg:
これらの警告を修正し、機能する apk ファイルをビルドするにはどうすればよいですか?
android - @Inject アノテーションを使用した ProGuard と RoboGuice の問題
Android アプリを最適化するときに、proguard で問題が発生しています。Dalvik/Harmony が実行時に満足していないアノテーション クラス (@com.google.inject.Inject) に何かが行われているようです。
java.lang.annotation.IncompleteAnnotationException: 注釈 com.google.inject.Inject の要素オプションが完全ではありません
com.google.inject.Inject は次のようになります (Guice の一部):
起動時の失敗は次のとおりです。
そして、これは私の(現在の)proguard.cfgです:(私は多くのことを試しました)
android - ProGuardを使用してすべてのメソッドをクラスに保持する方法
ProGuardを使用してAndroidアプリケーションを最適化します。ただし、Androidインストルメンテーションテストでは、すべてのメンバーを維持するためにいくつかの(すべてではない)クラスが必要です。私はさまざまなアプローチを試しましたが、最後は次のとおりです。
しかし、驚くべきことに、私はまだ得ます
ここでの苦痛な部分は、2つのコンストラクターがあり、1つにはかなりの数のパラメーターがあることです。
クラスを完全に変更せず、ProGuardの影響を受けないようにするための正しい構文を知っている人はいますか?
android - ProGuard を使用する価値はありますか?
私が見たり読んだりしたことによると、誰かが本当にあなたのソフトウェアをリバース エンジニアリングしたり、逆コンパイルしたりしたい場合、ProGuard はそれらを止めません。しかし、それは少なくとも控えめな抑止力ですか? 後でスタック トレースを翻訳する手間をかける価値があるかどうかはわかりません。
java - コードが難読化される場合、常にReflection APIを使用できますか?
私は2つの一般的な解決策があるように思われることを発見しました:
- リフレクションAPI[ Retroguard、Jobfuscate ]を介して参照されるものを難読化しないでください
- リフレクションAPI呼び出しの文字列を難読化された名前に置き換えます。
これらのソリューションは、同じプロジェクト内の呼び出しに対してのみ機能します。クライアントコード(別のプロジェクト内)は、リフレクションAPIを使用して非公開APIメソッドにアクセスすることはできません。
2の場合、Reflection APIがコンパイル時に既知の文字列で使用されている場合にのみ機能します(プライベートメソッドのテスト?)。そのような場合、 dp4jは、難読化後にリフレクションコードを挿入するソリューションも提供します。
Proguard FAQを読んで私はそれが言うとき2がそうでなければ常に働いたかどうか疑問に思いました:
ProGuardは、Class.forName( "SomeClass")やSomeClass.classなどの構成を自動的に処理します。参照されるクラスは縮小フェーズで保持され、文字列引数は難読化フェーズで適切に置き換えられます。
可変文字列引数を使用すると、通常、可能な値を判別することはできません。
Q:太字のステートメントはどういう意味ですか?例はありますか?