4

在 Android Studio 中,“即时运行”功能“应用更改”在此处输入图像描述总是重启应用程序,即使代码没有变化(Android Studio 2.3.0 - MacOS 10.12.3)。当应用程序处于调试状态并在断点处暂停时会发生这种情况,如果那时我尝试应用更改应用程序重新启动在此处输入图像描述

这是我的 build.gradle:

apply plugin: 'com.android.application'

dependencies {
    compile fileTree(dir: 'libs', include: '*.jar')
}
buildscript {
    repositories {
        mavenCentral()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:2.3.0'
    }
}
allprojects {
    repositories {
        mavenCentral()
    }
}


android {
    compileSdkVersion 23
    buildToolsVersion '25.0.2'
    dexOptions {
        javaMaxHeapSize "4g"
    }
    defaultConfig {
        minSdkVersion 17
        targetSdkVersion 23
        multiDexEnabled true
    }

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_7
        targetCompatibility JavaVersion.VERSION_1_7
    }
    lintOptions {
        checkReleaseBuilds false
        abortOnError false
    }



    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            java.srcDirs = ['src/main/java']
            resources.srcDirs = ['src/main/java']
            aidl.srcDirs = ['src/main/java']
            renderscript.srcDirs = ['src/main/java']
            res.srcDirs = ['res']
            assets.srcDirs = ['assets']
        }

        // Move the tests to tests/java, tests/res, etc...
        //instrumentTest.setRoot('tests')
    }
}
4

2 回答 2

1

Instant Run 在调试器中始终处于禁用状态:

在 Android Studio 2.3 上,如果您通过单击 Debug 部署应用程序,则通过单击 Apply Changes 推送后续代码更改始终会导致冷交换。要了解更多信息,请转到问题 #234401

来自https://developer.android.com/studio/run/index.html#instant-run

除此之外,您的配置似乎选中了所有框。

于 2017-03-14T08:34:41.070 回答
-1

根据 android文档:

禁用自动活动重启

执行热插拔时,您的应用会继续运行,但 Android Studio 会自动重新启动当前活动。要禁用此默认设置:

打开设置或首选项对话框:

  • 在 Windows 或 Linux 上,从菜单栏中选择文件 > 设置。
  • 在 Mac OSX 上,从菜单栏中选择 Android Studio > 首选项。
  • 导航到构建、执行、部署 > 即时运行。
  • 取消选中 Restart activity on code changes 旁边的复选框。

如果禁用了自动重新启动活动,您可以通过选择运行 > 重新启动活动从菜单栏中手动重新启动当前活动。

于 2017-03-14T08:33:33.033 回答