在 RoboVM 中使用 <treeShaker>agressive 后 Box2D 中的 NoSuchMethodError
NoSuchMethodError in Box2D after using <treeShaker>agressive in RoboVM
应用程序在启动时崩溃。这是堆栈跟踪。该应用程序在设置为 "conservative" 时运行良好,但我绝对希望它占用更少的空间 space。
版本:
gdxVersion = '1.6.1'
roboVMVersion = '1.4.0'
这在项目(":ios")
下的依赖项中
compile "com.badlogicgames.gdx:gdx-box2d-platform:$gdxVersion:natives-ios"
这在项目(“:核心”)下的依赖项中
compile "com.badlogicgames.gdx:gdx-box2d:$gdxVersion"
异常:
java.lang.NoSuchMethodError: beginContact
at com.badlogic.gdx.physics.box2d.World.newWorld(Native Method)
at com.badlogic.gdx.physics.box2d.World.<init>(World.java)
at com.cereal.stackking.worlds.GameWorld.<init>(GameWorld.java)
at com.cereal.stackking.worlds.ArcadeWorld.<init>(ArcadeWorld.java)
at com.cereal.stackking.screens.ArcadeScreen.startNewWorld(ArcadeScreen.java)
at com.cereal.stackking.screens.ArcadeScreen.<init>(ArcadeScreen.java)
at com.cereal.stackking.screens.MainMenuScreen.populateTable(MainMenuScreen.java)
at com.cereal.stackking.screens.MainMenuScreen.<init>(MainMenuScreen.java)
at com.cereal.stackking.Staq.load(Staq.java)
at com.cereal.stackking.screens.SplashScreen.render(SplashScreen.java)
at com.badlogic.gdx.Game.render(Game.java)
at com.cereal.stackking.Staq.render(Staq.java)
at com.badlogic.gdx.backends.iosrobovm.IOSGraphics.draw(IOSGraphics.java)
at com.badlogic.gdx.backends.iosrobovm.IOSGraphics.draw(IOSGraphics.java)
at com.badlogic.gdx.backends.iosrobovm.IOSGraphics.$cb$drawRect$(IOSGraphics.java)
at org.robovm.apple.uikit.UIApplication.main(Native Method)
at org.robovm.apple.uikit.UIApplication.main(UIApplication.java)
at com.cereal.stackking.IOSLauncher.main(IOSLauncher.java)
Box2D 在本机代码中使用反射来访问 java 方法来调用联系侦听器。 RoboVM 是否有任何方法可以告诉摇树器保持一定的 classes/methods (一个 la proguard)?如果没有,您可能不得不坚持使用保守模式(并且可能会向 RoboVM 提交功能请求)。
应用程序在启动时崩溃。这是堆栈跟踪。该应用程序在设置为 "conservative" 时运行良好,但我绝对希望它占用更少的空间 space。
版本: gdxVersion = '1.6.1' roboVMVersion = '1.4.0'
这在项目(":ios")
下的依赖项中compile "com.badlogicgames.gdx:gdx-box2d-platform:$gdxVersion:natives-ios"
这在项目(“:核心”)下的依赖项中
compile "com.badlogicgames.gdx:gdx-box2d:$gdxVersion"
异常:
java.lang.NoSuchMethodError: beginContact
at com.badlogic.gdx.physics.box2d.World.newWorld(Native Method)
at com.badlogic.gdx.physics.box2d.World.<init>(World.java)
at com.cereal.stackking.worlds.GameWorld.<init>(GameWorld.java)
at com.cereal.stackking.worlds.ArcadeWorld.<init>(ArcadeWorld.java)
at com.cereal.stackking.screens.ArcadeScreen.startNewWorld(ArcadeScreen.java)
at com.cereal.stackking.screens.ArcadeScreen.<init>(ArcadeScreen.java)
at com.cereal.stackking.screens.MainMenuScreen.populateTable(MainMenuScreen.java)
at com.cereal.stackking.screens.MainMenuScreen.<init>(MainMenuScreen.java)
at com.cereal.stackking.Staq.load(Staq.java)
at com.cereal.stackking.screens.SplashScreen.render(SplashScreen.java)
at com.badlogic.gdx.Game.render(Game.java)
at com.cereal.stackking.Staq.render(Staq.java)
at com.badlogic.gdx.backends.iosrobovm.IOSGraphics.draw(IOSGraphics.java)
at com.badlogic.gdx.backends.iosrobovm.IOSGraphics.draw(IOSGraphics.java)
at com.badlogic.gdx.backends.iosrobovm.IOSGraphics.$cb$drawRect$(IOSGraphics.java)
at org.robovm.apple.uikit.UIApplication.main(Native Method)
at org.robovm.apple.uikit.UIApplication.main(UIApplication.java)
at com.cereal.stackking.IOSLauncher.main(IOSLauncher.java)
Box2D 在本机代码中使用反射来访问 java 方法来调用联系侦听器。 RoboVM 是否有任何方法可以告诉摇树器保持一定的 classes/methods (一个 la proguard)?如果没有,您可能不得不坚持使用保守模式(并且可能会向 RoboVM 提交功能请求)。