![](/img/trans.png)
[英]java.io.IOException: Cannot run program CreateProcess error=2, The system cannot find the file specified on android studio
[英]Android Studio error ➡ Cannot run program “git” … CreateProcess error=2, The system cannot find the file specified
导入项目后,在以前在Mac OS X或Linux上设置的Android Studio for Windows上,gradle build会产生错误:
-->Error:(12, 0) CreateProcess error=2, The system cannot find the file specified
要么
Error:(12, 0) A problem occurred evaluating project ':app'.
> Cannot run program "git" (in directory "<project path>"): CreateProcess error=2, The system cannot find the file specified`
build.gradle:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.14.1'
}
}
def project
def var
//Error line pointing out below line
var = project.ext.gitHash = "git rev-parse --short HEAD".execute().text.trim() var --> Error:(12,0)
apply plugin: 'com.android.application'
repositories {
mavenCentral()
// for using SNAPSHOT
//maven {
// url uri('https://oss.sonatype.org/content/repositories/snapshots/')
//}
}
dependencies {
compile 'com.android.support:appcompat-v7:21.0.0'
compile 'com.nineoldandroids:library:2.4.0'
compile 'com.melnykov:floatingactionbutton:1.0.7'
debugCompile project(':observablescrollview')
releaseCompile "com.github.ksoichiro:android-observablescrollview:$VERSION_NAME"
// for using SNAPSHOT
//compile "com.github.ksoichiro:android-observablescrollview:$VERSION_NAME"
}
android {
compileSdkVersion 21
buildToolsVersion "21.1.0"
defaultConfig {
applicationId "com.github.ksoichiro.android.observablescrollview.samples"
minSdkVersion 9
targetSdkVersion 21
versionCode 1
versionName "1.0"
buildConfigField "String", "GIT_HASH", "\"${project.ext.gitHash}\""
}
signingConfigs {
release {
def filePrivateProperties = file("private.properties")
if (filePrivateProperties.exists()) {
Properties propsPrivate = new Properties()
propsPrivate.load(new FileInputStream(filePrivateProperties))
storeFile file(propsPrivate['key.store'])
keyAlias propsPrivate['key.alias']
storePassword propsPrivate['key.store.password']
keyPassword propsPrivate['key.alias.password']
}
}
}
buildTypes {
debug {
applicationIdSuffix ".debug"
versionNameSuffix "-debug"
buildConfigField "String", "LIB_VERSION", "\"${project.ext.gitHash}\""
}
release {
buildConfigField "String", "LIB_VERSION", "\"${VERSION_NAME}\""
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
def filePrivateProperties = file("private.properties")
if (filePrivateProperties.exists()) {
signingConfig signingConfigs.release
}
}
}
lintOptions {
abortOnError false
}
applicationVariants.all { variant ->
def output = variant.outputs.get(0)
File apk = output.outputFile
String newName = output.outputFile.name.replace(".apk", "-${variant.mergedFlavor.versionCode}-${variant.mergedFlavor.versionName}-${project.ext.gitHash}.apk")
.replace("app-", "${variant.mergedFlavor.applicationId}-")
output.outputFile = new File(apk.parentFile, newName)
}
}
问题是gradle无法在路径中找到git
。 如果您在Android Studio --stacktrace --debug
打开编译器选项,则会获得更多信息。
这是堆栈跟踪的一部分:
Caused by: java.io.IOException: Cannot run program "git" (in directory "..."): CreateProcess error=2, The system cannot find the file specified
解决方案是安装git
并将二进制文件的位置添加到路径中。 打开最初在Mac OS X上创建的项目时,我在Windows上遇到了此问题。
关闭Android Studio
在Windows上打开系统属性>高级>环境变量...
点击“路径”,然后点击修改
在“变量值”的末尾添加诸如“; C:\\ Program Files \\ Git \\ cmd”之类的内容(当然不带引号)。 不要添加此:';“ C:\\ Program Files \\ Git \\ cmd”',因为它不起作用。 这就是我遇到的问题。
打开Android Studio,清理,然后再次构建,您应该已启动并正在运行。
我在使用Android-ObservableScrollView
遇到了同样的问题。 这是我固定的方式:
build.gradle(项目):
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.0.0'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
jcenter()
}
}
build.gradle(样本):
/*buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.0.0'
}
}*/
//project.ext.gitHash = "git rev-parse --short HEAD".execute().text.trim()
apply plugin: 'com.android.application'
repositories {
mavenCentral()
// for using SNAPSHOT
//maven {
// url uri('https://oss.sonatype.org/content/repositories/snapshots/')
//}
}
dependencies {
compile 'com.android.support:appcompat-v7:21.0.0'
compile 'com.nineoldandroids:library:2.4.0'
compile 'com.melnykov:floatingactionbutton:1.0.7'
debugCompile project(':observablescrollview')
// Release build uses the synced latest version
releaseCompile "com.github.ksoichiro:android-observablescrollview:${SYNCED_VERSION_NAME}"
// for using SNAPSHOT
//compile "com.github.ksoichiro:android-observablescrollview:$VERSION_NAME"
}
android {
compileSdkVersion 21
buildToolsVersion "21.1.0"
defaultConfig {
applicationId "com.github.ksoichiro.android.observablescrollview.samples"
minSdkVersion 14
targetSdkVersion 21
versionCode 1
versionName "1.0"
// buildConfigField "String", "GIT_HASH", "\"${project.ext.gitHash}\""
}
signingConfigs {
release {
/*def filePrivateProperties = file("private.properties")
if (filePrivateProperties.exists()) {
Properties propsPrivate = new Properties()
propsPrivate.load(new FileInputStream(filePrivateProperties))
storeFile file(propsPrivate['key.store'])
keyAlias propsPrivate['key.alias']
storePassword propsPrivate['key.store.password']
keyPassword propsPrivate['key.alias.password']
}*/
}
}
buildTypes {
debug {
applicationIdSuffix ".debug"
versionNameSuffix "-debug"
// buildConfigField "String", "LIB_VERSION", "\"${project.ext.gitHash}\""
}
release {
buildConfigField "String", "LIB_VERSION", "\"${VERSION_NAME}\""
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
/* def filePrivateProperties = file("private.properties")
if (filePrivateProperties.exists()) {
signingConfig signingConfigs.release
}*/
}
}
lintOptions {
abortOnError false
}
/* applicationVariants.all { variant ->
def output = variant.outputs.get(0)
File apk = output.outputFile
String newName = output.outputFile.name.replace(".apk", "-${variant.mergedFlavor.versionCode}-${variant.mergedFlavor.versionName}-${project.ext.gitHash}.apk")
.replace("app-", "${variant.mergedFlavor.applicationId}-")
output.outputFile = new File(apk.parentFile, newName)
}*/
}
build.gradle(库)
/*buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.0.0'
}
}*/
apply plugin: 'com.android.library'
repositories {
mavenCentral()
}
dependencies {
compile 'com.android.support:recyclerview-v7:21.0.0'
}
android {
compileSdkVersion 21
buildToolsVersion "21.1.0"
defaultConfig {
minSdkVersion 9
}
}
//apply from: 'https://raw.githubusercontent.com/chrisbanes/gradle-mvn-push/master/gradle-mvn-push.gradle'
希望它能对您有所帮助:)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.