Исключение LibGDX NullPointerException в com.badlogic.gdx.utils.I18NBundle.createBundleImpl с локализациями

#java #android #libgdx

#java #Android #libgdx

Вопрос:

Я получаю исключение NullPointerException при попытке создать пакет для строк локали на некоторых устройствах Android с SDK 27, 28 и 29.

Мой код для загрузки строк локали:

  public LocaleManager() {
    localeDefault = Locale.getDefault();
    baseFileHandle = Gdx.files.internal("location/string");
}

public void loadLocales() {
    if (localeDefault.getLanguage().equals("en")) {
        locale = new Locale("", "", "");
    } else if (localeDefault.getLanguage().equals("es")) {
        locale = new Locale("es", "", "");
    }
    myBundle = I18NBundle.createBundle(baseFileHandle, locale, ENCODING);
}
  

При вызове createBundle(baseFileHandle, locale, ENCODING) он вызывает исключение NullPointerException из-за этого из IN18Bundle.java класса:

 private static I18NBundle createBundleImpl (FileHandle baseFileHandle, Locale locale, String encoding) {
    if (baseFileHandle == null || locale == null || encoding == null) throw new NullPointerException();

    I18NBundle bundle = null;
    I18NBundle baseBundle = null;
    Locale targetLocale = locale;
...
  

Кажется baseFileHandle , что это значение равно нулю при инициализации из Gdx.files.internal("location/string"); , но это происходит только на некоторых устройствах.

Любая помощь?