如何在Android 9及以上固件显示Continue Run弹窗(ADB调试场景)
如何让Android 9及以上固件在调试启动时显示「Continue Run」弹窗?
Android 9(API 28)及以上版本调整了调试等待的默认系统行为:当用adb shell am start -D命令启动debuggable应用时,系统不再自动弹出「Continue Run」确认弹窗,而是直接进入后台等待调试器连接状态。要恢复类似Android 7的弹窗提示,可通过以下两种方式实现:
方案一:给应用添加自定义调试等待弹窗
这种方式针对单个应用生效,弹窗样式可自定义,不受系统版本限制:
- 确保应用的
AndroidManifest.xml中,<application>标签已配置android:debuggable="true"(AGDE在Debug构建变体下会自动添加,但建议手动确认); - 在
MainActivity的onCreate方法中,添加调试状态判断与弹窗逻辑:
import android.app.AlertDialog; import android.content.DialogInterface; import android.os.Debug; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 检测应用是否处于等待调试器连接的状态 if (Debug.waitingForDebugger()) { new AlertDialog.Builder(this) .setTitle("调试等待") .setMessage("应用已启动,正在等待调试器连接,点击继续运行") .setPositiveButton("Continue Run", (dialog, which) -> dialog.dismiss()) .setCancelable(false) .show(); } } }
编译Debug版本后,用原adb命令启动,即可看到自定义的「Continue Run」弹窗。
方案二:开启系统级调试等待弹窗
这种方式对设备上所有debuggable应用生效:
- 打开设备的「开发者选项」,找到「调试」分类下的等待调试器(部分设备命名为「调试应用时等待调试器连接」),开启该选项;
- 之后用
adb shell am start -D命令启动任意debuggable应用,系统都会弹出类似Android 7的「Continue Run」确认弹窗。
内容的提问来源于stack exchange,提问作者Hai Phan
相关产品推荐
相关产品推荐

