Как создать keytool?

Я пробую создать приложение на quasar (cordova) https://quasar.dev/quasar-cli/developing-cordova-a... При формировании ключа keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 20000 выдает ошибку "keytool" не является внутренней или внешней командой, исполняемой программой или пакетным файлом.

Тогда я захожу в C:\Program Files\Java\jdk1.8.0_291\bin Пытаюсь повторить эту команду по этом уадресу. Но После заполнения формы происходит введите сюда описание изображения

Ввожу пароль и мне отказано в доступе. Я не могу создать через build- generate signed bundle т.к. у меня отсутствует данная строка в Android studio введите сюда описание изображения

Теперь выдает такую ошибку. Подскажите, что я делаю не так?


Ответы (1 шт):

Автор решения: Roman Konoval

"keytool" не является внутренней или внешней командой

Эта ошибка возникает из-за того, командная оболочка не может найти команду. Устранить можно трема способами:

  1. запускать команду в каталоге, где она находится (это вы уже пробовали, см. ниже об этом).
  2. указывать полный путь к команде, т.е. выполнять команду C:\Program Files\Java\jdk1.8.0_291\bin\keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 20000
  3. добавить путь к команде (т.е. C:\Program Files\Java\jdk1.8.0_291\bin) в переменную окружения PATH

Программа генерирует ключ и сохраняет его в файл, который вы указали в командной строке (my-release-key.keystore). Так как указано только имя файла, без полного пути, то программа будет сохранять его в текущую директорию. Именно из-за этого не работает первый способ (у вас нет прав писать в C:\Program Files\Java\jdk1.8.0_291\bin). Исправить можно указав полный путь к файлу, при этом место должно быть доступно для записи вашему пользователю.

→ Ссылка