Android Studio各种bug

1、Error:Execution failed for task ':app:clean'.

> Unable to delete directory: E:androidcodeyyPayappuildintermediates

错误:任务执行失败:应用:清洁。无法删除文件

解决办法:

说明这个文件被其他文件占用 
可以把android studio 关掉 直接去对应的文件夹下面删除对应的文件。一般在不能删除的情况下,多点几下重试,就能成功删除。如果实在无法删除。 
可以去任务管理器 把 java 的进程强行停止掉。 
再重新打开android studio 就可以了


2、 IDEA报错:lambda expressions are not supported at this language level

解决办法:  

1. 打开 File –> Project Stucture 选择项目设置Lanugage level, 如图所示

lambda expressions are not supported at this language level

2. 打开 File –> Settings –> Compiler –> Java Compiler设置Project bytecode version;同时修改项目对应的Target bytecode version。 如图所示:

lambda expressions are not supported at this language level

3. 确保配置的JDK的版本是1.8及以上


3、greendao编译不通过,出现下面错误:

Error:Execution failed for task ':app:greendao'.
> org.eclipse.jdt.internal.compiler.impl.CompilerOptions.versionToJdkLevel(Ljava/lang/Object;)

 解决办法:

buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.3.2'
classpath 'org.greenrobot:greendao-gradle-plugin:3.0.0'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}

4、导入项目时报错

AndroidStudio Duplicate files copied in APK错误解决方案

Error:Execution failed for task ':app:transformResourcesWithMergeJavaResForDebug'.
> com.android.build.api.transform.TransformException: com.android.builder.packaging.DuplicateFileException: Duplicate files copied in APK org/bouncycastle/x509/CertPathReviewerMessages_de.properties
File1: F:HygoOilstationapplibsorg.bouncycastle.jar
File2: F:HygoOilstationchatsdkuildintermediatesundlesdefaultclasses.jar

Error:Execution failed for task ':app:transformResourcesWithMergeJavaResForDebug'.
> com.android.build.api.transform.TransformException: com.android.builder.packaging.DuplicateFileException: Duplicate files copied in APK org/bouncycastle/x509/CertPathReviewerMessages.properties
File1: F:HygoOilstationapplibsorg.bouncycastle.jar
File2: F:HygoOilstationchatsdkuildintermediatesundlesdefaultclasses.jar

解决方法:

在app的build.geadle中添加

android{

//在这里加入如下代码
packagingOptions {
exclude 'META-INF/DEPENDENCIES'
exclude 'META-INF/NOTICE'
exclude 'META-INF/LICENSE'
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/NOTICE.txt'
exclude 'META-INF/BCKEY.DSA'
exclude 'AUTHORS'
exclude 'META-INF/ASL2.0'
exclude 'META-INF/notice.txt'
exclude 'org/bouncycastle/x509/CertPathReviewerMessages_de.properties'
exclude 'org/bouncycastle/x509/CertPathReviewerMessages.properties'//此处与报错处描述相同
}

}

具体原理描述:http://www.jianshu.com/p/9043d712454e


 5、开发中遇到的问题

Error:Execution failed for task ':chatsdk:compileReleaseJavaWithJavac'.
> Compilation failed; see the compiler error output for details.

自从AS升级2.3之后,偶尔遇到一个问题 
Error:Execution failed for task ‘:appmain:compileReleaseJavaWithJavac’. 
Compilation failed; see the compiler error output for details. 
并没有提示错误的具体地方,然后查看代码也没有报错的地方

如果你也遇到了相同的问题,有望在1分钟之内找到问题所在,往下读吧

如图: 

查阅了很多资料,最后找到了解决方案:

其实是一个很小的问题,只要找到问题所在,就简单多了,具体是:找到AndroidStudio的Tab 其中有一个叫GradleConsole,打开之后,会显示本次Gradle编译所有的问题,我们也可以点击 Run with –info 这样就可以查看具体的错误所在,然后问题就简单了. 每个人的错误可能不一样,这里就不再赘述了,找到问题所在相信对我们开发来说就不是什么问题了.

这里也吐槽一下AndroidStudio,其实本来是一个小问题,来了一个这样的提示,首先按照正常思路,肯定是某一编译环节出问题,然后上面提示说去output里面查看,然后我去output里面查看了log,发现越走越远,根本找不到问题所在….

ps: 
有很多同学可能找不到GradleConsole,正常情况下GradleConsole在AndroidStudio的右下角,如果没有的话我们也可以在AndroidStudio的菜单栏点击View – ToolWindows – GradleConsole 把它显示出来


6、 AndroidManifest 合并出错 tools:replace="android:allowBackup"

Error:Execution failed for task ':db_message_refresh:processDebugManifest'.
> Manifest merger failed : Attribute application@allowBackup value=(true) from AndroidManifest.xml:5:18-44
is also present at [ChatDemo-master:pinnedSectionListLibrary:unspecified] AndroidManifest.xml:11:18-45 value=(false).
Suggestion: add 'tools:replace="android:allowBackup"' to <application> element at AndroidManifest.xml:5:5-15:19 to override.

解决方法:

 <manifest xmlns:android="http://schemas.android.com/apk/res/android"

    xmlns:tools="http://schemas.android.com/tools"
    package="包名">

在application节点添加

 <application tools:replace="android:allowBackup" ......

同样的还有

tools:replace="android:icon, android:theme,android:allowBackup" 


7、集成PullToRefresh报以下错误:

Error:Execution failed for task ':pullToRefreshLibrary:processDebugAndroidTestManifest'.
> Manifest merger failed : uses-sdk:minSdkVersion 4 cannot be smaller than version 7 declared in library [ChatDemo-master:pinnedSectionListLibrary:unspecified] E:GithubDemoChatDemo-masterChatDemo-masterpinnedSectionListLibraryuildintermediatesundlesdefaultAndroidManifest.xml
Suggestion: use tools:overrideLibrary="com.hb.views.pinnedsection" to force usage

 7.1.分析:问题是“pullToRefreshListFragment”这个库的build.gradle默认的

defaultConfig {  
}

为空,和library中的build.gradle中

defaultConfig {

    minSdkVersion 4
    targetSdkVersion 4
}

不一样,所以出现uses-sdk:minSdkVersion 1 cannot be smaller than version 4 declared in library [BeijingNews:library:unspecified]。

7.2.解决办法:

方法①“pullToRefreshListFragment”这个库的build.gradle默认的空设置为library中的build.gradle一样的设置。

方法②在合并时,出问题的库pullToRefreshListFragment的AndroidManifest的<manifest>下加入:

<uses-sdk tools:overrideLibrary="com.handmark.pulltorefresh.library"/>

8、unable to apply changes:plugins "App links assistant",firebase services won'

新安装的android studio工具报错,本来以为只要在plugins中安装android support插件的,现在点击该插件还是不能apply,提示:

unable to apply changes:plugins "App links assistant",firebase services won'

解决办法:

只要把红色的plugin 取消勾选即可,再点击android support apply就可以

原文地址:https://www.cnblogs.com/jingAndroid/p/6993888.html