
Початкова проблема
Під час спроби скомпілювати програму Android за допомогою gradlew я зіткнувся з критичною помилкою середовища, яка вказувала на те, що Java не налаштована належним чином:
ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation.
Проблеми встановлення Java
Перевіривши версію Java, я виявив, що Java не встановлено в моїй системі Ubuntu. Система запропонувала кілька доступних версій:
$ java --version
Command 'java' not found, but can be installed with:
sudo apt install default-jre # version 2:1.17-75
sudo apt install openjdk-17-jre-headless # version 17.0.12+7
sudo apt install openjdk-21-jre-headless # version 21.0.4+7
# ... other versions available
Початкова спроба вирішення
Я встановив стандартний пакет JRE:
sudo apt-get install default-jre
Це встановило OpenJDK 21.0.6, але призвело до нової помилки компіляції:
BUG! exception in phase 'semantic analysis' in source unit '_BuildScript_'
Unsupported class file major version 65
Виконайте кроки вирішення
1. Чиста інсталяція Java
Спочатку видаліть усі існуючі установки Java:
sudo apt purge openjdk-*
2. Оновлення версії Gradle
Після консультації з матрицею сумісності Gradle я оновив версію Gradle у gradle-wrapper.properties:
distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip
3. Оновіть конфігурацію збірки
Змінено застарілу конфігурацію в app/build.gradle:
// Old configuration
// archivesBaseName = "$applicationId-v.$versionName"
// New configuration
base {
archivesName = "$applicationId-v.$versionName"
}
4. Оновлення оболонки Gradle
Запустіть команду оболонки двічі, щоб забезпечити належне завантаження та налаштування:
./gradlew wrapper
./gradlew wrapper
Ключові висновки
- Під час налаштування нового середовища розробки Android переконайтеся, що версія Java сумісна з вашою версією Gradle
- Оновлюйте конфігурації збірки, щоб уникнути застарілого синтаксису
- Чисте встановлення залежностей Java може вирішити проблеми конфлікту версій
- Регулярні оновлення обгортки Gradle допомагають підтримувати стабільність збірки системи
Це налаштування забезпечує належне середовище розробки для створення додатків Android, уникаючи поширених проблем сумісності версій між Java і Gradle.