Android 应用程序是否有可能终止自己的进程

Is it possible for an Android app to kill its own process

Android 应用程序是否可以终止自己的进程?比方说,作为一种防篡改功能,该应用程序通过检查应用程序签名者证书来检测其完整性已被破坏。然后它退出应用程序,但应用程序进程仍在内存中徘徊。如果攻击者将 AndroidManifest.xml 更改为设置 android:debuggable="true",他仍然可以在 Android 设备监视器和 debug/analyze 应用程序中查看它(如果该进程仍然存在) .

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

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

 @Override
  public void onBackPressed() {

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