标签: android-instant-run

在Android Studio 2.0中即时运行(如何关闭)

如何在Android Studio 2.0 Preview中禁用Instant Run.当我进入设置时,我看到它:

在此输入图像描述

我无法从"启用即时运行..."中删除勾号

我使用的是Android Studio 2.0 Preview 9,但Android Studio 2.0 Preview 7中也存在此错误.

settings android android-studio instant-run android-instant-run

175
推荐指数
5
解决办法
12万
查看次数

如何在Android内部共享使用即时运行时创建的拆分APK?

背景

我有一个应用程序(这里),除了其他功能,允许共享APK文件.

为了做到这一点,它通过访问packageInfo.applicationInfo.sourceDir(这里是 docs链接)的路径到达文件,并且只是共享文件(在需要时使用ContentProvider,就像我在这里使用的那样).

问题

这在大多数情况下都可以正常工作,尤其是从Play商店或独立的APK文件安装APK文件时,但是当我使用Android-Studio本身安装应用程序时,我在此路径上看到多个APK文件,而且没有一个是有效的,可以安装和运行没有任何问题.

这是从"Alerter"github repo中试用样本后该文件夹内容的屏幕截图 :

在此输入图像描述

我不确定这个问题何时开始,但至少在我的Nexus 5x和Android 7.1.2上确实发生过.也许甚至以前.

我发现了什么

这似乎只是因为在IDE上启用了即时运行这一事实,因此它可以帮助更新应用程序,而无需一起重新构建它:

在此输入图像描述

禁用它后,我可以看到有一个APK,就像过去一样:

在此输入图像描述

您可以在正确的APK和分割的APK之间看到文件大小的差异.

此外,似乎有一个API来获取所有分裂的APK的路径:

https://developer.android.com/reference/android/content/pm/ApplicationInfo.html#splitPublicSourceDirs

这个问题

什么应该是最简单的方式来共享一个被分成多个的APK?

真的需要以某种方式合并它们吗?

根据文档似乎有可能:

零或更多拆分APK的完整路径,当与sourceDir中定义的基本APK结合使用时,形成一个完整的应用程序.

但是这样做的正确方法是什么,并且有一种快速有效的方法吗?也许没有真正创建文件?

是否有一个API可以从所有拆分的APK中获得合并的APK?或者也许这样的APK已经存在于其他路径中,并且不需要合并?

编辑:刚刚注意到,我尝试过的所有第三方应用程序都应该共享已安装的应用程序的APK,在这种情况下无法执行此操作.

android apk android-instant-run

42
推荐指数
1
解决办法
5602
查看次数

Android Studio 2.0即时运行不起作用但出现此提示?

点击即时运行时,会出现以下提示:

您当前具有相同启动配置的活动运行会话,是否要终止会话并继续当前启动

其他人可以解决这个问题吗?谢谢!

android android-studio-2.0 android-instant-run

21
推荐指数
1
解决办法
3360
查看次数

Android Instant Run首次安装后启动应用程序需要花费太多时间

我已经在安装了

我第一次运行我的应用程序时遇到问题.在启动活动后,它会出现空白屏幕5到10秒.

在此输入图像描述

第一次只为每个应用程序运行需要时间,但为什么它发生我不知道.

Logcat:W/System:ClassLoader引用了未知路径:/data/app/com.package.name/lib/arm

android android-studio-2.0 android-instant-run

20
推荐指数
1
解决办法
3552
查看次数

运行应用程序vs应用更改android studio 2.3

两者之间有什么主要区别

运行应用应用更改

在此输入图像描述

什么是最好的方案来使用每个?

谢谢.

android toolbar android-studio instant-run android-instant-run

19
推荐指数
1
解决办法
9286
查看次数

Android studio:如何强制重新安装(禁用即时运行一次)?

我知道你可以完全禁用即时运行(新的Android 2.0功能).但是我确实喜欢这个功能,除了在某些情况下: - 当对布局文件进行更改时,它通常不会在访问这些资源时获取导致Nullpointer的更改.

有没有办法绕过即时运行?并强制重新安装?

我知道改变AndroidManifest强制这个但这不方便.

android android-studio android-instant-run

18
推荐指数
1
解决办法
3950
查看次数

即时运行java.lang.OutOfMemoryError:超出GC开销限制

