2016-03-29 7 views
1

Я получаю следующую ошибку после запуска proguard в приложении JavaFX. Приложение работает нормально, если proguard не используется. Я искал StackOverflow и нашел несколько сообщений, но у меня был нулевой успех, попробовав некоторые из разных ответов.NoClassDefFoundError после запуска Proguard на JavaFX-приложении

Exception in thread "JavaFX Application Thread" Exception in thread "main" java. lang.NoClassDefFoundError: com/sun/jna/win32/StdCallLibrary$StdCallCallback at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(Unknown Source) at java.security.SecureClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.access$100(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Unknown Source) at com.sun.javafx.application.LauncherImpl.lambda$launchApplicationWithA rgs$153(Unknown Source) at com.sun.javafx.application.LauncherImpl$$Lambda$44/1645995473.run(Unk nown Source) at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$172(Unknown Source) at com.sun.javafx.application.PlatformImpl$$Lambda$46/355629945.run(Unkn own Source) at com.sun.javafx.application.PlatformImpl.lambda$null$170(Unknown Sourc e) at com.sun.javafx.application.PlatformImpl$$Lambda$48/1337124724.run(Unk nown Source) at java.security.AccessController.doPrivileged(Native Method) at com.sun.javafx.application.PlatformImpl.lambda$runLater$171(Unknown S ource) at com.sun.javafx.application.PlatformImpl$$Lambda$47/1915503092.run(Unk nown Source) at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(Unknown Source) at com.sun.glass.ui.win.WinApplication._runLoop(Native Method) at com.sun.glass.ui.win.WinApplication.lambda$null$145(Unknown Source) at com.sun.glass.ui.win.WinApplication$$Lambda$36/1963387170.run(Unknown Source) at java.lang.Thread.run(Unknown Source) Caused by: java.lang.ClassNotFoundException: com.sun.jna.win32.StdCallLibrary$St dCallCallback at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) ... 28 more java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at sun.launcher.LauncherHelper$FXHelper.main(Unknown Source) Caused by: java.lang.NullPointerException at com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(Unk nown Source) at com.sun.javafx.application.LauncherImpl.launchApplication(Unknown Sou rce) ... 5 more

У меня есть следующие в моих профессиональных конфигураций пытается сохранить почти все в сообщении об ошибке, мы надеемся, наткнуться на решение.

-keep class com.sun.javafx.** { *; } 
-keep interface com.sun.jna.** { *; } 

-keep class com.sun.jna.** { *; } 
-keep class com.sun.jna.win32.StdCallLibrary { public *; } 
-keepclassmembers class * extends com.sun.jna.** { 
    <fields>; 
    <methods>; 
} 
-keep interface * extends com.sun.jna.** { *; } 
-keep class * implements com.sun.jna.** { *; } 

И с подробным включением, я вижу следующее при запуске скрипта сборки муравьев.

