获取错误:
错误:无法解析':app @ debugUnitTest / compileClasspath':无法解析com.googlecode.mp4parser:isoparser:1.1.22。 打开文件
显示细节
依赖性:
compile 'com.googlecode.mp4parser:isoparser:1.1.22'
但是依赖:
compile 'com.googlecode.mp4parser:isoparser:1.1.20'
成功完成Gradle同步。
尝试使用存储库:
repositories {
mavenCentral()
}
详细错误:
无法解析':app @ StagingUnitTest / compileClasspath':无法解析com.googlecode.mp4parser:isoparser:1.1.22。
无法解析com.googlecode.mp4parser:isoparser:1.1.22。 要求: 项目:app
无法解析com.googlecode.mp4parser:isoparser:1.1.22。 无法获得资源' https://repo1.maven.org/maven2/com/googlecode/mp4parser/isoparser/1.1.22/isoparser-1.1.22.pom'。 org.apache.http.ssl.SSLInitializationException:字节0周围的格式错误的输入 字节0周围的输入格式错误 字节0周围的格式错误输入
答案 0 :(得分:4)
只需确保您的根级gradle.build
文件是这样的。您需要在项目和所有项目中使用repo:
buildscript {
repositories {
mavenCentral()
jcenter()
google()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.0.0'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
mavenCentral()
jcenter()
google()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
我能够解决依赖:
答案 1 :(得分:4)
花了1.5小时调查这个。我的根本原因错误是
Could not resolve all dependencies for configuration ':classpath'.
Could not resolve io.fabric.tools:gradle:1.+.
Required by:
project :
> Could not resolve io.fabric.tools:gradle:1.+.
> Failed to list versions for io.fabric.tools:gradle.
> Unable to load Maven meta-data from https://repo1.maven.org/maven2/io/fabric/tools/gradle/maven-metadata.xml.
> org.apache.http.ssl.SSLInitializationException: malformed input around byte 12
在idea.log
文件中,我找到了这个logtrace:
2018-02-15 18:32:32,220 [entQueue-0] ERROR - net.ssl.ConfirmingTrustManager - Cannot get system trust store
java.security.KeyStoreException: problem accessing trust storejava.io.UTFDataFormatException: malformed input around byte 12
at sun.security.ssl.TrustManagerFactoryImpl.engineInit(TrustManagerFactoryImpl.java:74)
at javax.net.ssl.TrustManagerFactory.init(TrustManagerFactory.java:250)
at com.intellij.util.net.ssl.ConfirmingTrustManager.getSystemDefault(ConfirmingTrustManager.java:82)
at com.intellij.util.net.ssl.ConfirmingTrustManager.createForStorage(ConfirmingTrustManager.java:75)
at com.intellij.util.net.ssl.CertificateManager.<init>(CertificateManager.java:130)
事实证明问题不在于Gradle,而在于Android Studio的内部JRE运行时。
在针对android studio JRE的cacerts文件运行malformed input around byte 12
时,我遇到了同样的keytool
错误
> keytool.exe -list -keystore /c/Program\ Files/Android/Android\ Studio/jre/jre/lib/security/cacerts
keytool error: java.io.UTFDataFormatException: malformed input around byte 12
我将我的android studio安装中的cacerts
文件替换为我机器的java安装中的文件,并且恢复正常。我的假设是在更新到3.0期间文件已损坏,这似乎是看到此内容的人中的一致线程。
希望这有助于任何人仍然遇到此问题。
答案 2 :(得分:1)
经过大量研究和分析,重新安装android studio 3.0解决了问题。
答案 3 :(得分:0)
我检查jcenter repo。
中也提供awk '{
sub("true},}","true}"); ##Substitute string true},} to true} with the use of sub utility of awk here.
sub(/\"active\":true}/,"&\n") ##Substituting "active":true} here with same string mentioned by & and a new line in current line.
}
1 ##Mentioning 1 here, so awk works on condition and action. So by mentioning 1 here I am making condition TRUE here and NOT mentioning
##any action here, so by default print of current line will happen.
' Input_file ##Mentioning the Input_file here.
工件
所以在您的存储库链接中添加jcenter。
isoparser
答案 4 :(得分:0)
还添加这些回购:
jcenter()
google()
如果您落后于代理,则可能存在https连接问题,因此您可以通过添加以下内容强制它使用http:
maven { url "http://jcenter.bintray.com/" }
maven { url "http://repo.maven.apache.org/maven2" }
maven { url "http://maven.google.com" }
更新:昨天我遇到了类似的程序包错误,尝试了一切,但最后唯一的解决方案是删除用户配置文件(不在项目中)或Linux用户主目录中的整个 .gradle 文件夹。之后,将开始长时间同步,但最终一切都会好起来的。 似乎在AS更新到新版本期间由gradle缓存导致的此问题已损坏。它发生在Windows和Fedora系统中。并且HTTP错误消息只是让所有人都以错误的方式寻找解决方案。
答案 5 :(得分:0)
确保“设置”中的“离线工作” - &gt; “构建,执行,部署” - &gt; “Gradle”已停用。