AndroidManifest.xml文件的Application标签中加入android:debuggable="false",让程序不可以调试,如果有人想调试改程序,就必然会修改它的值,我们在代码可以这样检测它,来判断程序是否被修改过,代码如下:
if((this.getApplicationInfo().flags &= ApplicationInfo.FLAG_DEBUGGABLE) != 0){
android.os.Process.killProcess(android.os.Process.myPid());
}
ApplicationInfo.FLAG_DEBUGGABLE对应android:debuggable="true",如果该标准被修改了,说明程序已经被修改,这个时候就可以终止程序运行了。
Android SDK中提供了一个方法方便来检测调试器是否已经连接,代码如下:
adnroid.os.Debug.isDebuggerConnected();
如果方法返回真,说明调试器已经连接。