我一直在尝试使用gradle而不是使用uiautomator android构建我的测试项目jar文件,但是我遇到了BUILD FAILED错误。
我在这里使用了graia和uiautomator android表单 - http://wiliamsouza.github.io/#/2013/10/30/android-uiautomator-gradle-build-system
我使用了以下命令:
android create uitest-project -n ProjectName -t 46 -p D:\Android_Workspace\Smriti\ProjectName
set ANDROID_HOME=D:\Android Development\android-sdk
cd D:\Android_Workspace\Smriti\ProjectName
gradle build //here I get build failed error
我的gradle-properties如下所示:
androidSdkHome = D:/Android Development/android-sdk
androidSdkTarget = android-19
androidSdkBuildToolsDir = build-tools/19.0.0
和build.gradle是 -
apply plugin: 'java'
apply plugin: 'idea'
sourceCompatibility = 1.5
targetCompatibility = 1.5
version = '0.1'
project.ext {
dexDir = new File('build/dex')
distDir = new File('./dist')
}
repositories {
mavenCentral()
}
dependencies {
compile fileTree(dir: androidSdkHome + '/platforms/' + androidSdkTarget, include: '*.jar')
compile group: 'junit', name: 'junit', version: '4.11'
}
jar {
doLast {
tasks.dex.execute()
}
}
task dex(dependsOn: jar, type:Exec) {
println 'Building dex...'
project.dexDir.mkdirs()
workingDir '.'
commandLine androidSdkHome + '/' + androidSdkBuildToolsDir + '/' + 'dx', '--dex', '-- no-strict', '--output=' + buildDir +'/dex/' + project.name + '.jar', jar.archivePath
doLast {
tasks.dist.execute()
}
}
task dist(dependsOn:dex, type:Copy) {
project.distDir.mkdirs()
from(project.dexDir)
into(project.distDir)
include('*.jar')
}
任何帮助都将不胜感激。
感谢。
答案 0 :(得分:0)
可能是因为sdk文件夹名称包含空格。将Android sdk文件夹从 D:\ Android Development 更改为其中没有空格的任何其他文件夹,或将文件夹重命名为 Android_Development
答案 1 :(得分:0)
我在Windows PC上遇到过这个问题。
我有一个自定义的Gradle任务来创建dex文件,我使用commandLine命令运行它。问题是它无法在android SDK主页中识别dx工具。
所以我更改了commandLine中的路径,在我的build.gradle文件中的dx工具末尾包含.bat
。
commandLine androidSdkHome + '/' + androidSdkBuildToolsDir + '/' + 'dx.bat', '--dex', '--no-strict', '--output=' + buildDir +'\\' + project.name + '.jar', jar.archivePath