1.组件暴露:
像比如ContentProvider,BroadcastReceiver,Activity等组件有android:exported属性;
如果是私有组件 android:exported= “false”;
如果是公有组件 android:exported= “true” 且进行权限控制;
2.Log敏感信息泄漏:
3.权限申请
如果targetsdk低于23(Android M),在清单文件中写的权限都默认可用;如果超过23,就算清单文件中声明了,也得在代码中动态进行权限申请;
4.代码混淆
Android平台的混淆原理是把代码中原来有具体含义的包名,类名,变量名,方法名等名称全部替换成按顺序排列的无意义的英文字母a、b、c;这样就算反编译出来的代码,也比较难理解;
但是混淆后可能会造成编译不通过,需要进行混淆保护: