AndroidStudio 编译不通过,无法直接点 run 安装到真机

未经本人授权,不得转载!否则必将维权到底

错误Log:Warning:The android.dexOptions.incremental property is deprecated and it has no effect on the build process.
Session‘app’: Error Installing APK
出现场景:未知,莫名其妙的就突然不能打包编译了。

尝试解决方案:
- 可能存在缓存,那 Clean 试试,Clean Project 再编译,无效
- 万一是 AndroidStudio 的 Bug 呢,重启 Android Studio,无效
- 像之前遇到的 Gradle 问题,先 Synchronized 同步一下再编译,还是无效,但是在 build.gradle 文件里面发现了 dexOptions ,可以基本锁定是 Gradle 的问题


可行方案:

1、不能直接运行到手机,按照以往的经验,apk 应该已经编译好了,直接用 apk 安装到手机试试。找到 build\outputs\apk 目录下的 apk ,发现 apk 的版本已经变成了 6.8.1,安装成功。其本质并没有解决这个问题,因为通过 run 安装还是没走通。

图例一.png

2、既然是 Gradle 的问题,我的 Gradle 版本的一直没更新,还是 2.0 beta 版本,AndroidStudio 提示我更新几次了,索性我更新到最新版本试试!更新完毕后通过 run 安装应用,成功。

3、通过上面的 run 方式,发现 log 里面还是有这句报错:
图例二.png

说明我根本没有解决问题,抱着死磕的心态,继续解决问题。回到 build.gradle 文件,找到 dexOptions 模块

图例三.png

上 Stackoverflow 搜这个问题 [android.dexOptions.incremental property is deprecated](https://stackoverflow.com/questions/37522668/android-dexoptions-incremental-property-is-deprecated),最后得以解决。该问题出现的原因:

By default incremental is turned on Java compilation in 2.1.0-rc1 (2016/4/22) or later. So its redundant to declare it in build.gradle file.

扫描二维码关注公众号,回复: 2111406 查看本文章

解决方法:

  // apk 方法数超过 65536 限制,进行分包处理
  dexOptions {
        javaMaxHeapSize "4g"
        incremental true      .//这行去掉,这个是默认开启的,但是在 Java compilation in 2.1.0-rc1 之后就不需要了
  }

友情提示:

无论何时修改完 Gradle 文件后,一定要 Synchronized 一下!!!


本文原创发布于微信公众号「keithxiaoy」,编程、思维、成长、正能量,关注并回复「编程」、「阅读」、「Java」、「Python」等关键字获取免费学习资料

不要给自己的人生设限

猜你喜欢

转载自blog.csdn.net/xiaoy_yan/article/details/80985819