Gradle 在 Android 上构建失败 OSX Studio 旧版本和新版本
Gradle build failed on Android Studio old and new versions on OSX
我在 PC 上工作时成功构建了一个项目,在迁移到 OSX.
之前,我将其提交并推送到我的 Git 存储库
现在,我在 OSX 上安装了 Android studio 最新版本并尝试构建相同的项目,但它在构建资源时出错。在 Manifest 中构建资源时,出现多个错误
No resource found that matches the given name
用于可绘制对象和字符串。
在浏览网页时,我认为 gradle 的较新版本可能存在一些问题。因此,我将 AS 的安装降级为 AS 1.0,并使用旧的 gradle 2.2。不幸的是,这个版本的 gradle 也给出了同样的错误。
我的 build.gradle
如下所示:
apply plugin: 'com.android.application'
android {
compileSdkVersion 21
buildToolsVersion "21.1.2"
defaultConfig {
applicationId "xxx"
minSdkVersion 16
targetSdkVersion 21
versionCode 4
versionName "1.3"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
sourceSets {
main {
res.srcDirs = [
"/src/main/res"
]
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile files('libs/thermodosdk-1.0.18.jar')
compile 'com.android.support:appcompat-v7:21.0.3'
compile 'com.google.android.gms:play-services:6.5.87'
compile 'com.android.support:support-v4:21.0.3'
顶层的 build.gradle
具有以下类路径:
dependencies {
classpath 'com.android.tools.build:gradle:1.0.0'
}
堆栈跟踪:
Information:Gradle tasks [:app:generateDebugSources, :app:generateDebugTestSources]
:app:preBuild
:app:preDebugBuild
:app:checkDebugManifest
:app:preReleaseBuild
:app:prepareComAndroidSupportAppcompatV72103Library UP-TO-DATE
:app:prepareComAndroidSupportSupportV42103Library UP-TO-DATE
:app:prepareComGoogleAndroidGmsPlayServices6587Library UP-TO-DATE
:app:prepareDebugDependencies
:app:compileDebugAidl UP-TO-DATE
:app:compileDebugRenderscript UP-TO-DATE
:app:generateDebugBuildConfig UP-TO-DATE
:app:generateDebugAssets UP-TO-DATE
:app:mergeDebugAssets UP-TO-DATE
:app:generateDebugResValues UP-TO-DATE
:app:generateDebugResources UP-TO-DATE
:app:mergeDebugResources UP-TO-DATE
:app:processDebugManifest UP-TO-DATE
:app:processDebugResources
/Users/vidhigoel/AndroidStudioProjects/OMGAndroid/app/build/intermediates/manifests/full/debug/AndroidManifest.xml
Error:(24, 23) No resource found that matches the given name (at 'icon' with value '@drawable/omg_app_icon').
Error:(25, 24) No resource found that matches the given name (at 'label' with value '@string/app_name').
Error:(27, 24) No resource found that matches the given name (at 'theme' with value '@style/AppTheme').
Error:(30, 28) No resource found that matches the given name (at 'label' with value '@string/app_name').
Error:(86, 28) No resource found that matches the given name (at 'label' with value '@string/app_name').
Error:(105, 28) No resource found that matches the given name (at 'label' with value '@string/app_name').
Error:(123, 28) No resource found that matches the given name (at 'label' with value '@string/app_name').
Error:(137, 28) No resource found that matches the given name (at 'label' with value '@string/title_activity_register_user').
...
Information:BUILD FAILED
Information:Total time: 4.462 secs
Information:17 errors
Information:0 warnings
Information:See complete output in console
请帮我解决这个问题。
只需更改您的 gradle 类路径。
替换
classpath 'com.android.tools.build:gradle:1.0.0'
与
classpath 'com.android.tools.build:gradle:2.0.0-alpha3'
编辑:
还需要添加您的旧版本 AppCompact
,如下所示:
dependencies {
...
compile 'com.android.support:appcompat-v7:19.+'
...
}
试试这个link可能对你有帮助
Installing Gradle In OSX
请同时检查这一点
您的编译 SDK 版本必须与支持库的主要版本相匹配。
因为如果您使用的是版本 23 的支持库,则需要针对版本 23 的 Android SDK 进行编译。
或者,您可以通过切换到最新的支持库 v22 继续针对版本 22 的 Android SDK 进行编译。
您的 build.gradle
:
中并不需要这部分内容
sourceSets {
main {
res.srcDirs = [
"/src/main/res"
]
}
}
- 这是默认值,你不需要把它放在那里。
- 你走错了路。正如我所说,这是默认路径,并不是真正需要的,但如果您仍想添加它,请 check this post on SO 查看如何正确添加它。
你可能只想说:
res.srcDirs = ['res']
从 build.gradle
中删除 sourceSets
部分。删除上述配置后,进行清理和重建。为了安全起见,还请执行 File - > Invalidate Cache and Restart
你试过了吗"Build/Clean Project"?
我在 PC 上工作时成功构建了一个项目,在迁移到 OSX.
之前,我将其提交并推送到我的 Git 存储库现在,我在 OSX 上安装了 Android studio 最新版本并尝试构建相同的项目,但它在构建资源时出错。在 Manifest 中构建资源时,出现多个错误
No resource found that matches the given name
用于可绘制对象和字符串。
在浏览网页时,我认为 gradle 的较新版本可能存在一些问题。因此,我将 AS 的安装降级为 AS 1.0,并使用旧的 gradle 2.2。不幸的是,这个版本的 gradle 也给出了同样的错误。
我的 build.gradle
如下所示:
apply plugin: 'com.android.application'
android {
compileSdkVersion 21
buildToolsVersion "21.1.2"
defaultConfig {
applicationId "xxx"
minSdkVersion 16
targetSdkVersion 21
versionCode 4
versionName "1.3"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
sourceSets {
main {
res.srcDirs = [
"/src/main/res"
]
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile files('libs/thermodosdk-1.0.18.jar')
compile 'com.android.support:appcompat-v7:21.0.3'
compile 'com.google.android.gms:play-services:6.5.87'
compile 'com.android.support:support-v4:21.0.3'
顶层的 build.gradle
具有以下类路径:
dependencies {
classpath 'com.android.tools.build:gradle:1.0.0'
}
堆栈跟踪:
Information:Gradle tasks [:app:generateDebugSources, :app:generateDebugTestSources]
:app:preBuild
:app:preDebugBuild
:app:checkDebugManifest
:app:preReleaseBuild
:app:prepareComAndroidSupportAppcompatV72103Library UP-TO-DATE
:app:prepareComAndroidSupportSupportV42103Library UP-TO-DATE
:app:prepareComGoogleAndroidGmsPlayServices6587Library UP-TO-DATE
:app:prepareDebugDependencies
:app:compileDebugAidl UP-TO-DATE
:app:compileDebugRenderscript UP-TO-DATE
:app:generateDebugBuildConfig UP-TO-DATE
:app:generateDebugAssets UP-TO-DATE
:app:mergeDebugAssets UP-TO-DATE
:app:generateDebugResValues UP-TO-DATE
:app:generateDebugResources UP-TO-DATE
:app:mergeDebugResources UP-TO-DATE
:app:processDebugManifest UP-TO-DATE
:app:processDebugResources
/Users/vidhigoel/AndroidStudioProjects/OMGAndroid/app/build/intermediates/manifests/full/debug/AndroidManifest.xml
Error:(24, 23) No resource found that matches the given name (at 'icon' with value '@drawable/omg_app_icon').
Error:(25, 24) No resource found that matches the given name (at 'label' with value '@string/app_name').
Error:(27, 24) No resource found that matches the given name (at 'theme' with value '@style/AppTheme').
Error:(30, 28) No resource found that matches the given name (at 'label' with value '@string/app_name').
Error:(86, 28) No resource found that matches the given name (at 'label' with value '@string/app_name').
Error:(105, 28) No resource found that matches the given name (at 'label' with value '@string/app_name').
Error:(123, 28) No resource found that matches the given name (at 'label' with value '@string/app_name').
Error:(137, 28) No resource found that matches the given name (at 'label' with value '@string/title_activity_register_user').
...
Information:BUILD FAILED
Information:Total time: 4.462 secs
Information:17 errors
Information:0 warnings
Information:See complete output in console
请帮我解决这个问题。
只需更改您的 gradle 类路径。
替换
classpath 'com.android.tools.build:gradle:1.0.0'
与
classpath 'com.android.tools.build:gradle:2.0.0-alpha3'
编辑:
还需要添加您的旧版本 AppCompact
,如下所示:
dependencies {
...
compile 'com.android.support:appcompat-v7:19.+'
...
}
试试这个link可能对你有帮助 Installing Gradle In OSX
请同时检查这一点
您的编译 SDK 版本必须与支持库的主要版本相匹配。
因为如果您使用的是版本 23 的支持库,则需要针对版本 23 的 Android SDK 进行编译。
或者,您可以通过切换到最新的支持库 v22 继续针对版本 22 的 Android SDK 进行编译。
您的 build.gradle
:
sourceSets {
main {
res.srcDirs = [
"/src/main/res"
]
}
}
- 这是默认值,你不需要把它放在那里。
- 你走错了路。正如我所说,这是默认路径,并不是真正需要的,但如果您仍想添加它,请 check this post on SO 查看如何正确添加它。
你可能只想说:
res.srcDirs = ['res']
从 build.gradle
中删除 sourceSets
部分。删除上述配置后,进行清理和重建。为了安全起见,还请执行 File - > Invalidate Cache and Restart
你试过了吗"Build/Clean Project"?