Search Issue Tracker

Fixed in 2020.1.X

Fixed in 2019.2.X, 2019.3.X

Votes

18

Found in

2019.1.0a12

2019.1.10f1

2019.2

2019.3

Issue ID

1170543

Regression

Yes

[Android][IL2CPP] App crashes on 2019.1.0a12 and up on launch if old IL2CPP files from 2019.1.0a11 and below are backuped

Mobile

-

Reproduction steps:
1. Create a New Project in 2019.1.0a11 or below
2. Set the "Platform" to "Android", "Package Name" to "com.Case.Behaviour" and "Scripting Backend" to "IL2CPP"
3. Build the .apk file
4. "adb install" the application to the Android device
5. Completely exit the application after it finishes loading
6. In a cmd window write "adb shell bmgr backupnow com.Case.Behaviour" to create a new Backup of the application
7. Delete the application
8. Open the Project in 2019.1.0a12 or up
9. Build the .apk file
10. "adb install" the application to the Android device
11. Launch the application

Expected Result: App launches properly
Actual Result: App crashes because it's using old IL2CPP files from the last installation, creating an incompatibility

Reproduced with: 2019.3.0a10, 2019.2.0b10, 2019.1.10f1, 2019.1.0f1, 2019.1.0b1, 2019.1.0a14, 2019.1.0a12
Did not reproduce on: 2019.1.0a11, 2019.1.0a10, 2019.1.0a5, 2018.4.5f1, 2017.4.30f1

Note:
Make sure that in the Android devices, which is being used for the testing, the settings for "Backup" and "Automatic Restore" are enabled
Erasing the "Android/data/<bundle_id>" folder after the crash fixes the issue temporarily as Unity seems to recreate valid il2cpp files under this folder. If the app is deleted before a new backup is automatically generated, further installs will still be crashing

Repro Devices:
VLNQA00123, Google Pixel 2 XL (Pixel 2 XL), Android 9, CPU: Snapdragon 835 MSM8998, GPU: Adreno (TM) 540
VLNQA00216, Razer Phone 2 (Phone 2), Android 8.1.0, CPU: Snapdragon 845 SDM845, GPU: Adreno (TM) 630
VLNQA00257, Sony Xperia XZ Premium (G8141), Android 9, CPU: Snapdragon 835 MSM8998, GPU: Adreno (TM) 540
VLNQA00272, Samsung Galaxy S10+ (SM-G975U), Android 9, CPU: Snapdragon 855 SM8150, GPU: Adreno (TM) 640
VLNQA00277, Asus ROG Phone (ASUS_Z01QD), Android 8.1.0, CPU: Snapdragon 845 SDM845, GPU: Adreno (TM) 630
VLNQA00096, Samsung Galaxy S8 (SM-G950F), Android 8.0.0, CPU: Exynos 9 Octa 8895, GPU: Mali-G71

Comments (10)

  1. emmanuelvincen88

    Dec 17, 2020 09:25

    The free apps for Android today are offered a lot on the Mod apk sites today. You can find them anywhere. BHCmod.com is one of them that you can look for

  2. dpidev

    Apr 14, 2020 12:06

    2020.1.0b5 and issue still persists (like once on three builds). Restarting Unity fixes the problem temporarily.

  3. Ponytech

    Sep 19, 2019 12:00

    @SJWEESALS
    I can confirm upgrading Unity to 2019.2.6 fixed this issue for me.

  4. SJWeesals

    Sep 12, 2019 13:06

    Although marked as fixed in 2019.2, this error occurs for me on 2019.2.5 (the latest build of 2019.2). The fullBackupContent fix still works.

  5. Saturn1004

    Sep 06, 2019 00:04

    I guess issues like these are why some people say you should never update Unity on an existing project?
    I guess I should have listened.
    Regretting not sticking to Unity 2017.
    I miss the good old days when Substance actually worked inside of Unity and the app didn't crash on startup for 40% of devices...
    Sure I got LWRP, but in the end was it worth it?

  6. TextusGames

    Sep 04, 2019 21:19

    Here is simple temporary fix from the mebers of community.
    [QUOTE="TextusGames, post: 4827980, member: 1228963"]This simple 4 steps solution fixes my problem.

    1. if someone interested there to create "res/xml/my_backup_rules.xml" file, your should make it in "Plugins/Android/"

    2. Content of custom back up rules file:
    [code=CSharp]<?xml version="1.0" encoding="utf-8"?>
    <full-backup-content>
    <include domain="sharedpref" path="."/>
    </full-backup-content>[/code]

    3. Android manifest should be copied in "Plugins/Android"

    4. You should paste " android:fullBackupContent="[USER=94913]@XML[/USER]/my_backup_rules" " inside <application > tag
    Example of Android manifest (you can just use this manifest):
    [code=CSharp]<?xml version="1.0" encoding="utf-8"?>
    <manifest
    xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.unity3d.player"
    xmlns:tools="http://schemas.android.com/tools"
    android:installLocation="preferExternal">
    <supports-screens
    android:smallScreens="true"
    android:normalScreens="true"
    android:largeScreens="true"
    android:xlargeScreens="true"
    android:anyDensity="true"/>

    <application
    android:theme="@style/UnityThemeSelector"
    android:icon="@mipmap/app_icon"
    android:label="@string/app_name"

    android:fullBackupContent="@xml/my_backup_rules"

    >

    <activity android:name="com.unity3d.player.UnityPlayerActivity"
    android:label="@string/app_name">
    <intent-filter>
    <action android:name="android.intent.action.MAIN" />
    <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
    <meta-data android:name="unityplayer.UnityActivity" android:value="true" />
    </activity>

    </application>
    </manifest>
    [/code]

    Those 4 steps fixes back up crush.

    In this solution only player preferences will be restored howewer you can include other files in custom back up rules.

    Even more simple solution:

    You can download archive with 2 files, extract it, copy files in respective folders and problem will go away. ( Copy AndroidManifest into "Plugins/Android/" and copy my_backup_rules into "Plugins/Android/res/xml/" )

    Tested in Unity 2019.1.11 and Unity 2019.2.0f I think it will work in any unity version.[/QUOTE]

  7. SJWeesals

    Aug 24, 2019 05:20

    Turning off automatic backups by adding the following lines to the <application> element in our AndroidManifest seemed to work for us:
    android:allowBackup="false" android:fullBackupContent="false"
    tools:replace="android:allowBackup"

  8. eladleb4

    Aug 22, 2019 11:41

    Wow, we didn't know about this issue before releasing an update and now we are getting so many emails from players who's game broke, OMG unity... This is terrible work.

  9. TextusGames

    Aug 06, 2019 08:26

    Crash happens even if I change app bundle version number. That is bad, I can no longer update my app. (Unity 2019.1.11)

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.