Я создал новый проект libgdx android и, как видно из заголовка, я получаю исключение нулевого указателя при использовании диспетчера активов. У меня никогда не было этой проблемы в более ранних проектах, поэтому я нахожу это очень странным, и я не нашел другой ссылки на эту проблему в inte rnet. Файлы находятся в папке android assets, так что это не проблема.
Трассировка стека выглядит следующим образом:
java .lang.NullPointerException: Попытка вызвать метод интерфейса 'com.badlogi c .gdx.files.FileHandle com.badlogi c .gdx.Files.internal (java .lang.String)' для ссылки на пустой объект в android .app.ActivityThread.performLaunchActivity (ActivityThread. java: 2957) в android .app.ActivityThread.handleLaunchActivity (ActivityThread. java: 3032) в android .app.ActivityThread.-wrap11 (Неизвестный источник: 0) в android. app.ActivityThread $ H.handleMessage (ActivityThread. java: 1696) в android .os.Handler.dispatchMessage (Обработчик. java: 105) в android .os.Looper.l oop (Looper . java: 164) на android .app.ActivityThread.main (ActivityThread. java: 6944) на java .lang.reflect.Method.invoke (собственный метод) на com. android .internal .os.Zygote $ MethodAndArgsCaller.run (Zygote. java: 327) в com. android .internal.os.ZygoteInit.main (ZygoteInit. java: 1374) Причина: com.badlogi c. gdx.util s.GdxRuntimeException: java .lang.NullPointerException: попытка вызвать метод интерфейса 'com.badlogi c .gdx.files.FileHandle com.badlogi c .gdx.Files.internal (java .lang.String ) 'для пустой ссылки на объект в com.badlogi c .gdx.assets.AssetManager.handleTaskError (AssetManager. java: 636) в com.badlogi c .gdx.assets.AssetManager.update (AssetManager. java: 411) at com.badlogi c .gdx.assets.AssetManager.finishLoading (AssetManager. java: 437) Причина: java .lang.NullPointerException: Попытка вызвать метод интерфейса 'com.badlogi c .gdx.files.FileHandle com.badlogi c .gdx.Files.internal (java .lang.String) 'для ссылки на пустой объект в com.badlogi c .gdx.assets.loaders.resolvers .InternalFileHandleResolver.resolve (InternalFileHandleResolver. java: 26) в com.badlogi c .gdx.assets.loaders.AssetLoader.resolve (AssetLoader. java: 42) в com.badlogi c .gdx. .AssetLoadingTask.resolve (AssetLoadingTask. java: 148) в com.badlogi c .gdx.assets.AssetLo adingTask.handleSyncLoader (AssetLoadingTask. java: 99) в com.badlogi c .gdx.assets.AssetLoadingTask.update (AssetLoadingTask. java: 88) в com.badlogi c .gsetset. updateTask (AssetManager. java: 561) в com.badlogi c .gdx.assets.AssetManager.update (AssetManager. java: 409) в com.badlogi c .gdx.assets.AssetManager.finishLoading ( AssetManager. java: 437)
Я знаю, что код не проблема, потому что я использовал тот же код в предыдущем проекте, который не получил эту ошибку, но я поделюсь кодом для полноты , Недавнее обновление сломало менеджер активов / изменило его работу, или это вызвано чем-то другим?
assetManager.load("uiskin.atlas", TextureAtlas.class);
assetManager.finishLoading(); //The error occurs here, I can only assume the same error would
//occur the next time this is called, because execution stops here.
assetManager.load("uiskin.json", Skin.class, new SkinParameter("uiskin.atlas"));
assetManager.finishLoading();
uiskin = assetManager.get("uiskin.json");