2011-10-08 74 views
0

我已加密.class文件并希望将它们打开,以便我可以使用dexclassloader加载它们。虽然我得到的问题是我使用的是antbuild.xml [dx命令] )将它们烧毁,但会造成错误。can not jar after encrypting .class files

[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 

看起来好像.class我对它加密后文件不好。我该如何解决这个问题?

回答

0

我怎样才能解决这个问题?

摆脱加密。

首先,such encryption is pointless on regular Java,更不用说Android系统。

其次,针对Android,您.class文件将只存在于您的开发机器上。 Android APK文件不包含带有JVM字节码的.class文件。 APK文件将包含Dalvik字节码;构建工具将您的.class文件交叉编译为Dalvik字节码。通过加密这些类文件,构建工具不能使用它们。

欢迎您使用ProGuard来模糊您的Java字节码,因为这仍然会导致构建工具将理解的.class文件。 Proguard is integrated into the Android build chain