2011-10-08 41 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