Probleme mit ProGuard in Verbindung mit einer Androidapplikation

W

Wurstbr00t

Hallo,

also als erstes möchte ich mich einmal dafür entschuldigen, dass ich diesen Post höchstwahrscheinlich nicht an die richtige Stelle des Forums gepostet habe. Ich hab allerdings nichts gefunden, was in die Richtung Android oder mobile Entwicklung geht. Schonmal im vorraus danke an den Admin oder Moderator, der diesen Beitrag verschieben muss.

Nun aber zu meinem Problem. Ich habe eine Android-App, welche ich sicherer machen möchte. Um genau zu sein möchte ich nicht, dass man im Nachhinein meinen Code einsehen kann. Nun benutze ich ProGuard und es klappt eigentlich recht gut. Mein Project benötigt drei externe Libraries und eine Library, welche ein eigenes Project ist. Das habe ich zur Android Library gemacht. Ich builde es über Ant in der Konsole und alles funktioniert prinzipiell gut, nur leider bekomme ich sehr viele NullpointerExceptions. Wenn ich allerdings alles soweit "keep"-e, dass ein Großteil der NPE verschwindet, dann ist der Code nicht mehr obfuscated. Alle NPE tauchen, soweit ich das bisher sehen konnte, in meinem zweiten Project auf, was ich wie gesagt als Library gemacht habe.

Hab ich ProGuard-Prinzip nicht verstanden? Ich dachte, dass jeder Code (Attribute und Methoden), welcher ein wichtiger Punkt ist, und deshalb nicht umbenannt oder entfernt werden darf gekeept wird. Aber dann keepe ich ja fast alles und der Code wird nicht obfuscated.

Ich hoffe ihr könnt mir weiterhelfen. Vielen Dank schonmal :)


Edit 09.11.2011:

Hallo,

ich hab jetzt lange dran rumgetüfftelt, aber es hat sich leider nichts geändert. :( Ich dachte bisher, dass es an dem eingebundenen Projekt liegt, aber dies ist nicht der Fall. Ich habe alle Packages in mein Hauptproject kopiert und neu obfuscated. Es treten die selben NPE auf. Allerdings kann ich ja nicht alle Methoden und Attribute keepen. Es wird sowieso schon sehr viel vom Code gezeigt. Was bringt es mir beispielsweise, wenn der Methodenname umbenannt ist, aber alle Variablen in der Methode noch richtig sichtbar sind und somit der Code nachvollziehbar ist?

Vielen Dank für Eure Antworten :)
 
Zuletzt bearbeitet von einem Moderator:

Neue Beiträge