#java #android #kotlin #plugins
#java #Android #kotlin #Плагины
Вопрос:
Я сохраню это простым. Я использую как kotlin, так и java в своем проекте Android. При необходимости я могу предоставить свои файлы gradle.
Мне нужны следующие плагины java в моем проекте: id ‘java-library’ id «org.web3j». Они работают на более старой версии Android gradle ('com.android.tools.build:gradle:3.6.3' ; distributionUrl=https://services.gradle.org/distributions/gradle-5.6.4-all.zip)
, но не на новейшей, ("com.android.tools.build:gradle:4.1.1" ; distributionUrl=https://services.gradle.org/distributions/gradle-6.5-all.zip)
из которой мне нужны другие функции. Когда я пытаюсь их добавить, я получаю следующую ошибку.
Error:The 'java' plugin has been applied, but it is not compatible with the Android plugins
В старой версии gradle есть плагины:
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'com.google.gms.google-services'
apply plugin: 'kotlin-android-extensions'
В новой версии gradle есть плагины:
plugins {
id 'com.android.application'
id 'kotlin-android'
id 'com.google.gms.google-services'
// id "org.web3j" version "4.8.1"
// id 'java-library'
}
Я нашел других с той же проблемой, но без реального ответа. Один из способов, который я нашел здесь, — настроить их для подпроекта или чего-то еще, но я не совсем понимаю, как. Кто-нибудь может помочь? В идеале скажите мне, что и куда поместить, в какой файл gradle и как это работает (насколько я понимаю, у меня всего 1 проект, а не много в моем приложении для Android).
Это код, который я нашел:
configure(allprojects) {
println "applying java plugin to $project"
apply plugin: 'java-library'
//...
}
Ответ №1:
Вы не можете добавить org.web3j в качестве плагина, поскольку он содержит плагины ‘java’, которые несовместимы с плагинами ‘java’ Android. Итак, вы можете либо добавить плагин ‘com.android.application’, либо ‘org.web3j’. Добавьте web3j в качестве реализации зависимостей (‘org.web3j: core: 4.8.7’). Он будет работать нормально.