問題タブ [dexguard]

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 投票する
1 に答える
1176 参照

java - 難読化せずに APK を暗号化

評価のために、DexGuard を使用して APK ファイル内のすべての文字列を暗号化したいのですが、難読化、圧縮、または最適化のオプションは使用しません。
これは可能ですか、それとも APK を難読化して暗号化する必要がありますか?
次のコマンド ラインを使用して、すべてのクラスを暗号化します。

conf.pro は次のようになります。

ツールjar tf ...を使用してすべてのクラス名を取得-encryptstrings class ...し、conf.pro ファイルのようにフィルタリングした後にすべてのクラスを追加しました。
私の問題は、out.apk で何も暗号化されていないことです。
設定の何が問題になっていますか?
助けてくれてありがとう。

更新:
APK を難読化せずに暗号化するためにあらゆる種類の組み合わせを試しましたが、不可能です。私の履歴書は、暗号化は DexGuard による難読化によってのみ可能であるということです。
難読化なしで DexGuard を使用して暗号化する唯一の変更点は、難読化を使用して暗号化し、マッピング ファイルを使用して名前を復元することです。
しかし、私はそれを試していません。

0 投票する
2 に答える
1020 参照

android - Android Studio 2.0 と Gradle 2.0 および Dexguard の bootClasspath エラー

Android Studio 2.0 にアップデートしたので、プロジェクトをビルドしたいのですが、次の例外が発生しました。

タスク ':app:dexguardDebug' の実行に失敗しました。そのようなプロパティはありません: クラスの bootClasspath: com.android.builder.core.AndroidBuilder

私はdexguard、gradle 2.0.0を使用しています

新しい Android Studio の何が問題なのかわかりません。

0 投票する
2 に答える
956 参照

android - Dexguard / Proguard が Enum スイッチでアプリをクラッシュさせる

Dexguard を 7.0.12 から 7.1.22 に更新した後、Enum スイッチでクラッシュが発生しました。

これは、プロジェクトで Dexguard が実行されている場合にのみ発生します (これは Proguard の問題が原因だと思います)。

ハードコーディングされた値を使用すると、クラッシュは発生しません。

もちろん、ハードコードされた値の使用は避けたいと思います。

クラッシュ

発生するクラッシュは次のとおりです

