为什么每次我在 Android Studio 中创建一个新项目时,总是出现:
错误:(23、17)无法解决:junit:junit:4.12?
当我删除依赖项中的 testCompile 'junit:junit:4.12'
时,它不再是问题。
构建.gradle
apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion "23.0.1"
defaultConfig {
applicationId "com.okedroid.myapplication"
minSdkVersion 17
targetSdkVersion 23
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.0.1'
}
我有同样的问题。通过在 build.gradle
文件中添加缺少存储库的 url 来解决:
android {
[...]
repositories {
maven { url 'https://repo1.maven.org/maven2' }
}
[...]
}
而已。
只需从 build.gradle 文件中删除“testCompile 'junit:junit:4.12'”:
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'//remove this line and sync again... worked for me
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'}) //if available, also delete these two lines
compile 'com.android.support:appcompat-v7:23.0.1'
}
为我工作,我很高兴! :)
请记住,这不是这个问题的实际答案。我提到了这一点,因为当你删除上面的行时它会起作用。
转到文件-> 项目结构。将打开以下窗口:
https://i.stack.imgur.com/5WvS3.png
从那里:
删除junit库(选择junit并按下面的“-”按钮)并再次添加(选择下面的“+”按钮,选择“library dep.”,搜索“junit”,按OK)。按 OK 应用更改。大约 30 秒后,您的 gradle 同步应该可以正常工作。
希望它也适合你:D
它无法获取junit库。
repositories {
maven { url 'http://repo1.maven.org/maven2' }
}
在 build.gradle 文件的 android 块内添加上述行后,它解决了问题。这可能是因为您的 Android 工作室没有 junit 库。
在 build.gradle 文件中添加存储库
repositories {
maven { url 'http://repo1.maven.org/maven2' }
}
可能您的gradle不完整,我建议您添加以下内容
android{
repositories {
maven { url 'http://repo1.maven.org/maven2' }
}
但在某些情况下不起作用,您可以从 gradle 中的依赖项中完全删除它。
我认为如果您使用删除用户文件夹 .gradle
中的 gradle 文件夹条件重新安装 android studio 就可以了
这是我为解决相同问题所做的。我在防火墙后面,我想这和你的问题一样。所以我尝试删除
testCompile 'junit:junit:4.12' line
但这对我不起作用。我尝试添加以下代码行:
repositories {
maven { url 'http://repo1.maven.org/maven2' }
}
即使那对我也不起作用。
我尝试从模块设置下的库依赖项中删除 (-) 和读取 (+) Junit4.12。但这对我不起作用。
多次尝试同步和重建项目。仍然没有为我工作。
最后我所做的是从 mvnrepository 网站手动下载 Junit4.12.jar 文件。我将此 jar 文件放在 libs 文件夹内的 Project 文件夹下的 Androids 工作区中。然后转到模块设置 > 依赖项选项卡 > (+) > 文件依赖项 > 在选择路径窗口下,展开“libs”文件夹,您将在那里找到您复制的 Jar 文件。选择文件并单击“确定”现在从依赖项列表中删除以前版本的 junit4.12。
您应该在 Dependencies 列表中有一个条目 "libs\junit-4.12.jar"
。现在单击“确定”。
现在 Gradle 将重建项目,您应该一切顺利。
希望这可以帮助!
发生这种情况是因为 HTTPS 被代理阻止。尝试从默认的 jcenter(使用 HTTPS)更改为 HTTP。
前
repositories {
jcenter()
}
后
repositories {
jcenter {
//Default one is HTTPS
url "http://jcenter.bintray.com/"
}
}
对所有项目重复上述步骤。
allprojects {
repositories {
jcenter {
url "http://jcenter.bintray.com/"
}
}
}
或者从 jcenter 更改为 mavenCentral 也有效
repositories {
mavenCentral()
}
我会尝试一切,但唯一能帮助我解决问题的是删除该行
testCompile 'junit:junit:4.12'
从应用程序等级。
创建新项目后,我收到此错误。在 build.gradle 文件中,我有这个:
jcenter()
我将其更改为以下内容,错误消失了:
jcenter {
url "http://jcenter.bintray.com/"
}
我认为这是因为我在防火墙后面并像这样指定 url 将其从 https 更改为 http
可能你在代理后面。发生在我身上,使用我的移动网络共享(无代理)重建项目,错误消失了。返回到原始连接(使用代理)并重建没有错误。
您是否使用代理?如果是这样,问题可能在于您的 gradle.properties
文件中缺少 https 的网络配置。
AndroidStudio 会自动将您的默认代理设置放入项目中的 gradle.properties
文件,但仅适用于 http 而忘记了 https。
所以基本上你的 gradle.properties
文件需要同时包含 http 和 https 配置:
systemProp.http.proxyPassword=xxx
systemProp.http.proxyHost=xxx
systemProp.http.nonProxyHosts=xxx
systemProp.http.proxyUser=xxx
systemProp.http.proxyPort=xxx
systemProp.https.proxyPassword=xxx
systemProp.https.proxyHost=xxx
systemProp.https.nonProxyHosts=xxx
systemProp.https.proxyUser=xxx
systemProp.https.proxyPort=xxx
大多数情况下,当您更新 SDK 时,会在创建项目时 Gradle 构建失败时出现此问题。如果您将 maven 和 jcenter 存储库添加到您的 build.gradle(Module:app) 您的问题将得到解决。
repositories {
maven { url 'http://repo1.maven.org/maven2' }
jcenter { url "http://jcenter.bintray.com/" }
}
这些是您必须在之后添加的两行
apply plugin: 'com.android.application'
这是添加这两行后代码的样子
apply plugin: 'com.android.application'
repositories {
maven { url 'http://repo1.maven.org/maven2' }
jcenter { url "http://jcenter.bintray.com/" }
}
android {
compileSdkVersion 23
buildToolsVersion "23.0.1"
defaultConfig {
applicationId "com.okedroid.myapplication"
minSdkVersion 17
targetSdkVersion 23
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
确保您不在代理后面!如果您将 Android Strudio 配置为使用代理,请务必在 Android Studio 首选项下禁用该选项转到 Android Studio 中 Android 视图下的 gradle.properties 并删除所有代理配置 立即同步您的 gradle 享受编码!
该错误是由于缺少 jar 文件引起的。我的简单解决方案是将所有无法解析的文件复制到 C:\Program Files\Android\Android Studio\gradle\m2repository... (您的文件路径可能不同)。我得到了大约 6 个无法解决的依赖项,junit 是其中之一,其他的是 com、org 和 javax。由于我在防火墙后面,即使我添加了存储库的代码,Android Studio 似乎也无法访问它。我去了 maven 存储库并下载了所有无法解析的文件。问题解决了,Gradle 同步没有错误。但我是一名经过认证的新手,只有 1 天的经验,所以如果这是正确的做法,我不会这样做。
示例错误:无法解析 com:squareup:javawriter:2.1.1
第 1 步:我创建了一个路径 C:\Program Files\Android\Android Studio\gradle\m2repository\com\squareup\javawriter\2.1.1\
第 2 步:我从 maven 存储库下载了所有 jar 文件:http://repo1.maven.org/maven2/com/squareup/javawriter/2.1.1/
第 3 步:我从该目录手动下载了所有 .jar 文件
第 4 步:我将它们复制到 C:\Program Files\Android\Android Studio\gradle\m2repository\com\squareup\javawriter\2.1.1\
我对所有没有解析的文件重复了这个,包括junit。
对于 junit,这里是我创建的目录:C:\Program Files\Android\Android Studio\gradle\m2repository\junit\junit\4.12 然后我将 junit-4.12.jar 复制到该目录中,junit 错误消失了。
像这样改变你的 build.gradle,对我来说很好:
apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion "22.0.1"
repositories {
maven { url 'http://repo1.maven.org/maven2' }
}
defaultConfig {
applicationId "YOUR PACKAGE NAME"
minSdkVersion 15
targetSdkVersion 23
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.0.0'
}
添加
repositories {
maven { url 'http://repo1.maven.org/maven2' }
}
android
转到文件 -> 项目结构 -> 依赖项在那里你会发现 -> junit:unit:4.12
在右侧..从下拉列表中选择编译。很简单。。搞定了。
https://i.stack.imgur.com/5WvS3.png
红军VV
我安装的 Android Studio 完全离线。为了解决这类问题,我使用了 Process Monitor。它表明“Android Studio\gradle\m2repository”中缺少一些文件。我已经从
http://repo1.maven.org/maven2/junit/junit/4.12/ http://repo1.maven.org/maven2/org/hamcrest/hamcrest-core/repo1.maven.org/maven2/org/hamcrest/ hamcrest-parent/1.3/ (我只能发布两个链接...;-))
并将这些文件复制到“Android Studio\gradle\m2repository”中。您必须在“m2repository”下方创建结构,因为它位于“maven2”下方。也许还有更多丢失的文件,但此时至少 Gradle 构建完成且没有错误。
我遇到了同样的问题。
1选项:下载junit 4.12.jar并将其复制到您的lib文件夹中并重新启动android studio。好处你不必创建任何新项目
选项:创建一个具有 Internet 连接的新项目并复制新创建的项目中的所有 java 和 XML 代码。受益此问题将得到永久解决
寻找许多答案,但没有任何效果。幸运的是找到了简单的解决方案。无需评论junit4.12或删除它。问题在这里:
- androidTestCompile files('libs/junit-4.12.jar')
这部分向我们展示了在您的项目的库中查找文件的路径。不知道为什么,但由于某种原因,默认情况下它是空的。在我的情况下,路径是:
C:\Users\arzakhar\AndroidStudioProjects\MyApp\app\libs
当然,您可以在代码 build.grandle(Module.app)
中删除此行,但您以后可能需要它。这是解决方案:
1 - 下载 junit-4.12.jar 或从您的 Android Studio 文件夹中复制它,通常它应该在那里。就我而言,它在这里:
C:\Program Files\Android\Android Studio\lib
到上面提到的目录(到你的项目)
2 - 删除和添加
https://i.stack.imgur.com/X4gBs.png
- 重建
- 努力工作
删除行 testCompile 'junit:junit:4.12'
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:23.0.1'
}
之后再次同步项目。
只需尝试在有活动的 Internet 连接的情况下编译并运行您的项目。
它在 Android Studio 1.5 Ubuntu 15.04 中为我工作
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:23.1.1'
}
注意:删除 testCompile 'junit:junit:4.12' 行已经解决了我的问题。
尝试这个:
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
//testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.3.0'
compile 'com.android.support:design:23.3.0'
compile 'com.google.code.gson:gson:2.2.4'
}
如果你在代理后面。 Android Studio 会将 http 代理添加到 Gradle,但不会为 https 添加代理。将 https 的代理设置添加到 gradle.properties
如果您遇到此问题,您可以通过更改完全解决它:
build.gradle(项目:...)
替换这个
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.0.0'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
mavenCentral()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
我有同样的问题,但有另一个问题。
我的另一个问题是 Gradle 构建太慢了!
我通过这样做解决了我的问题L
如果您确实喜欢 mdew,那么您在创建项目时需要这样做
因此,如果您想将默认选项设置为 maven
做这个:
转到文件夹:
C:\Program Files\Android\Android Studio\plugins\android\lib\templates\gradle-projects\NewAndroidProject\root
然后用 notepad++ 或 notepad 打开 build.gradle.ftl
文件并将所有 jcenter()
替换为 mavenCentral()
。
编辑:为什么它会被否决?你不喜欢吗?
我无法弄清楚为什么 Android Studio 没有与 gradle 同步。原来它不喜欢我的VPN,所以要小心!
转到转到“文件”-> “项目结构”-> “应用程序”在“属性”选项卡中。在“库存储库”field 中输入“http://repo1.maven.org/maven2”,然后按确定。对我来说就是这样固定的。现在项目正在编译。
只需连接到 Internet 并启动 Android Studio 并打开您的项目。在 Gradle Sync 时,它将从 Internet 下载依赖项(所有 JAR 文件)。这为我解决了。 Gradle 文件中没有编辑,全部由 Android Studio 自动完成。使用 Android Studio 2.2 :)
另外不要忘记安装 Java JDK 1.x(7 或 8 都可以正常工作)。
不定期副业成功案例分享
maven
?buildTypes
上方添加,否则会出现错误buildTypes cannot be applied to groovy.lang.Closure。jcenter()
呢?是否有必要从存储库中删除jcenter()
?