2011-10-08 2 views
0

J'ai crypté des fichiers .class et voudrais les jar afin que je puisse utiliser dexclassloader pour les charger.While le problème que je reçois est que j'utilise ant (build.xml [commande dx]) pour les jar, mais ça fait une erreur.ne peut pas jar après le cryptage des fichiers .class

[echo] Converting compiled files and external libraries into D:\XXX/classes.dex... 
     [apply] trouble processing: 
     [apply] bad class file magic (6244b7bf) or version (e2dd.0927) 
     [apply] ...while parsing com/XXX/LibraryProvider.class 
     [apply] ...while processing com/XXX/LibraryProvider.class 
     [apply] 1 warning 
     [apply] no classfiles specified 

Il semble que le fichier est mauvais .class après que je les a chiffrés. Comment puis-je résoudre le problème?

Répondre

0

Comment puis-je résoudre le problème?

Débarrassez-vous du cryptage.

Tout d'abord, such encryption is pointless on regular Java, sans parler d'Android. Deuxièmement, pour Android, vos fichiers .class n'existeront que sur votre ordinateur de développement. Les fichiers APK Android ne contiennent pas vos fichiers .class avec le bytecode JVM. Les fichiers APK contiendront le bytecode Dalvik; Les outils de compilation compilent vos fichiers .class en Dalvik bytecode. En chiffrant ces fichiers de classe, les outils de génération ne peuvent pas les utiliser.

Vous pouvez utiliser ProGuard pour masquer votre bytecode Java, car il en résulte des fichiers .class que les outils de construction vont comprendre. Proguard is integrated into the Android build chain.

Questions connexes