Search Unity

Google Play Automated Pre Launch Test Fail

Discussion in 'Android' started by davidcox70, Apr 3, 2018.

  1. davidcox70

    davidcox70

    Joined:
    Oct 19, 2016
    Posts:
    33
    Hello,

    I have updated a previously working Google Daydream game, but although the game works when sideloaded into a Galaxy S9 and works when downloaded into the same device from a Google Play Beta channel, the same version cannot progress to the store because it fails Google's automated pre-launch tests. It seems that the game simply fails to even start. I cannot replicate any fault here and only have the logcat logs from the automated tests to go on.

    The fatal error is:

    java.lang.Error: FATAL EXCEPTION [main] 04-03 02:10:26.555: E/AndroidRuntime(7638): Unity version : 2017.3.1f1 04-03 02:10:26.555: E/AndroidRuntime(7638): Device model : Google Pixel 04-03 02:10:26.555: E/AndroidRuntime(7638): Device fingerprint: google/sailfish/sailfish:7.1.1/NMF26U/3562008:user/release-keys 04-03 02:10:26.555: E/AndroidRuntime(7638): Caused by: java.lang.NoSuchMethodError: No static method writeStrongBinder(Landroid/os/Parcel;Landroid/os/IInterface;)V in class Lcom/google/android/aidl/Codecs; or its super classes (declaration of 'com.google.android.aidl.Codecs' appears in /data/app/com.google.android.apps.mtaas.crawler-1/base.apk)

    The changes to the updated version were only to improve some textures, add music, add some more stored data in PlayerPrefs and to include the latest update to Unity IAP. I have since tried to upload a build with each of these aspects returned to their old positions (or with IAP, I removed all references to IAP) but the fails still persist.

    Can anyone help me understand what might be causing the failures in the automated tests? It appears from the LogCat that the game fails as soon as it tries to start.

    Thanks for your help.

    DC
     
    Taoma likes this.
  2. JuliusM

    JuliusM

    Unity Technologies

    Joined:
    Apr 17, 2013
    Posts:
    836
    What Target API level have you set in your project? If you are using the automatic or higher API level than 25, try building the APK with API level set to 25. I'm mostly guessing here, but I feel like this could be related to default java methods. Also if you can get your hands on any android device with Android 7 or older, you should be able to reproduce the crash locally, without going through google verification process on each iteration.
    From the information that you've provided I can't determine the exact cause of the issue, but all symptoms point to default methods.
     
  3. Paullux

    Paullux

    Joined:
    Aug 6, 2015
    Posts:
    6
    i had the same problem, when i update GVR to the last, the problem was solved.
     
  4. davidcox70

    davidcox70

    Joined:
    Oct 19, 2016
    Posts:
    33
    Thank you sooo much for the help. It did indeed turn out that Google had updated the Google VR SDK for Unity and that the older one I was using had become incompatible with Google's test procedures. Updating to the latest version as kindly suggested by @Paullux solved the issue. I'll let Google Dev support know as they seem unaware :)

    Thanks for your help.

    DC
     
  5. davidcox70

    davidcox70

    Joined:
    Oct 19, 2016
    Posts:
    33
    ...I spoke too soon. Now the app passes the pre-launch tests, but a few hours later, I got an email from Google saying that the App can't be accepted to Daydream because it continually crashes. No crash reports are given. No device details. No logcat output. No other details. I can't reproduce any crashes here. This app has been on the Play store since November without issues before this minor update. I'm beginning to think that supporting Google Daydream isn't quite worth the effort!