Вопрос или проблема
После настройки окружения
Установите Java Development Kit (JDK)
sudo apt install openjdk-17-jdk
Установите переменную окружения JAVA_HOME
readlink -f $(which java)
Установите переменную JAVA_HOME, добавив её в ваш .bashrc или .profile:
echo "export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64" >> ~/.bashrc
echo "export PATH=\$PATH:\$JAVA_HOME/bin" >> ~/.bashrc
source ~/.bashrc
Установите инструменты командной строки Android SDK
wget https://dl.google.com/android/repository/commandlinetools-linux-*.zip
unzip commandlinetools-linux-*.zip
mkdir -p $HOME/Android/sdk/cmdline-tools
mv cmdline-tools $HOME/Android/sdk/cmdline-tools/latest
Проверьте установку
ls $HOME/Android/sdk/cmdline-tools/latest
Обновите переменные окружения
echo "export ANDROID_HOME=$HOME/Android/sdk" >> ~/.bashrc
echo "export PATH=\$PATH:\$ANDROID_HOME/cmdline-tools/latest/bin" >> ~/.bashrc
source ~/.bashrc
Установите переменные окружения ANDROID_HOME и ANDROID_NDK
echo "export ANDROID_HOME=$HOME/Android/sdk" >> ~/.bashrc
echo "export ANDROID_NDK=\$ANDROID_HOME/ndk" >> ~/.bashrc
source ~/.bashrc
Установите платформу Android SDK и инструменты сборки
$HOME/Android/sdk/cmdline-tools/latest/bin/sdkmanager "platforms;android-34" "build-tools;34.0.0"
клонируйте клиент Outline
git clone https://github.com/Jigsaw-Code/outline-apps.git
cd outlineapp
cd client
Когда я хочу выполнить эту строку:
npx cordova requirements android
Вот более ясная версия текста:
Устраните эту ошибку:
Текущая рабочая директория не является проектом на основе Cordova.
Изучив эту ошибку, я нашел решение:
npx cordova create myApp
cd myApp
npx cordova platform add android
rm -rf platforms/ plugins/
npx cordova platform add android
Все файлы присутствуют в папке моего проекта:
myApp/
├── platforms/
├── plugins/
├── www/
└── config.xml
После выполнения этой команды,
npm run action client/src/cordova/build android
Я не достигаю желаемого результата.
> [email protected] action
> cordova build android client/src/cordova/build android
Платформа "client/src/cordova/build" не была добавлена в этот проект.
При поиске предложений в интернете я получил эту команду вместо предыдущей:
npm run action android
Я успешно собрал APK файл и достиг желаемого результата. Однако при запуске приложения на Android эмуляторе оно показывает только экран Cordova и ничего больше. Я ожидал, что приложение будет полностью установлено и функционально после запуска в эмуляторе.
Ответ или решение
Конечно, давайте подробно разберем вашу ситуацию. Вам удалось создать и собрать приложение с использованием Cordova для Android, но при запуске на эмуляторе вы видите лишь экран Cordova. Давайте обсудим возможные причины и пути их решения.
Теория
Когда вы собираете приложение с помощью Cordova, основная структура состоит из платформ (в данном случае, платформы Android), плагинов и кода приложения, который размещен в папке www
. Cordova экранирует ваш веб-контент в нативное мобильное приложение, что позволяет разработчикам использовать веб-технологии, такие как HTML, CSS и JavaScript, для разработки мобильных приложений.
То, что приложение отображает только экран Cordova, говорит о том, что ваше содержимое из папки www
не загружается или не правильно отображается. Это может быть связано с различными факторами, включая неправильные пути к файлам, ошибки в коде JavaScript, отсутсвие необходимых плагинов или проблемами в настройке конфигурации.
Пример
Давайте рассмотрим пример наиболее распространенной причины — ошибки в коде JavaScript. Если файл index.html
, находящийся в папке www
, имеет ссылку на JavaScript-скрипт, который отсутствует или вызывает ошибку, это может привести к отображению лишь «пустого» экрана Cordova.
<!DOCTYPE html>
<html>
<head>
<title>My Cordova App</title>
<script type="text/javascript" src="cordova.js"></script>
<script type="text/javascript" src="js/index.js"></script>
</head>
<body>
<h1>Welcome to My App</h1>
<button onclick="myFunction()">Click me</button>
<script type="text/javascript">
function myFunction() {
alert("Hello, world!");
}
</script>
</body>
</html>
Если js/index.js
отсутствует или имеет синтаксическую ошибку, это может привести к проблемам с загрузкой всего веб-контента.
Применение
-
Проверка файлов в папке
www
: Убедитесь, что все необходимые файлы и директории находятся на своих местах. Проверьте пути к файлам, указанным в HTML, чтобы они были корректными и соответствовали именам файлов с учетом регистра. -
Проверка оригинального кода:
- Убедитесь, что
index.html
загружает все необходимые ресурсы. - Проверьте содержимое
config.xml
на предмет правильности настроек. - Используйте инструменты разработчика для проверки ошибок JavaScript, если возникают любые ошибки консоли.
- Убедитесь, что
-
Установка плагинов: Некоторые функции, такие как доступ к файловой системе или интернету, требуют установки соответствующих плагинов Cordova. Проверьте документирование всех необходимых плагинов и их установку с помощью команды:
npx cordova plugin add <PLUGIN_NAME>
-
Конфигурация Cordova:
- Проверьте конфигурационный файл
config.xml
на наличие всех необходимых разрешений и настроек. Например, разрешение на использование интернет-соединения или доступ к локальным файлам.
- Проверьте конфигурационный файл
-
Очистка и повторная сборка проекта:
- Иногда помогает очистка временных файлов и повторная сборка проекта:
npx cordova clean npx cordova build android
-
Обновление версий:
- Проверьте, не появились ли обновления Cordova или Android SDK, которые должны быть обновлены. Используйте команды для проверки версии SDK и платформ:
npx cordova platform update android
Следуя данным рекомендациям, вы сможете системыатически идентифицировать и устранять проблемы, которые мешают вашему приложению работать так, как хотелось бы. Если проблема сохраняется, попробуйте проанализировать логи Android Studio: они могут дать более точную информацию о том, на каком этапе происходит сбой.