首页 > 解决方案 > Android应用程序是否有可能杀死自己的进程

问题描述

Android应用程序是否有可能杀死自己的进程?比如说,作为一项防篡改功能,该应用程序检测到其完整性已被破坏,例如通过检查应用程序签名者证书。然后它退出应用程序,但应用程序进程仍然在内存中徘徊。如果攻击者更改了 AndroidManifest.xml 以设置 android:debuggable="true",他仍然可以在 Android 设备监视器中查看它并在进程仍然存在的情况下调试/分析应用程序。

标签: androidprocessddmskill-process

解决方案


您可以使用此代码终止进程

这将终止进程,但不一定会终止内存中的任务。因此,当应用程序重新启动时,活动堆栈(任务)将从上次重新创建 请在主活动中使用此代码(请不要在每个活动或子活动中使用):

 @Override
  public void onBackPressed() {

android.os.Process.killProcess(android.os.Process.myPid());
// This above line close correctly
}

推荐阅读