注意:我无法发布链接,因此我猜您需要here来跟踪引用。对不起,不是我的规则。
尝试将项目导入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中打开它,按照(2)中的说明生成/librabry/build.gradle
文件。
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
然后我尝试通过在'File |中选择它来导入/settings.gradle
文件导入项目...'对话框。我选中了“使用自动导入”并在对话框中选择了“使用带有验证的gradle包装器”选项(3)。完整的idea.log
条目可以在(4)查看。
非常感谢任何帮助,谢谢。
答案 0 :(得分:12)
如果您使用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
答案 1 :(得分:3)
错误可能是指您的密钥库的路径。如果密钥库的路径不起作用,它将认为它为空。如果您只想使用密钥库的文件名(而不是完整路径),请确保密钥库位于项目的根目录中。
android {
signingConfigs {
release {
storeFile file(**DoubleCheckPath**)
storePassword RELEASE_STORE_PASSWORD
keyAlias RELEASE_KEY_ALIAS
keyPassword RELEASE_KEY_PASSWORD
}
}
答案 2 :(得分:2)
(在问题编辑中由OP回答。转换为社区维基答案。请参阅Question with no answers, but issue solved in the comments (or extended in chat))
OP写道:好的,解决了。问题出在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')
}
}
希望能帮助所有人。
答案 3 :(得分:0)
你可能会错过项目中的文件,对于“gradle.properties”文件,因为这个文件包含一些变化,例如我们的自定义var,例如key.storefile key.keypassword,你应该检查这个文件是否存在或者不
答案 4 :(得分:0)
修改
中的文件(String.valueOf(RELEASE_STORE_FILE))android {
signingConfigs {
release {
storeFile file(RELEASE_STORE_FILE)
storePassword RELEASE_STORE_PASSWORD
keyAlias RELEASE_KEY_ALIAS
keyPassword RELEASE_KEY_PASSWORD
}
}