5
2018
Upgrading old 5.5 project to 2017.4 LTS

So had to upgrade one old Android+iOS cardboard app into newer unity version..
(Due to old unity doesn’t support latest apple os updates [link], missing new app store image sizes [link], some plugins are getting fixes/updates to newer versions, Android google play has new requirements coming up [link], and would be nice to use new unity videoplayer etc..)
Project has multiple external plugins from asset store (including EasyMovieTexture, YoutubePlayer/API, MoonSharp, ToonShaders, UberLogger, LeanTween, Old GVR 0.7 ..), and many custom shaders.
Surprisingly auto-upgrade went cleanly, and iOS build works fine.. BUT, android build crashes on start, with the error below:
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // caused by old GVR 0.7 | |
| FATAL EXCEPTION: main | |
| java.lang.Error: FATAL EXCEPTION [main] | |
| E/AndroidRuntime(10577): Caused by: java.lang.NoSuchMethodError: 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.xyz.asdas-2/base.apk) | |
| E/AndroidRuntime(10577): at com.google.unity.GoogleUnityActivity.onCreate(GoogleUnityActivity.java:114) | |
| E/AndroidRuntime(10577): at android.app.Activity.performCreate(Activity.java:6289) | |
| E/AndroidRuntime(10577): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1119) | |
| E/AndroidRuntime(10577): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2655) | |
| E/AndroidRuntime(10577): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2767) | |
| E/AndroidRuntime(10577): at android.app.ActivityThread.access$900(ActivityThread.java:177) | |
| E/AndroidRuntime(10577): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1449) | |
| E/AndroidRuntime(10577): at android.os.Handler.dispatchMessage(Handler.java:102) | |
| E/AndroidRuntime(10577): at android.os.Looper.loop(Looper.java:145) | |
| E/AndroidRuntime(10577): at android.app.ActivityThread.main(ActivityThread.java:5951) | |
| E/AndroidRuntime(10577): at java.lang.reflect.Method.invoke(Native Method) | |
| E/AndroidRuntime(10577): at java.lang.reflect.Method.invoke(Method.java:372) | |
| E/AndroidRuntime(10577): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1400) | |
| E/AndroidRuntime(10577): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1195) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Error below, caused by either | |
| – androidmanifest.xml, too small min/target sdk, set both to 21 for 2017.4 | |
| – or phone had denied installing (you pressed deny, instead of allow), go to Settings/DeveloperSettings/Permissions/Install via usb, should have blocked your app, disable and try again | |
| // warning | |
| Plugins/Android/AndroidManifest.xml has android:targetSdkVersion set to 21 but "Target API Level" in Editor is set to 26! Setting android:targetSdkVersion to 26. | |
| UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr) | |
| // error | |
| CommandInvokationFailure: Unable to install APK to device. Please make sure the Android SDK is installed and is properly configured in the Editor. See the Console for more details. | |
| …/android-sdk\platform-tools\adb.exe -s "28a358290404" install -r "…\asdf.apk" | |
| stderr[ | |
| Failed to install asdf.apk: Failure [INSTALL_CANCELED_BY_USER] | |
| ] | |
| stdout[ | |
| ] | |
| exit code: 1 | |
| at UnityEditor.Android.Command.WaitForProgramToRun (UnityEditor.Utils.Program p, UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg) [0x00000] in <filename unknown>:0 | |
| at UnityEditor.Android.Command.Run (System.Diagnostics.ProcessStartInfo psi, UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg) [0x00000] in <filename unknown>:0 | |
For the script updates, only manual work was to rename these couple changed method/names:
Application.bundleIdentifier > Application.identifier Caching.CleanCache() > Caching.ClearCache() animator.Stop() > animator.enabled = false;
These things updated automagically:
mul(UNITY_MATRIX_MVP, pos) > UnityObjectToClipPos(pos) packedNativeUnityEngineObject.classId > packedNativeUnityEngineObject.nativeTypeArrayIndex packedNativeType.baseClassId > packedNativeType.nativeBaseTypeArrayIndex EventType.mouseDown > EventType.MouseDown EventType.mouseUp > EventType.MouseUp EventType.mouseDrag > EventType.MouseDrag EventType.scrollWheel > EventType.ScrollWheel www.isError > www.isNetworkError VRSettings.enabled > UnityEngine.XR.XRSettings.enabled lineRenderer.numPositions > lineRenderer.positionCount UnityWebRequest.GetTexture > UnityWebRequestTexture.GetTexture VRNode m_VRNode = VRNode.Head > UnityEngine.XR.XRNode m_VRNode = UnityEngine.XR.XRNode.Head InputTracking.GetLocalRotation > UnityEngine.XR.InputTracking.GetLocalRotation
One thing i noticed, the old undocumented findChild() seems to be removed.. which might be slower now(?) if it searches whole scene then:
go.FindChild("name") > go.Find("name")
Other notes:
– Main app icon in Player Settings seems to be empty, had to assign that back
– Api compatibility setting had changed from 2.0, back into 2.0 subset, which caused build errors with one plugin, had to assign it back to full 2.0:
“ArgumentException: The Assembly System.Web is referenced by YoutubeUnity (‘Assets/Youtube/YoutubePlayer/Plugins/YoutubeUnity.dll’). But the dll is not allowed to be included or could not be found.”
– APK Build size went up from 75mb > 89mb
– iOS build works fine, Android build crashes on start (see error log above) *currently not yet solved, probably will try updating GVR later.. [forum link]
Final Results:
– Reverted back and updated to 5.6.5p3 instead.. old gvr still works with that.
Related Posts
Leave a comment
Recent posts
- Testing Unity AI Beta
- Ways to Support UnityCoder Development
- Using UI Slider to Create 5-Star Rating Element
- Game Music Library For Unity (editor plugin)
- Fontastic : Easily Test Fonts in Unity Editor!
- GeoTiff Importer & Terrain Generator for Unity
- Create Baked DropShadow for UI images
- .JP2 Ortho Image Converter to PNG/JPG/TIFF
- Convert LAS/LAZ/PLY pointclouds to GLTF (GLB) Point Meshes (standalone converter)
- Detect SRP (URP or HDRP) with Assembly Definition Version Defines
- [LudumDare57] Theme: Depths
- MotionVector Effect: Object “disappears” when paused
Recent Comments
- on [Asset Store] PolygonCollider2D Optimizer
- on Trajectory Test Scene 2.0
- on Vector3 maths for dummies!
- on UnityHub 3.6.0: Remove Version Control & Cloud Dashboard columns
- on Using RenderDoc with Unity (graphics debugger)
- on UI Scroll View automatic Content height
- on [Asset Store] Point Cloud Viewer & Tools
- on [Asset Store] Point Cloud Viewer & Tools
Coin:
CUgDSbRqFcAumDSAcdKDvuXsw26VdkJe8C8WGUQHBAGS
An article by