これは、次の行で発生しますswitch(type) {(以下を参照)

アプリがクラッシュするコードの例 (MyEnum がもちろん Enum である場合):

の序数値が 1 であると仮定しますMyEnum.SomeValue

に変更case SomeValue:するcase 1:と、期待どおりに動作します。

私が試したこと

このクラッシュが発生する理由はわかりません。これらの Proguard ルールを追加しようとしました。

しかし、これで問題は解決しません。

アップデート

マッピングファイルを確認したところ、すべての列挙名などが保持されています。今、私は何が起こっているかについてさらに無知です。

更新 2

ちょうど出力を見てみました。これにコンパイルされます。スタック トレースから判断すると、ifProguard によって保持されていないと思われます。これはどこで定義されていますか?Proguardにこれを保持させるには何を追加する必要がありますか?

更新 3

中間体では、コード行は次のようになります。

null.$それが私を悩ませているという事実。それは正しくないようです。またはそれは正常ですか?

更新 4

古いバージョンの Dexguard に戻し、追加した Proguard ルールを削除しました。

コードはまったく同じように見えますが、クラッシュは発生しなくなりました。(中間体と完全にコンパイルされたコード)

更新 5

Dexguard 7.2 に切り替えたところ、問題なく動作しました。

0 投票する
2 に答える
813 参照

android - リリース (dexguard) でビルドするがデバッグではない場合の致命的な例外

これは 4.4 のデバイスでよく見られる問題です。abc_ic_ab_back_material.xml に関する他のスレッドをたくさん読みましたが、デバッグでは問題を解決できましたが、リリースでは解決できませんでした。誰かがここで助けてくれますか?. ここで例外:

致命的な例外: メイン プロセス: com.tools.picturedraw、PID: 8136 java.lang.RuntimeException: アクティビティを開始できません ComponentInfo{com.tools.picturedraw/com.blrapp.blrcommon.MainActivity}: android.content.res.Resources$ NotFoundException: Android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2233) の android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2184) のドローアブル リソース ID #0x7f020013 からのファイル res/drawable/abc_ic_ab_back_material.xml .ActivityThread.access$800(ActivityThread.java:135) android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196) で android.os.Handler.dispatchMessage(Handler.java:102) で android.os.Looper.loop(Looper.java:136) でcom.android. internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785) com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601) at dalvik.system.NativeStart.main(Native Method) 原因: android.content.res.Resources$NotFoundException: ファイル res/drawable android.content.res.Resources.loadDrawable(Resources.java:2096) のドローアブル リソース ID #0x7f020013 の /abc_ic_ab_back_material.xml、android.content.res.Resources.getDrawable(Resources.java:700) の android.support.v4 android.support.v7 の .content.ContextCompat.getDrawable(:354)。widget.AppCompatDrawableManager.getDrawable(:193) で android.support.v7.widget.AppCompatDrawableManager.getDrawable(:181) で android.support.v7.widget.AppCompatDrawableManager.checkVectorDrawableSetup(:689) で android.support.v7.widget. AppCompatDrawableManager.getDrawable(:186) で android.support.v7.widget.TintTypedArray.getDrawableIfKnown(:77) で android.support.v7.app.AppCompatDelegateImplBase.(:83) で android.support.v7.app.AppCompatDelegateImplV7.( :146) アンドロイドで。support.v7.app.AppCompatDelegateImplV11.(:28) android.support.v7.app.AppCompatDelegateImplV14.(:41) android.support.v7.app.AppCompatDelegate.create(:193) android.support.v7. com.blrapp.blrcommon.MainActivity. onCreate(:136) で android.app.Activity.performCreate(Activity.java:5231) android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087) で android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2148) で android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2233) で android. app.ActivityThread.access$800(ActivityThread.java:135) で android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196) で android.os.Handler.dispatchMessage(Handler.java:102) で android.os. Looper.loop(ルーパー.java:136) で android.app.ActivityThread.main(ActivityThread.java:5001) で java.lang.reflect.Method.invokeNative(ネイティブ メソッド) で java.lang.reflect.Method.invoke(Method.java:515) でcom.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785) で com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601) で dalvik.system.NativeStart.main(Native Method) 原因: org.xmlpull.v1.XmlPullParserException: Binary XML file line #17:android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:933) の無効なドローアブル タグ ベクター.java:2092) で android.content.res.Resources.getDrawable(Resources.java:700) で android.support.v4.content.ContextCompat.getDrawable(:354) で android.support.v7.widget.AppCompatDrawableManager.getDrawable (:193) android.support.v7.widget で。AppCompatDrawableManager.getDrawable(:181) の android.support.v7.widget.AppCompatDrawableManager.checkVectorDrawableSetup(:689) の android.support.v7.widget.AppCompatDrawableManager.getDrawable(:186) の android.support.v7.widget.TintTypedArray。 android.support.v7.app.AppCompatDelegateImplBase.(:83) の getDrawableIfKnown(:77) android.support.v7.app.AppCompatDelegateImplV7.(:146) android.support.v7.app.AppCompatDelegateImplV11.(:28) の getDrawableIfKnown(:77) android.support.v7.app で。AppCompatDelegateImplV14.(:41) で android.support.v7.app.AppCompatDelegate.create(:193) で android.support.v7.app.AppCompatDelegate.create(:173) で android.support.v7.app.AppCompatActivity.getDelegate (:511) android.support.v7.app.AppCompatActivity.onCreate(:71) で com.blrapp.blrcommon.MainActivity.onCreate(:136) で android.app.Activity.performCreate(Activity.java:5231) でandroid.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087) で android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2148) で android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2233) で android.app.ActivityThread.access$800(ActivityThread.java:135) で android .app.ActivityThread$H.handleMessage(ActivityThread.java:1196) で android.os.Handler.dispatchMessage(Handler.java:102) で android.os.Looper.loop(Looper.java:136) で android.app. ActivityThread.main(ActivityThread.java:5001) com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit. java:785) com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601) で dalvik.system.NativeStart.main(ネイティブ メソッド)515) com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785) で com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601) で dalvik.system.NativeStart.main で(ネイティブメソッド)515) com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785) で com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601) で dalvik.system.NativeStart.main で(ネイティブメソッド) 

私のアプリ/gradleファイル:

前もって感謝します。

0 投票する
2 に答える
2314 参照

android - 私のdexguardライセンスにgradleを向ける方法

Dexguard を使用して Android Studio プロジェクトを構成しようとしています。ライセンスを取得する場所をgradleに伝える方法がわかりません。/appライセンスはプロジェクトのルートの場所 (つまり、ディレクトリと同じ場所) にあります。そして名前はdexguard-license.txt

また、実行時に発生するエラーは次のとおりです

ここに画像の説明を入力

私はトラブルシューティングを続け、結局

ここに画像の説明を入力

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

android - Firebase App Invite が Dexguard との連携を停止

私のアプリは正常に動作します。しかし、生産に入る準備として、Dexguard を適用しました。Dexguard Firebase AppInvite では機能しなくなりました。招待状を送るときは、スナックバーのそばにいます

メッセージを送信できませんでした!

Firebase App Invite を Dexguard と連携させるにはどうすればよいですか? ところで、私は Firebase Cloud Messaging に問題はありません。

私は使っている