Файлы Android в библиотеке jar недоступны при использовании с Unity
Я новичок в Unity. У меня есть фляга библиотеки Android, которую я хочу предложить также как плагин с Unity.
В библиотеке JAR у меня есть папка HTML, которая содержит файл temp.json. В файле jar (если я его разархивирую) структура выглядит следующим образом: html / temp.json (обратите внимание, что jar отлично работает при работе с любым Android-приложением вне Unity)
Вот шаги, которые я выполнил, чтобы вызвать мою библиотеку через Unity:
1) Созданная папка Assets / Plugins / Android в моей иерархии проекта Unity
2) Поместил туда мой jar-файл библиотеки вместе с AndroidManifest.xml
3) Создал файл bridge.cs, который я использую для вызова функций в файле jar
Функции из jar вызываются, но в коде jar где-то на стороне Android во время жизненного цикла библиотеки я называю:
InputStream inputStream = MyClass.class.getClassLoader()
.getResourceAsStream("html/temp.json");
и я получаю исключение ResourceNotFound
Из того, что я прочитал, Unity игнорирует эти файлы (например,.json) при упаковке. Поэтому из того, что я понял, чтобы сохранить их в банке при упаковке, я создал следующую структуру Unity:
Assets/Plugins/Android/assets/StreamingAssets/html/temp.json
Я понимаю, что любой файл, помещенный в папку StreamingAssets, копируется в папку активов библиотеки.
и в Java я звоню сейчас:
inputStream = activity.getResources().getAssets().open("html/temp.json");
Однако я все еще получаю исключение, что файл не найден.
Может ли кто-нибудь помочь мне / объяснить мне процедуру, которой я должен следовать, чтобы иметь возможность читать эти файлы на стороне Java при выполнении на Unity для Android?
1 ответ
Попробуйте этот код:
private void readJson() {
String json = null;
try {
InputStream is = getAssets().open("html/temp.json");
int size = is.available();
byte[] buffer = new byte[size];
is.read(buffer);
is.close();
json = new String(buffer, "UTF-8");
} catch (IOException ex) {
ex.printStackTrace();
}
}
И сохраните файл JSON в:
Assets/Plugins/Android/assets/html/temp.json
Если вы все еще не можете сделать это, пожалуйста, свяжитесь со мной
Br,
Фрэнк