Я пытаюсь обработать с помощью Proguard настольное приложение MS Windows (Java 6 SE с использованием библиотеки SWT, предоставленной Eclipse). И я получаю следующую критическую ошибку:
Unexpected error while performing partial evaluation:
Class = [org/eclipse/swt/widgets/DateTime]
Method = [<init>(Lorg/eclipse/swt/widgets/Composite;I)V]
Exception = [java.lang.IllegalArgumentException] (Can't find common super class of [java/lang/StringBuffer] and [org/eclipse/swt/internal/win32/TCHAR])
Error: Can't find common super class of [java/lang/StringBuffer] and [org/eclipse/swt/internal/win32/TCHAR]
----------------------------
Когда я попытался прогуглить ошибку, она появилась только в двух местах во всей сети, что меня очень удивило.
Я новичок в использовании инструментов оптимизации кода Proguard и Java.
Любые мысли и предложения, как это исправить, будут оценены. Заранее спасибо.
Вышеназванная ошибка теперь исправлена, с использованием "-dontskipnonpubliclibraryclasses"
- окончательное обновление:
Я все еще получаю еще одну ошибку.
Весь вывод теперь следующий:
D:\eclipse_projs\java_obfuscate\gci>gci.bat
ProGuard, version 4.4
Reading program jar [D:\eclipse_projs\java_obfuscate\gci\gci.jar]
Reading library jar [D:\jre1.6.0_07\lib\rt.jar]
Unexpected error while evaluating instruction:
Class = [org/eclipse/swt/widgets/Synchronizer]
Method = [runAsyncMessages(Z)Z]
Instruction = [60] aload_1 v1
Exception = [java.lang.IllegalArgumentException] (Value is not a reference value [proguard.evaluation.value.UnknownIntegerValue])
Unexpected error while performing partial evaluation:
Class = [org/eclipse/swt/widgets/Synchronizer]
Method = [runAsyncMessages(Z)Z]
Exception = [java.lang.IllegalArgumentException] (Value is not a reference value [proguard.evaluation.value.UnknownIntegerValue])
Error: Value is not a reference value [proguard.evaluation.value.UnknownIntegerValue]
D:\eclipse_projs\java_obfuscate\gci>
Это проблема, которую я не могу понять наверняка :( любая помощь будет высоко ценится.
Опции, которые я использую, следующие:
-dontskipnonpubliclibraryclasses
-dontskipnonpubliclibraryclassmembers
-optimizationpasses 3
-overloadaggressively
-repackageclasses ''
-allowaccessmodification
-dontnote