【问题标题】:Is it possible for an Android app to kill its own processAndroid应用程序是否有可能杀死自己的进程
【发布时间】:2018-06-07 06:04:23
【问题描述】:
Android 应用程序是否有可能杀死自己的进程?比如说,作为一项防篡改功能,该应用程序检测到其完整性已被破坏,例如通过检查应用程序签名者证书。然后它退出应用程序,但应用程序进程仍然在内存中徘徊。如果攻击者更改了 AndroidManifest.xml 以设置 android:debuggable="true",他仍然可以在 Android Device Monitor 中查看它并在进程仍然存在的情况下调试/分析应用程序。
【问题讨论】:
标签:
android
process
ddms
kill-process
【解决方案1】:
您可以使用此代码终止进程
这会杀死进程,但不一定会杀死内存中的任务。因此,当应用程序重新启动时,活动堆栈(任务)将从上次重新创建
请在主活动中使用此代码(请不要在每个活动或子活动中使用):
@Override
public void onBackPressed() {
android.os.Process.killProcess(android.os.Process.myPid());
// This above line close correctly
}