重感情的水煮肉 · commons-lang3(常用) - 简书· 1 年前 · |
任性的刺猬 · Unable to create ...· 1 年前 · |
霸气的石榴 · 静态链接和动态链接_动态链接和静态链接_// ...· 1 年前 · |
睿智的弓箭 · 【笔记】《C++Primer》—— ...· 1 年前 · |
这是我第一次尝试Android Studio。我安装了0.8.0并更新到0.8.2。一旦创建了项目,我就会收到错误消息:
错误:找不到id为'com.android.application‘的(1,0)插件
C:\Users\Bob\AndroidStudioProjects\HelloAgain6\app\build.gradle
apply plugin: 'com.android.application'
android {
compileSdkVersion 20
buildToolsVersion "20.0.0"
defaultConfig {
applicationId "com.example.bob.helloagain6"
minSdkVersion 15
targetSdkVersion 20
versionCode 1
versionName "1.0"
buildTypes {
release {
runProguard false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
}
和C:\Users\Bob\AndroidStudioProjects\HelloAgain6\build.gradle
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
jcenter()
dependencies {
classpath 'com.android.tools.build:gradle:0.12.+'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
allprojects {
repositories {
jcenter()
}
更新答案(2020年12月2日)
最新版本: 6.5
版本检查:
./gradlew -v
如何更新:
./gradlew wrapper --gradle-version=6.5 --distribution-type=all
./gradlew wrapper
:
最新安卓Gradle插件: 4.1.0
如果将下面的代码片段添加到
build.gradle
文件的顶部。Gradle将更新构建工具。
buildscript {
repositories {
google() // For Gradle 4.0+
maven { url 'https://maven.google.com' } // For Gradle < 4.0
dependencies {
classpath 'com.android.tools.build:gradle:4.1.0'
}
有关版本兼容性的更多信息,请阅读此处: https://developer.android.com/studio/build/index.html 和 https://developer.android.com/studio/releases/gradle-plugin.html#updating-gradle 和 https://dl.google.com/dl/android/maven2/index.html 。
原始答案
我也遇到了同样的错误,你需要确保你的 Gradle版本与你的Android Gradle插件兼容。
Gradle的最新版本是2.0,但你需要使用1.12才能使用Android Gradle插件。
如果您错过了添加顶级构建文件,就会发生这种情况。
只需将 build.gradle 添加到顶级即可。
它应该看起来像这样
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
mavenCentral()
dependencies {
classpath 'com.android.tools.build:gradle:0.xx.y'
allprojects {
repositories {
mavenCentral()
}
我使用的是IntelliJ IDEA 13.1.5,在
build.gradle
文件中修改了毕加索和
dependencies
的版本后,也遇到了同样的问题。我尝试了许多解决方案,但都没有结果。然后,我从远程git克隆了我的项目(在更改依赖项的版本之前,我将其推送到了远程git),并且成功了!在那之后,我只是关闭了当前的项目,并再次将旧项目从Gradle文件导入到IntelliJ IDEA中,它也起作用了!所以,我认为这是在IDEA,Gradle和Android插件的交集中出现了奇怪的bug。我希望这些信息对IDEA用户或其他任何人都有用。
Root-gradle文件:
buildscript {
repositories {
jcenter()
dependencies {
classpath 'com.android.tools.build:gradle:x.x.x'
allprojects {
repositories {
jcenter()
}
Gradle-wrapper.properties文件:
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-x.x-all.zip
这发生在我使用 Android Studio1.3.2 的时候,但是,因为我刚刚创建了这个项目,所以我删除了它并重新创建了它。
看起来Android Studio第一次并没有正确地创建它,甚至连项目文件夹都没有像预期的那样创建。
我写这篇文章并不是为了给很多人提供解决方案,而是为了一些可能犯下简单错误的人,比如在从SVN导入项目时指定了错误的url。它是为那些人准备的:)
当我从SVN prompt by Studio导入项目以打开项目->时,它会询问Gradle location -> D:\Software\Android\gradle-2.5 ->,然后出现错误。
不同SVN分支中的相同项目可以很好地使用Gradle插件和Gradle,这是我在Studio中配置的。我试着改变Android Gradle插件和Gradle,让它在出错的分支上工作,但没有任何成功。
最后,我发现这是我的错误:我试图单独导入一个特定的应用程序,而不是将该应用程序与依赖库项目一起导入。我用来导入的url的末尾是Application porject的名字。一旦我删除了它,并指定了同时包含应用程序项目和它的依赖项目的父目录,一切都很顺利:)
模块应用程序build.gradle文件
apply plugin: 'com.android.application'
model{
android {
compileSdkVersion 23
buildToolsVersion "23.0.2"
defaultConfig.with {
applicationId "com.iamsafe"
minSdkVersion 15
targetSdkVersion 23
dependencies {
compile 'com.android.support:support-v4:23.0.2'
compile files('libs/asmack-android-8-0.8.10.jar')
compile files('libs/commons-io-2.0.1.jar')
compile files('libs/httpclient-osgi-4.2.1-sources.jar')
compile files('libs/httpcore-4.3.2.jar')
compile files('libs/httpmime-4.1.2.jar')
project build.gradle
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
jcenter()
dependencies {
classpath 'com.android.tools.build:gradle:2.10'
allprojects {
repositories {
jcenter()
}
如果你在模块目录中使用android插件1.2.3运行模块任务,问题就会出现。试试这个:
../gradlew -b ../build.gradle -c ../settings.gradle :module:xxx
转到您的成绩文件,您可以在其中看到以下内容:
buildscript {
repositories {
jcenter()
dependencies {
classpath 'com.android.tools.build:gradle:2.1.0'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
并将
classpath
更改为:
buildscript {
repositories {
jcenter()
dependencies {
// classpath 'com.android.tools.build:gradle:2.1.0'
classpath 'com.android.tools.build:gradle-experimental:0.7.0-alpha1'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
在这种情况下,请检查以下代码
dependencies {
classpath 'com.android.tools.build:gradle:**1.5.0**'
}
在
disctributionUrl
下面查看项目目录中的
gradle-wrapper.properties
和
distributionUrl=https\://services.gradle.org/distributions/gradle-2.9-all.zip
如果它们彼此不兼容,那么你就会陷入这个问题。
对于
com.android.tools.build:gradle:1.5.
,您至少需要2.8版本,但如果您切换到更高版本,如
com.android.tools.build:gradle:2.1.0
,则需要将gradle更新到2.9或更高版本,这可以通过将gradle-wrapper.properties中的
distributionUrl
更改为2.9或更高版本来完成,如下所示
distributionUrl=https\://services.gradle.org/distributions/gradle-2.10-all.zip
确保您的两个build.gradle和settings.gradle文件位于 https://developer.android.com/studio/build/index.html 中所述的正确目录中
然后在Visual Studio中打开“作为现有项目”
Gradle对此非常挑剔。
经过一个小时的努力,我发现了这个问题:
我不小心在
builde.gradle
中将根文件名重命名为
build.gradle
,所以Android Studio无法再识别它。
将
it重命名为
build.gradle
解决了这个问题!
在我的顶层
build.gradle
中进行了以下更改以更新到最新版本的gradle后,我收到了这个错误消息:
//classpath 'com.android.tools.build:gradle:2.3.2' old
classpath 'com.android.tools.build:gradle:2.3.3' //new
我愚蠢地做出了改变,而我是在一个充满敌意的工作场所代理背后进行连接的。代理导致新版gradle的
.jar
文件损坏。这可以通过检查罐子来验证,看看它们是否有不寻常的尺寸,或者它们是否可以解开拉链。
为了修复这个错误,我在家里(不在代理服务器后面)连接到我的网络,并从终端刷新了依赖关系:
./gradlew --refresh-dependencies
这会导致新版本的gradle被重新下载,并且错误不再发生。
其他答案对我不起作用,我猜 ButterKnife 和 3.0.0 alpha5 之间发生了一些问题。
然而,我发现当我注释任何一个句子时,无论是BUtterKnife还是3.0.0 alpha5,它都能正常工作。
因此,您应该避免 重复或冲突 。
我还是得到了错误
Could not find com.android.tools.build:gradle:3.0.0.
问题: jcenter()没有所需的库
解决方案:将google()添加为repo
buildscript {
repositories {
google()
jcenter()
dependencies {
classpath "com.android.tools.build:gradle:3.0.0"
}
只需确保您在创建应用程序时正确放置了http和https代理
检查拼写,我的是'com.android.a p lication‘
在我的例子中,我从GitHub下载了项目,而Gradle文件丢失了。所以我刚刚创建了一个新项目,并成功构建了。然后复制-粘贴Gradle丢失的文件。重新构建这个项目对我来说很有效。
当项目根目录中同时存在
settings.gradle
和
settings.gradle.kts
文件(可能包含相同的模块)时,也可能发生这种情况。您应该只有一个这样的文件。
供将来参考:对我来说,这个问题完全是因为我没有以管理员身份运行Android Studio。我将Windows上的快捷方式配置为始终以管理员身份运行,但在重新安装Android Studio后,该快捷方式被替换,因此它在没有管理员权限的情况下运行。这导致了许多不透明的错误,包括这个问题中的错误。