一、代码混淆proguard
由于java字节码可以被反编译,代码混淆可以混淆关键代码,增加阅读代码难度。同时proguard可以压缩代码、优化编译后的java字节码。
二、应用权限检查
应用声明的权限需要得到系统和用户的认可
三、签名证书
Android系统识别App的凭证,App的身份证。
四、Linux内核安全机制
比如文件访问机制等,权限系统。
五、Android虚拟机沙箱机制
每个App有与之对应的Uid,分别运行在单独的虚拟机中,与其他应用完全隔离。即使一个应用崩溃,也不会导致其他应用异常。