evaboy Ответов: 1

Доступ к ресурсам, скомпилированным в программе java


Помогите мне, я написал java-программу и добавил файл aapt.bat в папку(как Resource) в той же программе. я хочу, чтобы aapt.bat запускался с помощью командной строки.
Приложение отлично работает из IDE, но когда l компилирует приложение в файл .jar и запускает его, l получает ошибку, как показано ниже, из командной строки.

"файл:" не распознается как внутренняя или внешняя команда,

и

file:/C:/Users/slab1/Pictures/training/dist/training.jar!/res/aapt.exe список C:\Reversing\Apk\tools\GApp1.6.apk.

Чего я хочу добиться, так это запустить файл aapt.bat, хранящийся в jar - файле cmd.
Спасибо

Что я уже пробовал:

public boolean decodes(String file)
  {
    Runtime runtime = Runtime.getRuntime();

    System.out.println("Android Path: " + getDexToolPath() + " -f -o " + getWorkPlace() + Base.getSeparator() + getFileName(file) + ".jar " + file);
    try {
      Process process = runtime.exec(getDexToolPath() + " -f -o " + getWorkPlace() + Base.getSeparator() + getFileName(file) + ".jar " + file);

      process.waitFor();
      return true;
    } catch (IOException ex) {
      return false; } catch (InterruptedException ex) {
    }
    return false;
  }

1 Ответов

Рейтинг:
2

Dave Kreskowiak

Ты не можешь. Командная строка будет работать только с файловой системой. Ваше приложение не является частью файловой системы, поэтому CMD не может видеть, что находится внутри скомпилированного приложения, и использовать его так, как если бы оно было.

Единственный способ, которым CMD может добраться до пакетного файла и запустить его, - это если это отдельный файл, который отображается в папке на диске.