I’ve been trying to get our game to run on android and running into some issues.
Those have been resolved and I’ve been able to install the game with an .apk and that works just fine.
But google requires us to split the game up before uploading it to the google play store. We built the game into an .apk and an .obb file and after installing it, the game crashes immediately with FMOD errors.
Installation Procedure:
- Build the game with split binary option checked
- adb install game.apk
- adb push main.4.studio.shortsleeve.game.obb /sdcard/Android/obb/studio.shortsleeve.game/
I verify that the obb file is there, then I run the game and get these errors:
09-15 09:49:24.925 21286 24526 E Unity : NullReferenceException: Object reference not set to an instance of an object.
09-15 09:49:24.925 21286 24526 E Unity : at FMODUnity.RuntimeManager.Initialize () [0x00000] in <00000000000000000000000000000000>:0
09-15 09:49:24.925 21286 24526 E Unity : at FMODUnity.RuntimeManager.get_Instance () [0x00000] in <00000000000000000000000000000000>:0
09-15 09:49:24.925 21286 24526 E Unity : at FMODUnity.RuntimeManager.LoadBank (System.String bankName, System.Boolean loadSamples) [0x00000] in <00000000000000000000000000000000>:0
09-15 09:49:24.925 21286 24526 E Unity : at Audio.FMODSound.HandleLoadBank (System.String bank) [0x00000] in <00000000000000000000000000000000>:0
09-15 09:49:24.925 21286 24526 E Unity : at Audio.FMODSound.OnEnable () [0x00000] in <00000000000000000000000000000000>:0
09-15 09:49:24.925 21286 24526 E Unity : Rethrow as SystemNotInitializedException: [FMOD] Initialization failed
09-15 09:49:24.925 21286 24526 E Unity : at FMODUnity.RuntimeManager.get_Instance () [0x00000] in <00000000000000000000000000000000>:0
09-15 09:49:24.925 21286 24526 E Unity : at FMODUnity.RuntimeManager.LoadBank (System.String bankName, System.Boolean loadSamples) [0x00000] in <00000000000000000000000000000000>:0
09-15 09:49:24.925 21286 24526 E Unity : at Audio.FMODSound.HandleLoadBank (System.String bank) [0x00000] in <00000000000000000000000000000000>:0
09-15 09:49:24.926 21286 24526 E Unity : NullReferenceException: Object reference not set to an instance of an object.
09-15 09:49:24.926 21286 24526 E Unity : at FMODUnity.RuntimeManager.Initialize () [0x00000] in <00000000000000000000000000000000>:0
09-15 09:49:24.926 21286 24526 E Unity : at FMODUnity.RuntimeManager.get_Instance () [0x00000] in <00000000000000000000000000000000>:0
09-15 09:49:24.926 21286 24526 E Unity : at FMODUnity.RuntimeManager.LoadBank (System.String bankName, System.Boolean loadSamples) [0x00000] in <00000000000000000000000000000000>:0
09-15 09:49:24.926 21286 24526 E Unity : at Audio.FMODSound.HandleLoadBank (System.String bank) [0x00000] in <00000000000000000000000000000000>:0
09-15 09:49:24.926 21286 24526 E Unity : at Audio.FMODSound.OnEnable () [0x00000] in <00000000000000000000000000000000>:0
09-15 09:49:24.926 21286 24526 E Unity : Rethrow as SystemNotInitializedException: [FMOD] Initialization failed
09-15 09:49:24.926 21286 24526 E Unity : at FMODUnity.RuntimeManager.get_Instance () [0x00000] in <00000000000000000000000000000000>:0
09-15 09:49:24.926 21286 24526 E Unity : at FMODUnity.RuntimeManager.LoadBank (System.String bankName, System.Boolean loadSamples) [0x00000] in <00000000000000000000000000000000>:0
09-15 09:49:24.926 21286 24526 E Unity : at Audio.FMODSound.HandleLoadBank (System.String bank) [0x00000] in <00000000000000000000000000000000>:0
09-15 09:49:24.937 21286 24526 E Unity : NullReferenceException: Object reference not set to an instance of an object.
09-15 09:49:24.937 21286 24526 E Unity : at FMODUnity.RuntimeManager.Initialize () [0x00000] in <00000000000000000000000000000000>:0
09-15 09:49:24.937 21286 24526 E Unity : at FMODUnity.RuntimeManager.get_Instance () [0x00000] in <00000000000000000000000000000000>:0
09-15 09:49:24.937 21286 24526 E Unity : at FMODUnity.RuntimeManager.LoadBank (System.String bankName, System.Boolean loadSamples) [0x00000] in <00000000000000000000000000000000>:0
09-15 09:49:24.937 21286 24526 E Unity : at Audio.FMODSound.HandleLoadBank (System.String bank) [0x00000] in <00000000000000000000000000000000>:0
09-15 09:49:24.937 21286 24526 E Unity : at Audio.FMODSound.OnEnable () [0x00000] in <00000000000000000000000000000000>:0
09-15 09:49:24.937 21286 24526 E Unity : Rethrow as SystemNotInitializedException: [FMOD] Initialization failed
09-15 09:49:24.937 21286 24526 E Unity : at FMODUnity.RuntimeManager.get_Instance () [0x00000] in <00000000000000000000000000000000>:0
09-15 09:49:24.937 21286 24526 E Unity : at FMODUnity.RuntimeManager.LoadBank (System.String bankName, System.Boolean loadSamples) [0x00000] in <00000000000000000000000000000000>:0
09-15 09:49:24.937 21286 24526 E Unity : at Audio.FMODSound.HandleLoadBank (System.String bank) [0x00000] in <00000000000000000000000000000000>:0
09-15 09:49:24.967 18068 18253 E libmtp : [mtp_simple_source_thread : 0224] -->ioctl failed status_ioctl:-1
09-15 09:49:24.971 1220 8706 E SensorService: BigData:Pakage) 1 already enabled.
09-15 09:49:25.040 21286 24526 E Unity : NullReferenceException: Object reference not set to an instance of an object.
09-15 09:49:25.040 21286 24526 E Unity : at FMODUnity.RuntimeManager.Start () [0x00000] in <00000000000000000000000000000000>:0
09-15 09:49:25.040 21286 24526 E Unity :
09-15 09:49:25.090 21286 24526 E Unity : RemoteProviderException : TextDataProvider : unable to load from url : jar:file:///data/app/~~QumWip5RfPJgpYhBIpHqdg==/studio.shortsleeve.voodoodetective-uNiX379xY5zfl7cA9FKG8w==/base.apk!/assets/aa/settings.json
09-15 09:49:25.090 21286 24526 E Unity : UnityWebRequest result : ProtocolError : HTTP/1.1 404 Not Found
09-15 09:49:25.090 21286 24526 E Unity : ResponseCode : 404, Method : GET
09-15 09:49:25.090 21286 24526 E Unity : url : jar:file:///data/app/~~QumWip5RfPJgpYhBIpHqdg==/studio.shortsleeve.voodoodetective-uNiX379xY5zfl7cA9FKG8w==/base.apk!/assets/aa/settings.json
09-15 09:49:25.090 21286 24526 E Unity :
09-15 09:49:25.090 21286 24526 E Unity : System.Action`2:Invoke(T1, T2)
09-15 09:49:25.090 21286 24526 E Unity : UnityEngine.ResourceManagement.AsyncOperations.AsyncOperationBase`1:set_OperationException(Exception)
09-15 09:49:25.090 21286 24526 E Unity : UnityEngine.ResourceManagement.AsyncOperations.AsyncOperationBase`1:Complete(TObject, Boolean, Exception, Boolean)
09-15 09:49:25.090 21286 24526 E Unity : UnityEngine.ResourceManagement.ResourceProviders.InternalOp:CompleteOperation(String, Exception)
09-15 09:49:25.090 21286 24526 E Unity : UnityEngine.ResourceManagement.ResourceProviders.InternalOp:RequestOperation_completed(AsyncOperation)
09-15 09:49:25.090 21286 24526 E Unity : System.Action`1:Invoke(T)
09-15 09:49:25.090 21286 24526 E Unity : UnityEngine.AsyncOperation:InvokeCompletionEvent()
09-15 09:49:25.090 21286 24526 E Unity :
09-15 09:49:25.091 21286 24526 E Unity : RuntimeData is null. Please ensure you have built the correct Player Content.
09-15 09:49:25.091 21286 24526 E Unity : UnityEngine.ResourceManagement.AsyncOperations.InitalizationObjectsOperation:Execute()
09-15 09:49:25.091 21286 24526 E Unity : UnityEngine.ResourceManagement.AsyncOperations.AsyncOperationBase`1:InvokeExecute()
09-15 09:49:25.091 21286 24526 E Unity : System.Action`1:Invoke(T)
09-15 09:49:25.091 21286 24526 E Unity : UnityEngine.ResourceManagement.AsyncOperations.<>c__DisplayClass57_0:<add_CompletedTypeless>b__0(AsyncOperationHandle`1)
09-15 09:49:25.091 21286 24526 E Unity : System.Action`1:Invoke(T)
09-15 09:49:25.091 21286 24526 E Unity : DelegateList`1:Invoke(T)
09-15 09:49:25.091 21286 24526 E Unity : UnityEngine.ResourceManagement.AsyncOperations.AsyncOperationBase`1:InvokeCompletionEvent()
09-15 09:49:25.091 21286 24526 E Unity : UnityEngine.ResourceManagement.ResourceManager:ExecuteDeferredCallbacks()
09-15 09:49:25.091 21286 24526 E Unity : UnityEngine.ResourceManagement.ResourceManager:Update(Single)
09-15 09:49:25.091 21286 24526 E Unity : System.Action`1:Invoke(T)
09-15 09:49:25.091 21286 24526 E Unity :
09-15 09:49:25.092 21286 24526 E Unity : OperationException : Addressables - Unable to load runtime data at location UnityEngine.ResourceManagement.AsyncOperations.AsyncOperationHandle`1[[UnityEngine.AddressableAssets.Initialization.ResourceManagerRuntimeData, Unity.Addressables, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]].
09-15 09:49:25.092 21286 24526 E Unity : System.Action`2:Invoke(T1, T2)
09-15 09:49:25.092 21286 24526 E Unity : UnityEngine.ResourceManagement.AsyncOperations.AsyncOperationBase`1:set_OperationException(Exception)
09-15 09:49:25.092 21286 24526 E Unity : UnityEngine.ResourceManagement.AsyncOperations.AsyncOperationBase`1:Complete(TObject, Boolean, Exception, Boolean)
09-15 09:49:25.092 21286 24526 E Unity : UnityEngine.AddressableAssets.Initialization.InitializationOperation:Execute()
09-15 09:49:25.092 21286 24526 E Unity : UnityEngine.ResourceManagement.AsyncOperations.AsyncOperationBase`1:InvokeExecute()
09-15 09:49:25.092 21286 24526 E Unity : System.Action`1:Invoke(T)
09-15 09:49:25.092 21286 24526 E Unity : UnityEngine.ResourceManagement.AsyncOperations.<>c__DisplayClass57_0:<add_CompletedTypeless>b__0(AsyncOperationHandle`1)
09-15 09:49:25.092 21286 24526 E Unity : System.Action`1:Invoke(T)
09-15 09:49:25.092 21286 24526 E Unity : DelegateList`1:Invoke(T)
09-15 09:49:25.092 21286 24526 E Unity : UnityEngine.ResourceManagement.AsyncOperations.AsyncOperationBase`1:InvokeCompletionEvent()
09-15 09:49:25.092 21286 24526 E Unity : UnityEngine.ResourceManag
Is there an additional step to making FMOD work with the split binary option? I saw other posts on the forum that suggested it should work out of the box in 2.0+, but that doesn’t seem to be the case.