#android #macos #cordova #google-chrome-app #cordova-chrome-app
#Android #macos #кордова #google-chrome-app #cordova-chrome-app
Вопрос:
Недавно я обновил несколько зависимостей на своем Mac, через некоторое время не занимаясь разработкой cca, и теперь команда «cca run android» больше не работает на моей машине.
Я получаю следующую странную ошибку:
BUILD FAILED
<my project path>/platforms/android/build.xml:90: Cannot find /usr/local/tools/ant/build.xml imported from <my project path>/platforms/android/build.xml
Total time: 0 seconds
<my project directory>/platforms/android/cordova/node_modules/q/q.js:126
throw e;
^
Error code 1 for command: ant with args: debug,-f,<my project directory>/platforms/android/build.xml,-Dsdk.dir=/usr/local
Он ищет файл сборки, который не существует. Меня беспокоит раздел, в котором говорится -Dsdk.dir=/usr/local. Очевидно, что он должен смотреть на мой домашний каталог Android, который, похоже, настроен правильно:
$ echo $ANDROID_HOME
/usr/local/opt/android-sdk
И если бы эта переменная была установлена правильно, она нашла бы ее:
ls $ANDROID_HOME/tools/ant/build.xml /usr/local/opt/android-sdk/tools/ant/build.xml
Кто-нибудь сталкивался с этим недавно, используя последние версии cca с Android? Надеюсь, что я допускаю какую-то очевидную ошибку, которую можно легко исправить.
Комментарии:
1. Быстрый тест: экспортирован ли ваш ANDROID_HOME, чтобы его могли видеть другие процессы? Чтобы выполнить быстрый тест, введите «bash» (или любую другую оболочку, которую вы хотите), а затем повторите переменную там.
Ответ №1:
Я получил ответ от разработчиков MobileChromeApps на их github issue tracker. Оказывается, sdk.dir задавался не переменной $ANDROID_HOME, а переменной $PATH, которая соответствует первому исполняемому файлу Android. Исправив мой путь для перемещения $ANDROID_HOME перед чем-либо еще в path, он устранил проблему, и они отправили ошибку для определения приоритета $ANDROID_HOME в будущей сборке.