首次启动需要很长时间(ClassLoader引用未知路径)

时间:2016-04-14 13:00:27

标签: android android-studio gradle

将我的 Android工作室更新为2.0并将 gradle 更新为2.0.0,将 SDK-Platform 更新为23.0.3当我想要启动时应用程序需要花费太多时间(约2-3秒)并在Android监视器中显示以下警告:

W/System: ClassLoader referenced unknown path: /data/app/net.hadifar.test-1/lib/arm
W/System: ClassLoader referenced unknown path: /data/app/net.hadifar.test-1/lib/arm
 W/art: Suspending all threads took: 5.439ms
W/art: Before Android 4.1, method android.graphics.PorterDuffColorFilter android.support.graphics.drawable.VectorDrawableCompat.updateTintFilter(android.graphics.PorterDuffColorFilter, android.content.res.ColorStateList, android.graphics.PorterDuff$Mode) would have incorrectly overridden the package-private method in android.graphics.drawable.Drawable
W/art: Suspending all threads took: 6.808ms

但是第二次启动应用程序时它会像往常一样运行。任何机构都能知道这个问题是什么吗?

5 个答案:

答案 0 :(得分:9)

在2.0版中添加了一项新功能instant-run

要启用此功能,工具会添加大量元信息,因此首次构建和上传会占用更多时间。

注意关于

在这里,我们可以撰写(或投票)issues(报告以制作更好的工具)。

答案 1 :(得分:3)

新发布的A.S 2.0(或2.1)中有一种奇怪的行为,屏幕变为黑色(或Activity暂停)几秒钟。正如doc解释的那样,第一次构建可能需要更长的时间A.S 2.0但是这个问题发生在运行时。

基于@Skadoosh评论的快速修复将被禁用即时运行

Settings → Build, Execution, Deployment → Instant Run and uncheck Enable Instant Run

更多信息:

  

部署完整版本后,Android Studio会将您的应用程序设置为   允许Instant Run推送代码和资源更新。虽然更新   正在运行的应用程序发生得更快,第一次构建可能需要   更长时间完成。您可以通过配置几个DexOptions设置来改进构建过程:

android {
  ...
  dexOptions {
    maxProcessCount 4 // this is the default value
    javaMaxHeapSize "2g"
  }
}

同样用于警告在Android 4.1之前。它说:

  仅在部署调试版本变体时才支持

Instant Run,   使用Android插件 Gradle版本2.0.0或更高版本,然后设置   在应用的模块级build.gradle中 minSdkVersion到15或更高   文件。对于最佳性能,请将minSdkVersion设置为21或更高

查看来自Google员工的this视频可以帮助您了解一下Instant Run。

答案 2 :(得分:1)

我遇到了同样的问题,当更新Andoid gradle插件2.4到2.10&我通过使用以下指令解决了它

转到Android工作室文件 - >设置→构建,执行,部署→即时运行并取消选中所有CheckBox

答案 3 :(得分:0)

我遇到了同样的问题, 使用低版本gradle可以解决。

的build.gradle : classpath'com.android.tools.build:grad:1.3.0'

gradle-wrapper.properties : distributionUrl = HTTPS://services.gradle.org/distributions/gradle-2.4-all.zip

答案 4 :(得分:0)

无需禁用即时运行,但按照我的步骤,使用gradle插件v2.3.2并使用gradle v3.5可以解决它,享受,无论如何我解决了我项目的问题。