Search Unity

  1. We are migrating the Unity Forums to Unity Discussions. On July 12, the Unity Forums will become read-only. On July 15, Unity Discussions will become read-only until July 18, when the new design and the migrated forum contents will go live. Read our full announcement for more information and let us know if you have any questions.

Crash in Unity 2017: com.unity3d.player.UnityPlayer

Discussion in '2017.2 Beta' started by Selzier, Sep 1, 2017.

  1. Selzier

    Selzier

    Joined:
    Sep 23, 2014
    Posts:
    652
    In Unity 5.6, the follow code works when when application is built to Android:
    Code (CSharp):
    1. using (AndroidJavaClass player = new AndroidJavaClass("com.unity3d.player.UnityPlayer")) {
    However, in Unity 2017.1 and 2017.2, this line of code causes a crash. Here is the log from logcat:

    Code (CSharp):
    1.  
    2. FATAL EXCEPTION: main
    3. Process: com.mycompany.ProductName, PID: 19082
    4. java.lang.Error: FATAL EXCEPTION [main]
    5. Unity version     : 2017.2.0b9
    6. Device model      : samsung SM-G930V
    7. Device fingerprint: Verizon/heroqltevzw/heroqltevzw:7.0/NRD90M/G930VVRS4BQH1:user/release-keys
    8. Caused by: java.lang.NoSuchMethodError: [COLOR=#ff4d4d]No direct method <init>(Landroid/content/ContextWrapper;)V in class Lcom/unity3d/player/UnityPlayer; or its super classes (declaration of 'com.unity3d.player.UnityPlayer' appears in /data/app/com.mycompany.ProductName-1/base.apk[/COLOR])
    9.     at com.google.unity.GoogleUnityActivity.onCreate(GoogleUnityActivity.java:120)
    10.     at android.app.Activity.performCreate(Activity.java:6912)
    11.     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1126)
    12.     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2900)
    13.     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3008)
    14.     at android.app.ActivityThread.-wrap14(ActivityThread.java)
    15.     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1650)
    16.     at android.os.Handler.dispatchMessage(Handler.java:102)
    17.     at android.os.Looper.loop(Looper.java:154)
    18.     at android.app.ActivityThread.main(ActivityThread.java:6688)
    19.     at java.lang.reflect.Method.invoke(Native Method)
    20.     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1468)
    21.     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1358)
    22.  
    It seems to be a constructor call, but I am not sure as it works properly with Unity 5.6.

    In Unity 5.6
    Code (CSharp):
    1. public UnityPlayer(ContextWrapper contextwrapper)
    But in Unity 2017.1
    Code (CSharp):
    1. public UnityPlayer(Context context)
    What can we do to successfully build in Unity 2017?

    Reference:
    http://scriptlife.hacca.jp/contents/programming/2017/07/13/unity2017-1-error-android-unityplayer/
    Another report of this bug from Google Tango Github:
    https://github.com/googlesamples/tango-examples-unity/issues/102
     
  2. LeonhardP

    LeonhardP

    Unity Technologies

    Joined:
    Jul 4, 2016
    Posts:
    3,143
    Hi Selzier,
    Could you please file a bug report with a minimal reproduction case for this issue and reply in here with the report #?
     
    GilCat, claytoncurmi and Selzier like this.