Android Studio报的错误

报错:Android Studio可能在某一个页面误操作了,导致光标打字以后向前走,而不是向后走,最后通过File/Invalidate Caches/Restart进行重启然后修复了

报错:Error:java.lang.OutOfMemoryError:GC overhead limit exceeded

情景:进行项目的Rebuild;
解决方法:在build.gradle的android{}中添加以下代码即可:

dexOptions {
    incremental true
    javaMaxHeapSize "4g"
}

报错:使用adb install的时候出现Android Failure[INSTALL_FAILED_VERSION_DOWNGRADE]

情景:使用adb install -r命令安装安装包的时候;
原因:现在设备上安装的版本高于要进行安装的版本;
解决方法:使用adb install -r -d命令,-d命令意味着可以允许降级安装;

报错:error:java.util.concurrent.ExecutionException:java.lang.OutofMemoryError:GC overhead limit exeeded

解决方法:在项目的gradle.properties文件中,设置org.gradle.jvmargs = -Xmx1535m

报错:项目中出现v4和v7包冲突

解决方法:第一种方法:删除掉v4包,因为v7包中已经默认包含了v4包;
第二种方法:在build.gradle方法中使用如下代码:

compile('com.android.support:appcompat-v7:24.1.1'){
    exclude module:'support-v4'
}

报错:Path 'xxx(项目路径)\build\intermediates\xxx' is not a readable directory

  这个问题,是导入一个新的项目出现的,发现在项目的build/intermediates/路径下面没有错误中说的文件。就把.gradle/文件夹下面的文件给删掉,然后把项目Clean一下,然后再Rebuild一下,就会生成错误中所说的文件了,就解决这个问题了。

报错:has leaked ServiceConnection

  启动服务时,采用bindService()方法时,报了这个错误。是因为bindService()方法中的第二个参数是一个ServiceConnection对象,我们需要在Activity销毁的时候,把ServiceConnection对象使用unbindService(serviceConnection)方法进行销毁。

  解决方法:在Activity的onDestroy()方法中调用unbindService(serviceConnection)方法。

报错:The application could not be installed:INSTALL_FAILED_TEST_ONLY

  解决方法:在gradle.properties文件中添加如下一行代码:

android.injected.testOnly=false

报错:CLEARTEXT communication xxxxx(URL地址) not permitted by network security polic

情景:在Android P(28)版本及以上使用okhttp进行网络请求http协议数据时出现的;
原因:从Android P开始,谷歌要求默认使用加密连接;
解决方法:
第一种:改用https网络请求;
第二种:将targetSdkVersion降到27以下;
第三种:在res文件夹下建立一个xml目录,创建一个.xml文件(名字可以自己定,一般大家都定为network_security_config.xml),文件内容如下:

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <base-config cleartextTrafficPermitted="true" />
</network-security-config>

然后在AndroidManifest.xml文件中的application标签下增加以下属性:

//@xml/network_security_config是上面创建的xml文件;
<application 
......
android:networkSecurityConfig="@xml/network_security_config"
......
>

Android Studio日志不再打印,显示read:Unexpected EOF

原因:因为logcat日志信息太多了;
解决方法:在Android Studio的Terminal面板中,输入以下代码,然后在Logcat面板点击Restart按钮就可以恢复日志打印了:

adb logcat -G 2m

打开下载的项目显示add Configuration

  查看一下gradle插件和版本是否相匹配;

windows系统:
  File-->Sync Project with Gradle Files

mac系统:
  File-->Sync Project with Gradle Files