[Android Studio 日常奇怪问题记录] 之ERROR: Failed to resolve: org.jetbrains.kotlin:kotlin-stdlib-jre7:1.3.21

问题原因:

kotlin插件升级到1.2.41时提示kotlin-stdlib-jre7过时

解决办法:

将org.jetbrains.kotlin:kotlin-stdlib-jre7:1.3.21

改成org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.21
原文:https://blog.csdn.net/u010117864/article/details/89416505 

error: inner element must either be a resource reference or empty./values/values.xml  Daemon: AAPT2 

如上错误原来是values.xm资源文件中,元素定义了id后,就不能在后面给值了

发现 

false

改为

 

Android Studio error: Unable to start the daemon process的解决方法

在 Android Studio 上新建项目,出现 Unable to start the daemon process. 错误,具体错误信息如下:

Error:Unable to start the daemon process.
This problem might be caused by incorrect configuration of the daemon.
For example, an unrecognized jvm option is used.
Please refer to the user guide chapter on the daemon at https://docs.gradle.org/4.1/userguide/gradle_daemon.html
Please read the following process output to find out more:
-----------------------
解决方法
方法一:删除 C:\Users\UserName\.gradle 目录,重新启动 Android Studio即可。重启动后,它会自动为你创建一个新的。
 

com.android.builder.dexing.DexArchiveMergerException: Unable to merge dex 错误

build.gradle文件引入资源配置问题

修改前

compile(name: 'lib', ext: 'jar')

修改后

 

 

//compile(name: 'lib', ext: 'jar')
compile files('libs/guavalib.jar')
即可解决

 

其他原因 包重复 分包处理

添加依赖compile com.android.support:multidex:1.0.1,

让application继承MultiDexApplication

 

删除重复的依赖

1.检查lib目录下是否有重复引用的jar包

2.删除或者注释主项目中的support依赖

dependencies {
    //implementation 'com.android.support:appcompat-v7:26.1.0'

}

保留Lib库的依赖

 

dependencies {
    implementation 'com.android.support:appcompat-v7:26.1.0'

}

 

 

处理guava-21.0不兼容Android错误:DexArchiveBuilderException: Failed to process guava-21.0.jar

 

 

 

在Android项目里使用guava-21.0报错:

Error:com.android.builder.dexing.DexArchiveBuilderException: Failed to process C:\Users\cc\.gradle\caches\modules-2\files-2.1\com.google.guava\guava\21.0\3a3d111be1be1b745edfa7d91678a12d7ed38709\guava-21.0.jarError:com.android.builder.dexing.DexArchiveBuilderException: Error while dexing.Error:com.android.tools.r8.ApiLevelException: Default interface methods are only supported starting with Android N (--min-api 24): java.util.Collection com.google.common.collect.BiMap.values()Error:Execution failed for task ':app:transformClassesWithDexBuilderForDebug'.

原因是guava 21使用的是Java 8,与Android不兼容。

可以把guava 21改为与Android兼容的版本23.3-android

dependencies {  compile 'com.google.guava:guava:23.3-android'}

参考:https://majing.io/posts/10000003611166

android第三方库导致support版本冲突解决方案

 

问题

升级compileSdk版本到26,同时修改了support包的版本,报错

all com.android.support libraries must use the exact same version specification(mixing versions can lead to runtime crashes)

也就是说有引入的第三方库和目前编译版本有冲突。

解决

 

一般这种问题解决方案是,在指定的有冲突的库的依赖处,添加 exclude group: 'com.android.support',可以将冲突库不包含在编译,如

compile('xx.xxx.xxxxx:xxxxx:1.5.5') {    exclude group: 'com.android.support'}

但是问题是我不知道哪个第三方库冲突,不可能一个个检查吧?

这时候只需要在gradle文件中添加如下代码,让所有的第三方包强制使用指定版本的support包:

configurations.all {    resolutionStrategy.eachDependency { DependencyResolveDetails details ->        def requested = details.requested        if (requested.group == 'com.android.support') {            if (!requested.name.startsWith("multidex")) {                details.useVersion '26.1.0'            }        }    }}   

以及在自己写第三方库给别人用的时候,对于support包的依赖方式改成provided(或者compileOnly,gradle3.0),这样不会把support 
打包,方便使用的人。

关于gradle3.0更多

 

gradle升级到3.0后,依赖的方式变得更多了,最显著的变化就是,之前一直用的compile可以替换为implementation, 如

implementation 'xx.xxx.xxxxx:xxxxx::1.5.5'

implementation是指引入依赖,这个第三方包引入的东西,你在项目里无法使用,有点接口的味道,屏蔽内部实现。可以加快gradle编译的速度。

同样的对于 debugcompile releasecompile 都有debug implementation release implementation 与之对应。

参考:https://blog.csdn.net/c_j33/article/details/79171579

。。。

 

 

 

更多相关文章

  1. Android(安卓)Studio导入项目错误之Gradle版本过高
  2. 打开eclipse的opens the android sdk and avd manager提示错误:e
  3. 检测android app是否第一次启动
  4. android中引入okhttp
  5. android关于手机和3.0版本以上平板去标题问题
  6. Android(安卓)CTS包下载地址
  7. Android(安卓)单元测试 Error: ShouldNotReachHere()
  8. Gradle上传aar到Maven
  9. 在Android上做List Remove的时候遇到的异常

随机推荐

  1. Android--把文件发送给另一个设备
  2. cocos2dx3.0 build_native.sh 需要这些环
  3. android 相对布局覆盖问题
  4. android 弹出窗口
  5. editText设置最大长度
  6. android manifest.xml中元素含义
  7. Android TextSwitcher的使用
  8. android:Cordova Android, hello Cordova
  9. 一个android的按钮
  10. button layout for android