Задать вопрос
@SlimeLime-java

Как исполнять jar файлы в Android?

Столкнулся с такой проблемой. Есть файл d8.jar, для компиляции .dex файлов. Я хотел запустить его через ProcesBuilder, но когда выдало исключение System.err: java.io.IOException: Cannot run program "моя дирректория/d8.jar": error=13, Permission denied вспомнил про ограничение от гугла пошел сюда. Есть обходные способы?
  • Вопрос задан
  • 361 просмотр
Подписаться 1 Простой 2 комментария
Пригласить эксперта
Ответы на вопрос 1
@dimasafonis
Никогда сам так не делал, но скорее всего надо подключить d8.jar как библиотеку к приложению, и вручную запустить main с нужными параметрами, условно
D8.main(new String[] {inJarPath, "--output", outDexPath})

Из скрипта запуска d8 можно найти главный класс: com.android.tools.r8.D8

Про запуск только что сгенерированного dex можно почитать в официальной документации гугла: ClassLoder и DexClassLoader
Более подробно про ClassLoader можно почитать в интернете
Также надо помнить, что некоторые jar файлы, изначально сделанные под компьютер, могут работать неправильно на андроиде т.к некоторые вещи запрещены, другие просто работают по-другому
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы