2016-10-24 2 views
0

Ich versuche, Dexguard nicht Logging-Funktionen zu strippen, wenn es schrumpft und verschleiern meinen Code. Ich habe daher die folgende Anweisung in Dexguard Konfigurationsdatei kommentiert:Keep Protokollierung während der Verschleierung mit Dexguard

-assumenosideeffects Klasse android.util.Log {...}

Sobald diese Anweisung kommentiert wird, schlägt fehl Build mit der folgenden Fehlermeldung:

Ausführung fehlgeschlagen für Task ': app: dexguardRelease'. > Unterricht hat ungültige Konstante Indexgröße ([699742] ldc_w # 65536)

ich zuerst gedacht, dass das Problem auf Android 64K Grenzen verwandt war, aber die Erfolge aufbauen, wenn dexguard deaktiviert ist oder wenn es aktiviert ist und eingestellt, um die Protokollierungsfunktionen auszublenden.

Ist es möglich, dass dexguard Probleme bei der Verschleierung von Funktionen wie Log.d() hat, die lange Zeichenfolgen als Eingabeargumente enthalten können?

Dank

Antwort

1

Sie haben wahrscheinlich viele Debug-Strings in dieser Klasse in Kombination mit einer -encryptstrings ** Richtlinie.

Dies führt zu einer großen Anzahl von verschlüsselten Strings in einer einzelnen Klasse, die zu Fehlern führen, wie in Ihrem Beitrag beschrieben.

Ich würde vorschlagen, dass Sie Ihre -encryptstrings Regeln erneut aufrufen und nur diejenigen verschlüsseln, die wirklich empfindlich sind.

Verwandte Themen