美文网首页StudioAndroid知识Android开发
AndroidStudio 编译不通过,无法直接点 run 安装

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

作者: 程序员K哥 | 来源:发表于2017-05-27 11:12 被阅读386次

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

错误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,最后得以解决。该问题出现的原因:

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.

解决方法:

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

友情提示:

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


欢迎关注我的微信公众号与我交流,希望与大家共同成长,未来是属于我们的!

相关文章

网友评论

本文标题:AndroidStudio 编译不通过,无法直接点 run 安装

本文链接:https://www.haomeiwen.com/subject/fyaffxtx.html