"Ни путь, ни baseDir не могут быть пустой или пустой строкой". ошибка при импорте проекта gradle в Android Studio 0.2.9
ПРИМЕЧАНИЕ. Я не могу размещать ссылки, поэтому я думаю, вам нужно будет здесь следовать рекомендациям. извините, не мое правило.
Я получаю следующую ошибку при попытке импортировать проект в Android Studio 0.2.9:
Could not execute build using Gradle distribution
'http://services.gradle.org/distributions-snapshots/
gradle-1.8-20130830160653+0000-bin.zip'.
A problem occurred configuring project ':library'.
A problem occurred configuring project ':library'.
Failed to notify project evaluation listener.
Neither path nor baseDir may be null or empty
string. path='' basedir='<projects folder>/
drag-sort-listview/library'
Consult IDE log for more details (Help | Show Log)
Первоначально проект был проектом Maven (1). Я открыл его в Eclipse ADT, сгенерировал файл /librabry/build.gradle
в соответствии с инструкциями в (2).
созданный Eclipse ADT build.gradle
выглядел так:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.4'
}
}
apply plugin: 'android-library'
dependencies {
compile fileTree(dir: 'libs', include: '*.jar')
}
android {
compileSdkVersion 7
buildToolsVersion "17.0.0"
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['']
resources.srcDirs = ['']
aidl.srcDirs = ['']
renderscript.srcDirs = ['']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
}
instrumentTest.setRoot('tests')
}
}
Мне пришлось изменить строку 6 из
classpath 'com.android.tools.build:gradle:0.4'
к
classpath 'com.android.tools.build:gradle:0.5+'
чтобы заставить Android Studio перестать говорить, что версии были пропущены. Я также добавил файл /settings.gradle
, содержащий
include ':library'
и /local.properties
с содержимым
# This file is automatically generated by Android Studio.
# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
#
# This file must *NOT* be checked into Version Control Systems,
# as it contains information specific to your local configuration.
# Location of the SDK. This is only used by Gradle.
# For customization when using a Version Control System, please read the
# header note.
sdk.dir=/Applications/Android Studio.app/sdk
Затем
i попытался импортировать файл /settings.gradle
, выбрав его в поле "Файл | Импорт проекта...". у меня есть опция "Использовать автоматический импорт" и "Использовать опцию gradle обертка с проверкой", выбранную в диалоговом окне (3). полная запись idea.log
может быть просмотрена на (4).
любая помощь будет принята с благодарностью, спасибо.
Ответы
Ответ 1
Это произойдет, если вы используете Environment Variables
следующим образом:
android {
signingConfigs {
release {
storeFile file(RELEASE_STORE_FILE)
storePassword RELEASE_STORE_PASSWORD
keyAlias RELEASE_KEY_ALIAS
keyPassword RELEASE_KEY_PASSWORD
}
}
И вы не определили эти переменные в файле gradle.properties, расположенном в корне вашего проекта.
Чтобы исправить это, убедитесь, что ваши переменные определены, вот пример из моего файла gradle.properties:
RELEASE_STORE_FILE=app_keystore.jks
RELEASE_STORE_PASSWORD=password
RELEASE_KEY_ALIAS=MyAppKey
RELEASE_KEY_PASSWORD=password
Ответ 2
Ошибка может относиться к вашему пути к хранилищу ключей. Если путь хранилища ключей не работает, он будет считать его нулевым. Если вы просто хотите использовать имя файла хранилища ключей (вместо полного пути), убедитесь, что хранилище ключей находится в корневой директории вашего проекта.
android {
signingConfigs {
release {
storeFile file(**DoubleCheckPath**)
storePassword RELEASE_STORE_PASSWORD
keyAlias RELEASE_KEY_ALIAS
keyPassword RELEASE_KEY_PASSWORD
}
}
Ответ 3
(Отвечает OP в вопросе редактирования. Преобразован в ответ на wiki сообщества. См. Вопрос без ответов, но проблема разрешена в комментариях (или расширенной в чате))
OP писал (а):
ok, решил. проблема заключается в пустых списках под android.sourceSets
в build.gradle
, я прокомментировал их, чтобы устранить ошибку. Здесь мой текущий build.gradle
:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.4'
}
}
apply plugin: 'android-library'
dependencies {
compile fileTree(dir: 'libs', include: '*.jar')
}
android {
compileSdkVersion 7
buildToolsVersion "17.0.0"
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
// java.srcDirs = ['']
// resources.srcDirs = ['']
// aidl.srcDirs = ['']
// renderscript.srcDirs = ['']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
}
instrumentTest.setRoot('tests')
}
}
надеюсь, что это поможет y'all.
Ответ 4
вы можете пропустить файл в проекте, для файла gradle.properties ", потому что этот файл включает в себя некоторые изменения, например, наш пользовательский var, такой ключ key.storefile key.keypassword, вы должны проверить этот файл существует или нет.