#android #gradle #android-gradle-plugin
#Android #gradle #android-gradle-plugin
Вопрос:
Мой вопрос касается gradle, и, пожалуйста, поймите, что я новичок в этом. Предполагается, что мое приложение для Android создает командную строку с использованием gradle на компьютере osx с использованием скрипта.
После решения многих проблем с прокси и подключением я, наконец, получаю сообщение об ошибке, как показано ниже, при запуске моего скрипта, который пытается создать мое приложение для Android с помощью gradle:
A problem occurred evaluating root project 'android-build'.
> Failed to apply plugin [id 'com.mycompany.myappid']
> Plugin with id 'com.mycompany.myappid' not found.
Как я могу исправить эту проблему?
Мой build.gradle выглядит следующим образом:
buildscript {
repositories {
maven {
url "http://repo1.maven.org/maven2"
}
}
dependencies {
classpath 'com.android.tools.build:gradle:2.1.3'
}
}
apply plugin: 'com.mycompany.myappid'
android {
compileSdkVersion 23
buildToolsVersion "21.1.2"
def versionPropsFile = file('version.properties')
if (versionPropsFile.canRead()) {
def Properties versionProps = new Properties()
versionProps.load(new FileInputStream(versionPropsFile))
def code = versionProps['VERSION_CODE'].toInteger() 1
versionProps['VERSION_CODE']=code.toString()
versionProps.store(versionPropsFile.newWriter(), null)
defaultConfig {
versionCode code
versionName "1.1"
minSdkVersion 14
targetSdkVersion 18
}
}
else {
throw new GradleException("Could not read version.properties!")
}
}
Комментарии:
1. Где код для
com.mycompany.myappid
плагина? Вам нужно добавить его в зависимости buildscript.2. build.gradle находится внутри исходного кода приложения, который требуется для сборки. Как мне добавить его в качестве зависимости. не могли бы вы предоставить пример синтаксиса, пожалуйста?
Ответ №1:
Проблема здесь:
apply plugin: 'com.mycompany.myappid'
Вы применяете плагин с таким именем, которого не существует (возможно, это имя вашего пакета).
Вы должны применить этот плагин:
apply plugin: 'com.android.application'
Ответ №2:
Когда вы получаете эту ошибку, всегда лучше повторно запустить с помощью «—stacktrace» (ярлык: «-s»). Это даст более подробную трассировку стека, которая обычно указывает на строку, которая не работает в скрипте.
Комментарии:
1. Я включил stacktrace, он жалуется на строку, с которой начинается блок Android —
android {
. Это из-за какой-то переменной среды? Я установилJAVA_HOME, ANDROID_SDK, GRADLE_HOME
все в пути. Я уверен, что в коде моего проекта нет проблем. он строился с помощью ant. Просто не удается выполнить сборку с помощью gradle. Можете ли вы, пожалуйста, подсказать, чего здесь может не хватать?