Android Studio Instant Run始终重启应用程序

时间:2017-03-08 08:05:04

标签: android-studio android-instant-run

在Android Studio中,“即时运行”功能“应用更改”enter image description here始终重启应用程序,即使代码没有变化(Android Studio 2.3.0 - MacOS 10.12.3)。当应用程序在Debug中并在断点处暂停时会发生这种情况,如果然后我尝试应用更改应用程序重新启动enter image description here

这是我的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')
    }
}

2 个答案:

答案 0 :(得分:1)

在调试器中始终禁用“即时运行”:

  

在Android Studio 2.3上,如果您通过单击“调试”来部署应用程序,则通过单击“应用更改”来推送后续代码更改始终会导致冷交换。要了解详情,请转到issue #234401

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

除此之外,您的配置似乎会检查所有框。

答案 1 :(得分:0)

根据android docs:

禁用自动重启活动

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

打开“设置”或“偏好设置”对话框:

  • 在Windows或Linux上,选择文件>菜单栏中的设置。
  • 在Mac OSX上,选择Android Studio>菜单栏中的首选项。
  • 导航至构建,执行,部署>即时跑步。
  • 取消选中代码更改时重新启动活动旁边的复选框。

如果禁用自动活动重启,则可以手动重启    通过选择Run>菜单栏中的当前活动;重新开始    活性。