我是做unity开发的,由于要出的包需要导出用Androidstudio出,记录一下碰到的闪退。
简述一下:unity的启动类被我打成了jar包会发生闪退,我把源码直接放进去,把jar删除就可以了。
发生步骤:
1.先贴我的源码:
public class MainActivity extends FragmentActivity
{
protected UnityPlayer mUnityPlayer;
protected void onCreate(Bundle paramBundle)
{
Log.d("Unity", "MainActivity onCreate");
Log.d("Unity", "MainActivity onCreate0000");
requestWindowFeature(1);
Log.d("Unity", "MainActivity onCreate1111");
super.onCreate(paramBundle);
Log.d("Unity", "MainActivity onCreate2222");
Log.d("Unity", "MainActivity onCreate33333");
this.mUnityPlayer = new UnityPlayer(this);
Log.d("Unity", "MainActivity onCreate44444");
}
这里是unity安卓的启动java。
2.再贴我的异常信息
11-08 11:13:31.624: D/Unity(7702): MainActivity onCreate33333
11-08 11:13:31.794: D/houdini(7702): [7702] Warning error (ID:0x01400486).
11-08 11:13:31.814: D/houdini(7702): [7702] Loading library(version: 4.0.8.45720 RELEASE)... successfully.
11-08 11:13:31.844: D/AndroidRuntime(7702): Shutting down VM
11-08 11:13:31.844: W/dalvikvm(7702): threadid=1: thread exiting with uncaught exception (group=0x94cebb20)
11-08 11:13:31.854: E/AndroidRuntime(7702): FATAL EXCEPTION: main
11-08 11:13:31.854: E/AndroidRuntime(7702): Process: com.wondergame.shinand, PID: 7702
11-08 11:13:31.854: E/AndroidRuntime(7702): java.lang.Error: FATAL EXCEPTION [main]
11-08 11:13:31.854: E/AndroidRuntime(7702): Unity version : 2017.4.24f1
11-08 11:13:31.854: E/AndroidRuntime(7702): Device model : OPPO OPPO R11
11-08 11:13:31.854: E/AndroidRuntime(7702): Device fingerprint: OPPO/R11/R11:4.4.2/NMF26X/381181218:user/release-keys
11-08 11:13:31.854: E/AndroidRuntime(7702): Caused by: java.lang.NoSuchMethodError: com.unity3d.player.UnityPlayer.<init>
11-08 11:13:31.854: E/AndroidRuntime(7702): at com.shandagames.DEVINE.MainActivity.onCreate(MainActivity.java:75)
11-08 11:13:31.854: E/AndroidRuntime(7702): at android.app.Activity.performCreate(Activity.java:5231)
11-08 11:13:31.854: E/AndroidRuntime(7702): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1104)
11-08 11:13:31.854: E/AndroidRuntime(7702): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2157)
11-08 11:13:31.854: E/AndroidRuntime(7702): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2243)
11-08 11:13:31.854: E/AndroidRuntime(7702): at android.app.ActivityThread.access$800(ActivityThread.java:135)
11-08 11:13:31.854: E/AndroidRuntime(7702): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
11-08 11:13:31.854: E/AndroidRuntime(7702): at android.os.Handler.dispatchMessage(Handler.java:102)
11-08 11:13:31.854: E/AndroidRuntime(7702): at android.os.Looper.loop(Looper.java:136)
11-08 11:13:31.854: E/AndroidRuntime(7702): at android.app.ActivityThread.main(ActivityThread.java:5019)
11-08 11:13:31.854: E/AndroidRuntime(7702): at java.lang.reflect.Method.invokeNative(Native Method)
11-08 11:13:31.854: E/AndroidRuntime(7702): at java.lang.reflect.Method.invoke(Method.java:515)
11-08 11:13:31.854: E/AndroidRuntime(7702): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
11-08 11:13:31.854: E/AndroidRuntime(7702): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
11-08 11:13:31.854: E/AndroidRuntime(7702): at dalvik.system.NativeStart.main(Native Method)
11-08 11:13:31.854: W/ActivityManager(366): Force finishing activity
上面异常显示 Caused by: java.lang.NoSuchMethodError: com.unity3d.player.UnityPlayer.<init>
显示闪退在执行这个的时候 this.mUnityPlayer = new UnityPlayer(this);
3.我把jar包删除,把我jar包的源码放进工程。然后不闪退了。
只是记录一下~~~