我已经升级到Android Studio 2.1,当我尝试构建和运行我的企业大项目时,我遇到了这个错误:

任务':app:transformClassesWithDexForMyAppDebug'的执行失败.com.android.build.api.transform.TransformException:com.android.ide.common.process.ProcessException:java.util.concurrent.ExecutionException:java.lang.OutOfMemoryError:GC开销超过限制

我已经搜索了论坛并禁用了即时运行,也写入了我的build.gradle:

dexOptions {
    incremental true
    javaMaxHeapSize "6g"
}
...
dependencies{
    compile 'com.android.support:multidex:'
}
Run Code Online (Sandbox Code Playgroud)

但它无法解决我的问题.我在gradle中启用了multidex,因为没有它我得到了错误:

com.android.dex.DexIndexOverflowException:方法ID不在[0,0xffff]中:65536

所以这是它的解决方案,它之前的Android Studio版本(也适用于公司的其他人,使用的是Android Studio 1.4-2.0),但是在我升级Android Studio之后却没有.

有谁知道会导致什么问题?

有趣的是,如果我只是做项目我没有得到错误,只有当我尝试运行它.任何想法都表示赞赏!

编辑1:

有趣的是,如果我重启我的android工作室,比第一次运行成功,但第二次运行不成功.

编辑2:

如果我将堆大小设置为更大(比如8-10g),那么应用程序甚至不会在第一次运行时编译.

编辑3:

似乎问题是即时运行,如果我强迫android studio不使用它(比如一次部署到两个设备或更改gradle.properties,如答案)错误消失.

android android-build android-studio android-gradle-2.0 android-instant-run

15
推荐指数
1
解决办法
1万
查看次数

Instant Run执行完整构建和安装,因为设备上的安装与磁盘上的本地构建不匹配

运行启用了即时运行的应用程序时,Android Studio会出错.我今天已将我的android工作室更新为2.3,从那时起它向我展示了以上信息.

android android-studio android-instant-run

14
推荐指数
1
解决办法
3万
查看次数

即时运行比标准版本更长

现在已经有一段时间了,Instant Run不再工作了,也就是说,它比标准版本慢.

AOSP错误跟踪器中有一些材料,但我无法解决这个问题.我相信你们中的一些人会有所帮助.

没有即时运行

建设大约需要1.30分钟.

使用即时运行

我第一次运行应用程序,然后应用一些小的更改.例如,更改int a = 1int a = 2方法内部或更改字符串.

然后再次单击运行.怎么了:

  • 看起来完全构建(调用assembleDebug我的所有模块).大约需要1.30分钟.
  • 第二轮继续,只是打电话app:assembleDebug.大约需要一分钟:

    16:27:10 Executing tasks: [:app:assembleDebug]
    16:28:16 Gradle build finished in 1m 5s 264ms
    16:28:22 Instant Run applied code changes and restarted the app.
    
    Run Code Online (Sandbox Code Playgroud)

在第一轮中,没有任何输出到事件日志或Gradle控制台.在第二轮中,Gradle控制台会输出大量内容并以此结束

BUILD SUCCESSFUL

Total time: 51.385 secs
PREDEX CACHE HITS:   0
PREDEX CACHE MISSES: 45
Stopped 0 compiler daemon(s).
Run Code Online (Sandbox Code Playgroud)

我能做什么?

我在我的grade.properties文件中有这些:

org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
org.gradle.parallel=true
org.gradle.daemon=true
Run Code Online (Sandbox Code Playgroud)

build.gradle文件中没有与dex相关的内容.不使用杰克.Android Studio 2.2.3.


gradle.properties文件 …

android android-studio android-instant-run

13
推荐指数
1
解决办法
1250
查看次数

无法在Android Studio 3.0上使用Instant Run运行应用

我已更新到Android Studio 3.0,现在我无法在启用Instant Run的情况下运行该应用.

由于java.io.FileNotFoundException,我得到'执行失败的任务',因为它找不到apk下的

../build/intermediates/instant-run-resources/resources-production/

知道如何克服这个问题,以便我可以使用Instant Run运行项目吗?

我不知道在哪里可以找到丢失的apk文件或者如何更改路径以查找它.

android android-instant-run android-studio-3.0

13
推荐指数
2
解决办法
7443
查看次数