[proguard] Note: the configuration explicitly specifies 'com.sun.javafx.**' to keep library class 'com.sun.javafx.WeakReferenceQueue' 
[proguard] Note: the configuration explicitly specifies 'com.sun.javafx.**' to keep library class 'com.sun.javafx.beans.event.AbstractNotifyListener' 
[proguard] Note: the configuration explicitly specifies 'com.sun.javafx.**' to keep library class 'com.sun.javafx.css.Selector' 
[proguard] Note: the configuration explicitly specifies 'com.sun.javafx.**' to keep library class 'com.sun.javafx.css.StyleCache' 
[proguard] Note: the configuration explicitly specifies 'com.sun.javafx.**' to keep library class 'com.sun.javafx.css.StyleCache$Key' 
[proguard] Note: the configuration explicitly specifies 'com.sun.javafx.**' to keep library class 'com.sun.javafx.css.StyleManager' 
[proguard] Note: the configuration explicitly specifies 'com.sun.javafx.**' to keep library class 'com.sun.javafx.css.StyleManager$1' 
[proguard] Note: the configuration explicitly specifies 'com.sun.javafx.**' to keep library class 'com.sun.javafx.css.StyleManager$CacheContainer' 
[proguard] Note: the configuration explicitly specifies 'com.sun.javafx.**' to keep library class 'com.sun.javafx.css.StyleMap' 
[proguard] Note: the configuration explicitly specifies 'com.sun.javafx.**' to keep library class 'com.sun.javafx.css.Stylesheet' 
[proguard] Note: the configuration explicitly specifies 'com.sun.javafx.**' to keep library class 'com.sun.javafx.event.BasicEventDispatcher' 
[proguard] Note: the configuration explicitly specifies 'com.sun.javafx.**' to keep library class 'com.sun.javafx.event.CompositeEventDispatcher' 
[proguard] Note: the configuration explicitly specifies 'com.sun.javafx.**' to keep library class 'com.sun.javafx.event.EventHandlerManager' 
[proguard] Note: the configuration explicitly specifies 'com.sun.javafx.**' to keep library class 'com.sun.javafx.fxml.LoadListener' 
[proguard] Note: the configuration explicitly specifies 'com.sun.javafx.**' to keep library class 'com.sun.javafx.fxml.ParseTraceElement' 
[proguard] Note: the configuration explicitly specifies 'com.sun.javafx.**' to keep library class 'com.sun.javafx.geom.BaseBounds' 
[proguard] Note: the configuration explicitly specifies 'com.sun.javafx.**' to keep library class 'com.sun.javafx.geom.Ellipse2D' 
[proguard] Note: the configuration explicitly specifies 'com.sun.javafx.**' to keep library class 'com.sun.javafx.geom.Path2D' 
[proguard] Note: the configuration explicitly specifies 'com.sun.javafx.**' to keep library class 'com.sun.javafx.geom.PathConsumer2D' 
[proguard] Note: the configuration explicitly specifies 'com.sun.javafx.**' to keep library class 'com.sun.javafx.geom.PickRay' 
[proguard] Note: the configuration explicitly specifies 'com.sun.javafx.**' to keep library class 'com.sun.javafx.geom.Point2D' 
[proguard] Note: the configuration explicitly specifies 'com.sun.javafx.**' to keep library class 'com.sun.javafx.geom.RectangularShape' 
[proguard] Note: the configuration explicitly specifies 'com.sun.javafx.**' to keep library class 'com.sun.javafx.geom.Shape' 
[proguard] Note: the configuration explicitly specifies 'com.sun.javafx.**' to keep library class 'com.sun.javafx.geom.Vec2d' 
[proguard] Note: the configuration explicitly specifies 'com.sun.javafx.**' to keep library class 'com.sun.javafx.geom.Vec3d' 
[proguard] Note: the configuration explicitly specifies 'com.sun.javafx.**' to keep library class 'com.sun.javafx.geom.transform.Affine3D' 
[proguard] Note: the configuration explicitly specifies 'com.sun.javafx.**' to keep library class 'com.sun.javafx.geom.transform.AffineBase' 
[proguard] Note: the configuration explicitly specifies 'com.sun.javafx.**' to keep library class 'com.sun.javafx.geom.transform.BaseTransform' 
[proguard] Note: the configuration explicitly specifies 'com.sun.javafx.**' to keep library class 'com.sun.javafx.geom.transform.CanTransformVec3d' 
[proguard] Note: the configuration explicitly specifies 'com.sun.javafx.**' to keep library class 'com.sun.javafx.jmx.MXNodeAlgorithm' 
[proguard] Note: the configuration explicitly specifies 'com.sun.javafx.**' to keep library class 'com.sun.javafx.jmx.MXNodeAlgorithmContext' 
[proguard] Note: the configuration explicitly specifies 'com.sun.javafx.**' to keep library class 'com.sun.javafx.perf.PerformanceTracker' 
[proguard] Note: the configuration explicitly specifies 'com.sun.javafx.**' to keep library class 'com.sun.javafx.runtime.async.AsyncOperation' 
[proguard] Note: the configuration explicitly specifies 'com.sun.javafx.**' to keep library class 'com.sun.javafx.runtime.async.AsyncOperationListener' 
[proguard] Note: the configuration explicitly specifies 'com.sun.javafx.**' to keep library class 'com.sun.javafx.scene.CssFlags' 
[proguard] Note: the configuration explicitly specifies 'com.sun.javafx.**' to keep library class 'com.sun.javafx.scene.DirtyBits' 
[proguard] Note: the configuration explicitly specifies 'com.sun.javafx.**' to keep library class 'com.sun.javafx.scene.LayoutFlags' 
[proguard] Note: the configuration explicitly specifies 'com.sun.javafx.**' to keep library class 'com.sun.javafx.scene.control.ReadOnlyUnbackedObservableList' 
[proguard] Note: the configuration explicitly specifies 'com.sun.javafx.**' to keep library class 'com.sun.javafx.scene.control.skin.FXVK' 
[proguard] Note: the configuration explicitly specifies 'com.sun.javafx.**' to keep library class 'com.sun.javafx.scene.input.PickResultChooser' 
[proguard] Note: the configuration explicitly specifies 'com.sun.javafx.**' to keep library class 'com.sun.javafx.scene.text.GlyphList' 
[proguard] Note: the configuration explicitly specifies 'com.sun.javafx.**' to keep library class 'com.sun.javafx.scene.text.HitInfo' 
[proguard] Note: the configuration explicitly specifies 'com.sun.javafx.**' to keep library class 'com.sun.javafx.scene.text.TextLayout' 
[proguard] Note: the configuration explicitly specifies 'com.sun.javafx.**' to keep library class 'com.sun.javafx.scene.text.TextSpan' 
[proguard] Note: the configuration explicitly specifies 'com.sun.javafx.**' to keep library class 'com.sun.javafx.scene.traversal.Direction' 
[proguard] Note: the configuration explicitly specifies 'com.sun.javafx.**' to keep library class 'com.sun.javafx.scene.traversal.ParentTraversalEngine' 
[proguard] Note: the configuration explicitly specifies 'com.sun.javafx.**' to keep library class 'com.sun.javafx.scene.traversal.TraversalEngine' 
[proguard] Note: the configuration explicitly specifies 'com.sun.javafx.**' to keep library class 'com.sun.javafx.scene.web.Debugger' 
[proguard] Note: the configuration explicitly specifies 'com.sun.javafx.**' to keep library class 'com.sun.javafx.sg.prism.NGNode' 
[proguard] Note: the configuration explicitly specifies 'com.sun.javafx.**' to keep library class 'com.sun.javafx.sg.prism.NGShape$Mode' 
[proguard] Note: the configuration explicitly specifies 'com.sun.javafx.**' to keep library class 'com.sun.javafx.stage.WindowEventDispatcher' 
[proguard] Note: the configuration explicitly specifies 'com.sun.javafx.**' to keep library class 'com.sun.javafx.stage.WindowPeerListener' 
[proguard] Note: the configuration explicitly specifies 'com.sun.javafx.**' to keep library class 'com.sun.javafx.tk.ImageLoader' 
[proguard] Note: the configuration explicitly specifies 'com.sun.javafx.**' to keep library class 'com.sun.javafx.tk.PlatformImage' 
[proguard] Note: the configuration explicitly specifies 'com.sun.javafx.**' to keep library class 'com.sun.javafx.tk.TKDragGestureListener' 
[proguard] Note: the configuration explicitly specifies 'com.sun.javafx.**' to keep library class 'com.sun.javafx.tk.TKPulseListener' 
[proguard] Note: the configuration explicitly specifies 'com.sun.javafx.**' to keep library class 'com.sun.javafx.tk.TKScene' 
[proguard] Note: the configuration explicitly specifies 'com.sun.javafx.**' to keep library class 'com.sun.javafx.tk.TKStage' 
[proguard] Note: the configuration explicitly specifies 'com.sun.javafx.**' to keep library class 'com.sun.javafx.tk.TKStageListener' 
[proguard] Note: the configuration explicitly specifies 'com.sun.jna.**' to keep library class 'com.sun.jna.AltCallingConvention' 
[proguard] Note: the configuration explicitly specifies 'com.sun.jna.**' to keep library class 'com.sun.jna.Callback' 
[proguard] Note: the configuration explicitly specifies 'com.sun.jna.**' to keep library class 'com.sun.jna.Callback$UncaughtExceptionHandler' 
[proguard] Note: the configuration explicitly specifies 'com.sun.jna.**' to keep library class 'com.sun.jna.FunctionMapper' 
[proguard] Note: the configuration explicitly specifies 'com.sun.jna.**' to keep library class 'com.sun.jna.Library' 
[proguard] Note: the configuration explicitly specifies 'com.sun.jna.**' to keep library class 'com.sun.jna.Native$ffi_callback' 
[proguard] Note: the configuration explicitly specifies 'com.sun.jna.**' to keep library class 'com.sun.jna.NativeMapped' 
[proguard] Note: the configuration explicitly specifies 'com.sun.jna.**' to keep library class 'com.sun.jna.TypeMapper' 
[proguard] Note: the configuration explicitly specifies 'com.sun.jna.**' to keep library class 'com.sun.jna.Version' 
[proguard] Note: the configuration explicitly specifies 'com.sun.jna.**' to keep library class 'com.sun.jna.platform.win32.BaseTSD' 
[proguard] Note: the configuration explicitly specifies 'com.sun.jna.**' to keep library class 'com.sun.jna.platform.win32.Guid' 
[proguard] Note: the configuration explicitly specifies 'com.sun.jna.**' to keep library class 'com.sun.jna.platform.win32.Kernel32' 
[proguard] Note: the configuration explicitly specifies 'com.sun.jna.**' to keep library class 'com.sun.jna.platform.win32.WinBase' 
[proguard] Note: the configuration explicitly specifies 'com.sun.jna.**' to keep library class 'com.sun.jna.platform.win32.WinDef' 
[proguard] Note: the configuration explicitly specifies 'com.sun.jna.**' to keep library class 'com.sun.jna.platform.win32.WinError' 
[proguard] Note: the configuration explicitly specifies 'com.sun.jna.**' to keep library class 'com.sun.jna.platform.win32.WinNT' 
[proguard] Note: the configuration explicitly specifies 'com.sun.jna.**' to keep library class 'com.sun.jna.platform.win32.WinNT$OVERLAPPED_COMPLETION_ROUTINE' 
[proguard] Note: the configuration explicitly specifies 'com.sun.jna.**' to keep library class 'com.sun.jna.win32.StdCall' 
[proguard] Note: the configuration explicitly specifies 'com.sun.jna.**' to keep library class 'com.sun.jna.win32.StdCallLibrary' 
[proguard] Note: the configuration explicitly specifies 'com.sun.jna.**' to keep library class 'com.sun.jna.win32.StdCallLibrary$StdCallCallback' 
[proguard] Note: the configuration explicitly specifies 'com.sun.jna.**' to keep library class 'com.sun.jna.AltCallingConvention' 
[proguard] Note: the configuration explicitly specifies 'com.sun.jna.**' to keep library class 'com.sun.jna.Callback' 
[proguard] Note: the configuration explicitly specifies 'com.sun.jna.**' to keep library class 'com.sun.jna.Callback$UncaughtExceptionHandler' 
[proguard] Note: the configuration explicitly specifies 'com.sun.jna.**' to keep library class 'com.sun.jna.CallbackThreadInitializer' 
[proguard] Note: the configuration explicitly specifies 'com.sun.jna.**' to keep library class 'com.sun.jna.FromNativeContext' 
[proguard] Note: the configuration explicitly specifies 'com.sun.jna.**' to keep library class 'com.sun.jna.FunctionMapper' 
[proguard] Note: the configuration explicitly specifies 'com.sun.jna.**' to keep library class 'com.sun.jna.IntegerType' 
[proguard] Note: the configuration explicitly specifies 'com.sun.jna.**' to keep library class 'com.sun.jna.Library' 
[proguard] Note: the configuration explicitly specifies 'com.sun.jna.**' to keep library class 'com.sun.jna.Memory' 
[proguard] Note: the configuration explicitly specifies 'com.sun.jna.**' to keep library class 'com.sun.jna.Native' 
[proguard] Note: the configuration explicitly specifies 'com.sun.jna.**' to keep library class 'com.sun.jna.Native$ffi_callback' 
[proguard] Note: the configuration explicitly specifies 'com.sun.jna.**' to keep library class 'com.sun.jna.NativeLibrary' 
[proguard] Note: the configuration explicitly specifies 'com.sun.jna.**' to keep library class 'com.sun.jna.NativeLong' 
[proguard] Note: the configuration explicitly specifies 'com.sun.jna.**' to keep library class 'com.sun.jna.NativeMapped' 
[proguard] Note: the configuration explicitly specifies 'com.sun.jna.**' to keep library class 'com.sun.jna.Pointer' 
[proguard] Note: the configuration explicitly specifies 'com.sun.jna.**' to keep library class 'com.sun.jna.PointerType' 
[proguard] Note: the configuration explicitly specifies 'com.sun.jna.**' to keep library class 'com.sun.jna.Structure' 
[proguard] Note: the configuration explicitly specifies 'com.sun.jna.**' to keep library class 'com.sun.jna.Structure$StructField' 
[proguard] Note: the configuration explicitly specifies 'com.sun.jna.**' to keep library class 'com.sun.jna.TypeMapper' 
[proguard] Note: the configuration explicitly specifies 'com.sun.jna.**' to keep library class 'com.sun.jna.Version' 
[proguard] Note: the configuration explicitly specifies 'com.sun.jna.**' to keep library class 'com.sun.jna.WString' 
[proguard] Note: the configuration explicitly specifies 'com.sun.jna.**' to keep library class 'com.sun.jna.platform.win32.BaseTSD' 
[proguard] Note: the configuration explicitly specifies 'com.sun.jna.**' to keep library class 'com.sun.jna.platform.win32.BaseTSD$LONG_PTR' 
[proguard] Note: the configuration explicitly specifies 'com.sun.jna.**' to keep library class 'com.sun.jna.platform.win32.BaseTSD$ULONG_PTRByReference' 
[proguard] Note: the configuration explicitly specifies 'com.sun.jna.**' to keep library class 'com.sun.jna.platform.win32.Guid' 
[proguard] Note: the configuration explicitly specifies 'com.sun.jna.**' to keep library class 'com.sun.jna.platform.win32.Guid$GUID' 
[proguard] Note: the configuration explicitly specifies 'com.sun.jna.**' to keep library class 'com.sun.jna.platform.win32.Guid$IID' 
[proguard] Note: the configuration explicitly specifies 'com.sun.jna.**' to keep library class 'com.sun.jna.platform.win32.Kernel32' 
[proguard] Note: the configuration explicitly specifies 'com.sun.jna.**' to keep library class 'com.sun.jna.platform.win32.Ole32Util' 
[proguard] Note: the configuration explicitly specifies 'com.sun.jna.**' to keep library class 'com.sun.jna.platform.win32.Tlhelp32$PROCESSENTRY32' 
[proguard] Note: the configuration explicitly specifies 'com.sun.jna.**' to keep library class 'com.sun.jna.platform.win32.WinBase' 
[proguard] Note: the configuration explicitly specifies 'com.sun.jna.**' to keep library class 'com.sun.jna.platform.win32.WinBase$FILETIME' 
[proguard] Note: the configuration explicitly specifies 'com.sun.jna.**' to keep library class 'com.sun.jna.platform.win32.WinBase$MEMORYSTATUSEX' 
[proguard] Note: the configuration explicitly specifies 'com.sun.jna.**' to keep library class 'com.sun.jna.platform.win32.WinBase$OVERLAPPED' 
[proguard] Note: the configuration explicitly specifies 'com.sun.jna.**' to keep library class 'com.sun.jna.platform.win32.WinBase$PROCESS_INFORMATION' 
[proguard] Note: the configuration explicitly specifies 'com.sun.jna.**' to keep library class 'com.sun.jna.platform.win32.WinBase$SECURITY_ATTRIBUTES' 
[proguard] Note: the configuration explicitly specifies 'com.sun.jna.**' to keep library class 'com.sun.jna.platform.win32.WinBase$STARTUPINFO' 
[proguard] Note: the configuration explicitly specifies 'com.sun.jna.**' to keep library class 'com.sun.jna.platform.win32.WinBase$SYSTEMTIME' 
[proguard] Note: the configuration explicitly specifies 'com.sun.jna.**' to keep library class 'com.sun.jna.platform.win32.WinBase$SYSTEM_INFO' 
[proguard] Note: the configuration explicitly specifies 'com.sun.jna.**' to keep library class 'com.sun.jna.platform.win32.WinDef' 
[proguard] Note: the configuration explicitly specifies 'com.sun.jna.**' to keep library class 'com.sun.jna.platform.win32.WinDef$DWORD' 
[proguard] Note: the configuration explicitly specifies 'com.sun.jna.**' to keep library class 'com.sun.jna.platform.win32.WinDef$DWORDByReference' 
[proguard] Note: the configuration explicitly specifies 'com.sun.jna.**' to keep library class 'com.sun.jna.platform.win32.WinDef$HINSTANCE' 
[proguard] Note: the configuration explicitly specifies 'com.sun.jna.**' to keep library class 'com.sun.jna.platform.win32.WinDef$HMODULE' 
[proguard] Note: the configuration explicitly specifies 'com.sun.jna.**' to keep library class 'com.sun.jna.platform.win32.WinDef$HWND' 
[proguard] Note: the configuration explicitly specifies 'com.sun.jna.**' to keep library class 'com.sun.jna.platform.win32.WinDef$LCID' 
[proguard] Note: the configuration explicitly specifies 'com.sun.jna.**' to keep library class 'com.sun.jna.platform.win32.WinDef$LPARAM' 
[proguard] Note: the configuration explicitly specifies 'com.sun.jna.**' to keep library class 'com.sun.jna.platform.win32.WinDef$LRESULT' 
[proguard] Note: the configuration explicitly specifies 'com.sun.jna.**' to keep library class 'com.sun.jna.platform.win32.WinDef$UINT_PTR' 
[proguard] Note: the configuration explicitly specifies 'com.sun.jna.**' to keep library class 'com.sun.jna.platform.win32.WinDef$WPARAM' 
[proguard] Note: the configuration explicitly specifies 'com.sun.jna.**' to keep library class 'com.sun.jna.platform.win32.WinError' 
[proguard] Note: the configuration explicitly specifies 'com.sun.jna.**' to keep library class 'com.sun.jna.platform.win32.WinNT' 
[proguard] Note: the configuration explicitly specifies 'com.sun.jna.**' to keep library class 'com.sun.jna.platform.win32.WinNT$FILE_NOTIFY_INFORMATION' 
[proguard] Note: the configuration explicitly specifies 'com.sun.jna.**' to keep library class 'com.sun.jna.platform.win32.WinNT$HANDLE' 
[proguard] Note: the configuration explicitly specifies 'com.sun.jna.**' to keep library class 'com.sun.jna.platform.win32.WinNT$HANDLEByReference' 
[proguard] Note: the configuration explicitly specifies 'com.sun.jna.**' to keep library class 'com.sun.jna.platform.win32.WinNT$HRESULT' 
[proguard] Note: the configuration explicitly specifies 'com.sun.jna.**' to keep library class 'com.sun.jna.platform.win32.WinNT$LARGE_INTEGER' 
[proguard] Note: the configuration explicitly specifies 'com.sun.jna.**' to keep library class 'com.sun.jna.platform.win32.WinNT$OSVERSIONINFO' 
[proguard] Note: the configuration explicitly specifies 'com.sun.jna.**' to keep library class 'com.sun.jna.platform.win32.WinNT$OSVERSIONINFOEX' 
[proguard] Note: the configuration explicitly specifies 'com.sun.jna.**' to keep library class 'com.sun.jna.platform.win32.WinNT$OVERLAPPED_COMPLETION_ROUTINE' 
[proguard] Note: the configuration explicitly specifies 'com.sun.jna.**' to keep library class 'com.sun.jna.ptr.ByReference' 
[proguard] Note: the configuration explicitly specifies 'com.sun.jna.**' to keep library class 'com.sun.jna.ptr.IntByReference' 
[proguard] Note: the configuration explicitly specifies 'com.sun.jna.**' to keep library class 'com.sun.jna.ptr.LongByReference' 
[proguard] Note: the configuration explicitly specifies 'com.sun.jna.**' to keep library class 'com.sun.jna.ptr.PointerByReference' 
[proguard] Note: the configuration explicitly specifies 'com.sun.jna.**' to keep library class 'com.sun.jna.win32.StdCall' 
[proguard] Note: the configuration explicitly specifies 'com.sun.jna.**' to keep library class 'com.sun.jna.win32.StdCallLibrary' 
[proguard] Note: the configuration explicitly specifies 'com.sun.jna.**' to keep library class 'com.sun.jna.win32.StdCallLibrary$StdCallCallback' 
[proguard] Note: the configuration explicitly specifies 'com.sun.jna.win32.StdCallLibrary' to keep library class 'com.sun.jna.win32.StdCallLibrary' 

Работа Вокруг я могу обойти эту проблему и заставить его работать, если добавить следующие конфигурации Proguard.

-dontoptimize 

Я думаю, что я действительно хочу, чтобы оптимизировать, хотя, это не кажется, что это много запутывания с этим на месте. Как я могу обойти эту проблему, но с тем, что я делаю больше всего смущения?

ответ

1

Ну, если кто-то наткнулся на это и имеет аналогичную проблему, я исправил мою, не перемещая мой файл jar в другое место, прежде чем запускать его. Я получал ошибку NoClassDefFoundError, потому что классы, которые пытались использовать, были расположены в папке libs, которые были недоступны после того, как я переместил .jar (а не папку libs). Очень простая проблема для исправления, но с множеством разнообразных предложений, найденных в StackOverflow, я не думал о том, что сейчас кажется невероятно очевидным.

Смежные вопросы