掌握客户端性能调试
内存泄漏查询工具:leakcanary
实时显示程序的内存消耗:Android Studio—>Android Monitor—>Memory/CPU|GPU通过观测程序运行过程中的内存状态可以粗略地检测到哪些界面存在内存泄漏、哪些地方存在内存抖动(内存抖动时可能触发GC,导致程序出现卡顿的现象)、优化效果等
Testin云测试平台是一个基于真实终端设备环境,基于自动化测试技术的7x24云端服务.Testin在云端部署了千余款测试终端,并开放这些智能终端给全球移动开发者进行测试,开发者只需在Testin平台提交自己的App应用,选择需要测试的网络、机型,便可进行在线的自动化测试,无须人工干预,自动输出含错误、报警等测试日志、UI截图、内存/CPU/启动时间等在内的标准测试报告[2] 。
应用的性能测试:外部提供的第三方工具来辅助测试,安测试等
客户端代码保护机制
1 proguard代码混淆 混淆策略是每个应用必须增加的一种防护策略,同时他不仅是为了防护,也是为了减小应用安装包的大小,所以他是每个应用发版之前必须要
2对apk包做完整性校验 或者签名的
我们也可以对整个apk包(context.getPackageCodePath())做哈希校验。通过检查apk包的MD5摘要值来判断代码文件是否被篡改,如果被篡改那就killProcess。
2.1签名校验: 通过包管理器 获取当前包中的签名信息 ,然后在通过证书获取公钥,最后转化成十六进制的字符串;
3对抗JD-GUI原理
通常在对apk进行反编译的时候用到的最多的两个工具就是apk-tool和dex2jar。得到jar文件以后就可以利用JD-GUI将得到的jar文件打开就可以直接查看apk的java源码了。我们在用JD-GUI查看源码时有时有些函数的根本看不到直接提示error错误,我们就利用这点来保护我们的apk。JD-GUI经过混淆处理的jar里面的class字节码文件转成java文件时,当遇到函数中根本走不到的分支的特殊实现时就会提示函数error。这时我们只要查看这些提示error的文件或者函数对应的源码是有什么语句引起的,将这些语句加到我们的源码中就可以防止利用JD-GUI去查看我们的apk源码了。(特殊分支语句以便用来保护我们的apk)