java - unitarias - Error:(23, 17) Error al resolver: junit: junit: 4.12
pruebas unitarias android studio (30)
¿Por qué cada vez que creo un nuevo proyecto en Android Studio, siempre aparece:
Error: (23, 17) Error al resolver: junit: junit: 4.12?
Cuando
testCompile ''junit:junit:4.12''
en dependencias, ya no es un problema.
build.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''
}
Eliminar la
testCompile ''junit:junit:4.12''
línea
testCompile ''junit:junit:4.12''
dependencies {
compile fileTree(dir: ''libs'', include: [''*.jar''])
compile ''com.android.support:appcompat-v7:23.0.1''
}
Después de eso, sincronice el proyecto nuevamente.
- ¡Asegúrese de no estar detrás de un proxy!
- Si configuró su Android Strudio para que funcione con proxy, asegúrese de desactivar esa opción en las preferencias de Android Studio
- Vaya a gradle.properties en la vista de Android en Android Studio y elimine toda la configuración proxy
- Sincroniza tu gradle ahora
- ¡Disfruta codificando!
Busque muchas respuestas pero nada funciona. Afortunadamente había encontrado la solución fácil. No es necesario comentar junit4.12 o eliminarlo. El problema está aquí:
- androidTestCompile files(''libs/junit-4.12.jar'')
Esta parte nos muestra la ruta para buscar el archivo en la biblioteca en el proyecto de su. No tengo idea de por qué, pero por alguna razón por defecto está vacío. En mi caso el camino es:
C:/Users/arzakhar/AndroidStudioProjects/MyApp/app/libs
Claro que puede eliminar esta línea en el código
build.grandle(Module.app)
pero puede necesitarla más tarde.
Aquí está la solución:
1 - descargue junit-4.12.jar o cópielo de su carpeta de Android Studio, normalmente debería estar allí. En mi caso, fue aquí:
C:/Program Files/Android/Android Studio/lib
al directorio mencionado anteriormente (a su proyecto)
2 - eliminar y agregar
3 - reconstruir
4 - trabaja duro
CAMBIA tu build.gradle como esto, funciona bien para mí:
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''
}
adicional
repositories {
maven { url ''http://repo1.maven.org/maven2'' }
}
a
android
El error es causado por la falta de archivos jar. Mi solución simple es simplemente copiar todos los archivos que no se resuelven en el repositorio C: / Archivos de programa / Android / Android Studio / gradle / m2 ... (la ruta del archivo puede ser diferente). Tengo alrededor de 6 dependencias que no se pueden resolver, junit es una de ellas y las otras son com, org y javax. Como estoy detrás de un firewall, incluso si agregué el código para el repositorio, Android Studio no parece acceder a él. Fui al repositorio de Maven y descargué todos los archivos que no se resolverán. Problema resuelto y la sincronización de Gradle sin error. Pero soy un novato certificado con solo 1 día de experiencia, así que no lo sé si esta es la forma correcta de hacerlo.
Error de ejemplo: no se puede resolver com: squareup: javawriter: 2.1.1
Paso 1: Creé una ruta C: / Archivos de programa / Android / Android Studio / gradle / m2repository / com / squareup / javawriter / 2.1.1 /
Paso 2: descargué todos los archivos jar del repositorio maven: http://repo1.maven.org/maven2/com/squareup/javawriter/2.1.1/
Paso 3: descargué manualmente todos los archivos .jar de este directorio
Paso 4: los copié en C: / Archivos de programa / Android / Android Studio / gradle / m2repository / com / squareup / javawriter / 2.1.1 /
Repetí esto a todos los archivos que no se resolvieron, incluido el junit.
Para junit, aquí está el directorio que creé: C: / Archivos de programa / Android / Android Studio / gradle / m2repository / junit / junit / 4.12 y luego copié el junit-4.12.jar dentro de este directorio y el error de junit desapareció.
Estaba teniendo el mismo problema
-
1 opción: descargue junit 4.12.jar y cópielo en su carpeta lib y reinicie android studio. Beneficio no tienes que crear ningún proyecto nuevo
-
Opción 2: cree un nuevo proyecto con conexiones a Internet y copie todo el código Java y XML en el proyecto recién creado. Beneficio este problema se resolverá permanentemente
Esto es lo que hice para resolver el mismo problema. Estoy detrás de un firewall, que es el mismo problema que el tuyo, supongo. Así que intenté eliminar el
testCompile ''junit:junit:4.12'' line
Pero eso no funcionó para mí. Intenté agregar las siguientes líneas de código:
repositories {
maven { url ''http://repo1.maven.org/maven2'' }
}
Incluso eso no funcionó para mí.
Intenté eliminar (-) y volver a leer (+) Junit4.12 de las dependencias de la biblioteca en Configuración del módulo. Aún así, eso no funcionó para mí.
Intenté sincronizar y reconstruir el proyecto varias veces. Todavía no funcionó para mí.
Finalmente, lo que hice fue descargar manualmente el archivo Junit4.12.jar del sitio web mvnrepository. Puse este archivo jar en el Androids Workspace debajo de la carpeta Project dentro de la carpeta libs. Luego vaya a Configuración del módulo> Pestaña Dependencias> (+)> Dependencia de archivo> en la ventana Ruta de acceso, expanda la carpeta ''libs'' y encontrará el archivo Jar que copió allí. Seleccione el archivo y haga clic en ''Aceptar''. Ahora elimine la versión anterior de junit4.12 de la lista de dependencias.
Debería tener una entrada
"libs/junit-4.12.jar"
en la lista de dependencias.
Ahora haga clic en ''Aceptar''.
Ahora Gradle reconstruirá el proyecto y deberías estar listo.
¡Espero que esto ayude!
Intenté todo, pero lo único que me ayudó a resolver el problema fue eliminar la línea
testCompile ''junit:junit:4.12''
de la aplicación gradel.
Me encantaría sugerir la solución, que es perfecta para mi situación:
-
Al principio, asegúrese de agregar
repositories { maven { url ''http://repo1.maven.org/maven2'' } }
al archivo build.gradle a nivel de proyecto dentro del bloque
buildscript {}
-
Luego añade
allprojects { repositories { maven { url ''http://repo1.maven.org/maven2'' } }
al archivo build.gradle a nivel de proyecto
-
el siguiente punto es agregar
repositories { jcenter() mavenCentral() }
a build-gradle a nivel de módulo dentro de
buildTypes{ }
Mi instalación de Android Studio está completamente fuera de línea. Para resolver este tipo de problemas, he utilizado el Monitor de procesos. Mostró que faltan algunos archivos dentro del "Android Studio / gradle / m2repository". He descargado todos los archivos de
- 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/ (Solo puedo publicar dos enlaces ... ;-))
y copié estos archivos en "Android Studio / gradle / m2repository". Debe crear la estructura debajo de "m2repository" como está debajo de "maven2". Tal vez hay más archivos faltantes, pero en este momento al menos la construcción de Gradle está terminada sin errores.
No pude entender por qué Android Studio no se sincronizaba con gradle. Resultó que no le gustaba mi VPN, ¡así que esté atento!
No puede obtener la biblioteca junit.
repositories {
maven { url ''http://repo1.maven.org/maven2'' }
}
Después de agregar la línea anterior dentro del bloque de Android en el archivo build.gradle, resolvió el problema. Esto puede deberse a que su estudio de Android no tiene una biblioteca junit.
Principalmente, este problema se producirá cada vez que actualice su SDK, en el momento de la creación del proyecto. La construcción de Gradle falla. Si agrega los repositorios maven y jcenter a su build.gradle (Módulo: aplicación), su problema se resolverá.
repositories {
maven { url ''http://repo1.maven.org/maven2'' }
jcenter { url "http://jcenter.bintray.com/" }
}
Estas son las dos líneas que debe agregar después
apply plugin: ''com.android.application''
Así es como se ve su código después de agregar esas dos líneas
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''
}
}
}
Probablemente estés detrás del proxy. Me pasó a mí, utilicé mi proyecto de reconstrucción de conexión móvil (sin proxy) y el error desapareció. Regresó a la conexión original (con proxy) y reconstruyó sin errores.
Probablemente tu gradle esté incompleto, te recomiendo que agregues lo siguiente
android{
repositories {
maven { url ''http://repo1.maven.org/maven2'' }
}
pero en algunos casos no funcionará, puede eliminarlo completamente de sus dependencias en su gradle.
Creo que estará bien si reinstalas el estudio de Android con la condición de eliminación de la carpeta gradle que está en la carpeta de usuario
.gradle
Prueba esto:
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''
}
Recibí este error después de crear un nuevo proyecto. En el archivo build.gradle, tuve esto:
jcenter()
Lo cambio a lo siguiente y el error desapareció:
jcenter {
url "http://jcenter.bintray.com/"
}
Creo que esto se debe a que estoy detrás de un cortafuegos y al especificar la URL así, cambia de https a http
Si estás detrás de un proxy. Android Studio agregará proxy para http a Gradle, pero no lo hará para https. Agregue configuraciones proxy para https a gradle.properties
Simplemente conéctese a Internet e inicie Android Studio y abra su proyecto. Mientras Gradle Sync descargará las dependencias de Internet (todos los archivos JAR). Esto lo resolvió para mí. Sin edición en el archivo Gradle, todo fue realizado por Android Studio automáticamente. Usando Android Studio 2.2 :)
Además, no olvide instalar Java JDK 1.x (7 u 8 todo funciona bien).
Simplemente elimine el "testCompile ''junit: junit: 4.12''" del archivo build.gradle:
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''
}
funcionó para mí y estoy feliz! :)
Recuerde que esta no es la respuesta real de esta pregunta. Mencioné esto porque funciona cuando eliminas las líneas anteriores.
Sucede porque HTTPS está bloqueado por Proxy.
Intente cambiar de jcenter predeterminado (que usa HTTPS) a HTTP.
antes de
repositories {
jcenter()
}
Después
repositories {
jcenter {
//Default one is HTTPS
url "http://jcenter.bintray.com/"
}
}
Repita el paso anterior para todos los proyectos.
allprojects {
repositories {
jcenter {
url "http://jcenter.bintray.com/"
}
}
}
Tuve el mismo problema, pero con otro problema.
¡Mi otro problema fue que la construcción de Gradle fue demasiado lenta!
Resolví mi problema haciendo esto.
Si le gusta mdew, debe hacerlo cada vez que cree su proyecto para hacerlo
Entonces, si desea establecer la opción predeterminada para maven
Hacer esto:
Ve a la carpeta:
C:/Program Files/Android/Android Studio/plugins/android/lib/templates/gradle-projects/NewAndroidProject/root
Luego abra el archivo
build.gradle.ftl
con notepad ++ o notepad y reemplace todo
jcenter()
con
mavenCentral()
.
EDITAR: ¿Por qué está bajando votado? no te gusta
Vaya a Archivo -> Estructura del proyecto. Se abrirá la siguiente ventana:
Desde allí:
- elimine la biblioteca junit (seleccione junit y presione el botón "-" a continuación) y
- agréguelo nuevamente (seleccione el botón "+" a continuación, seleccione "biblioteca de dep.", busque "junit", presione OK). Presione OK para aplicar los cambios. Después de unos 30 segundos, la sincronización de Gradle debería funcionar bien.
Espero que funcione para ti también: D
Vaya a Ir a "Archivo" -> "Estructura del proyecto" -> "Aplicación" en la pestaña "propiedades". En el field "Repositorio de la biblioteca" field coloque '' http://repo1.maven.org/maven2 '' y luego presione Ok. Fue arreglado así para mí. Ahora el proyecto se está compilando.
Yo tuve el mismo problema.
Se resolvió agregando una URL para el repositorio perdido en el archivo
build.gradle
:
android {
[...]
repositories {
maven { url ''http://repo1.maven.org/maven2'' }
}
[...]
}
Eso es.
agregar repositorio en su archivo build.gradle
repositories {
maven { url ''http://repo1.maven.org/maven2'' }
}
¿Estás usando proxy
?
Si es así, el problema puede estar en la falta de configuración de red para
https
en su archivo
gradle.properties
.
AndroidStudio coloca automáticamente su configuración de proxy predeterminada en el archivo
gradle.properties
en su proyecto, pero solo para http y olvida https.
Entonces, básicamente, su archivo
gradle.properties
debe contener la configuración http y 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
Si enfrentó este problema, puede resolverlo completamente cambiando:
build.gradle (proyecto: ...)
reemplazar esto
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
}
dependencies {
compile fileTree(dir: ''libs'', include: [''*.jar''])
compile ''com.android.support:appcompat-v7:23.1.1''
}
Nota: Eliminar la línea testCompile ''junit: junit: 4.12'' se ha resuelto mi problema.