我有加密的.class文件,并希望将它们jar,以便我可以使用dexclassloader加载它们。虽然我得到的问题是我使用ant
(build.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
文件看起来很糟糕。我该如何解决这个问题呢?
答案 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