加密.class文件后无法jar

时间:2011-10-08 07:49:55

标签: java android ant

我有加密的.class文件,并希望将它们jar,以便我可以使用dexclassloader加载它们。虽然我得到的问题是我使用antbuild.xml [dx命令])罐装它们,但它会造成错误。

[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文件看起来很糟糕。我该如何解决这个问题呢?

1 个答案:

答案 0 :(得分: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