In Pro-Guard, Paketnamen können mit zunehmenden Mengen von Verschleierung und Kompaktheit in various ways, verschleiert werden. Betrachten wir zum Beispiel die folgenden Klassen:
mycompany.myapplication.MyMain
mycompany.myapplication.Foo
mycompany.myapplication.Bar
mycompany.myapplication.extra.FirstExtra
mycompany.myapplication.extra.SecondExtra
mycompany.util.FirstUtil mycompany.util.SecondUtil
Lassen Sie uns den Namen der Klasse mycompany.myapplication.MyMain übernehmen die Hauptanwendungsklasse ist, die durch die Konfiguration gehalten wird. Alle anderen Klassennamen außer Main können verschleiert werden.
Standardmäßig werden Pakete, die Klassen enthalten, die nicht umbenannt werden können, nicht umbenannt, und die Pakethierarchie bleibt erhalten. Dies führt zu einem verschleierten Klassennamen wie diese:
mycompany.myapplication.MyMain
mycompany.myapplication.a
mycompany.myapplication.b
mycompany.myapplication.a.a
mycompany.myapplication.a.b
mycompany.a.a
mycompany.a.b
Die -flattenpackagehierarchy Option der Paketnamen verschleiert weiter, indem die Pakethierarchie von verschleierten Paketen Abflachung:
-flattenpackagehierarchy 'myobfuscated'
Alternativ kann die -repackageclasses Option verschleiert die gesamte Verpackung, von verschleierten Klassen in einem einzigen Paket kombiniert:
-repackageclasses 'myobfuscated'
Die verschleierten Klassennamen dann suchen wie folgt:
mycompany.myapplication.MyMain
mycompany.myapplication.a
mycompany.myapplication.b
myobfuscated.a
myobfuscated.b
myobfuscated.c
myobfuscated.d
zusätzlich die -allowaccessmodification Option angeben können Zugriffsberechtigungen von Klassen und Klassenmitglieder erweitert werden, die Möglichkeit eröffnet, alle verschleierten Klassen neu zu verpacken:
-repackageclasses 'myobfuscated'
-allowaccessmodification
Die verschleierten Klassennamen dann sehen Sie wie folgt aus:
mycompany.myapplication.MyMain
myobfuscated.a
myobfuscated.b
myobfuscated.c
myobfuscated.d
myobfuscated.e
myobfuscated.f
Das angegebene Zielpaket kann immer das Root-Paket sein. Zum Beispiel:
-repackageclasses ''
-allowaccessmodification
Die verschleierten Klassennamen sind dann die kürzest möglichen Namen:
mycompany.myapplication.MyMain
a
b
c
d
e
f
Beachten Sie, dass nicht alle Ebenen der Verschleierung von Paketnamen können für alle Code akzeptabel sein.Insbesondere müssen Sie möglicherweise berücksichtigen, dass Ihre Anwendung möglicherweise Ressourcendateien enthält, die angepasst werden müssen.
Um Code im Android Studio zu verschleiern nur this post besuchen.
Oder Ihr Code in NetBeans importieren und verwenden seine Build-in funktionalen, vor der Überprüfung, verschleiern und verpacken Sie den Code))) zu kompilieren.