腾讯优测干货精选| 安卓开发新技能Get -常用必备小工具汇总
文/腾讯公司 陈江峰
优测小优有话说:
移动研发及测试干货哪里找?腾讯优测-优社区你值得拥有~
开发同学们都知道,安卓开发路上会碰到很多艰难险阻,一不小心就被KO。这时候,没有新技能傍身怎么行?今天我特意将自己使用过的安卓开发小工具进行了汇总,希望与大家共同进步。 话不多说,实用工具大讲堂现在开始!
Lint(清理资源、安全检查、layout优请输入代码化等) 一般在提测前清理一下冗余资源,查一下有没有用了一些高API Level才有的接口,查一下安全问题。 Findbugs(检查java代码缺陷) 在开发工程中就可以对单个文件进行检查,有问题可以及时处理。
遇到内存或者性能问题时,一般会结合几种工具来查问题,找解决方法。
Method Profiling(统计方法耗时)
Eclipse Class Decompiler(从此Eclipse不怕看不到jar包内的代码了)
Hierarchy Viewer(查看Activity堆栈、layout加载层次、像素眼) 只能连接开发板手机或者模拟器,如果你的手机连不上,搜一下“Hierarchy Viewer 真机”,各种教程教你如何连上。 Activity太多,有时问题看看过来,但又想不起这个页面叫什么名字,插上去,一目了然。
很清晰看出Layout布局层次,还能显示计算layout耗时,绘图耗时,UI性能优化好帮手。
TinyPNG(压缩图片资源利器,山崩地裂推荐)
7z(压缩APK利器,上线前压一下就可以,简单实用,五星推荐)
Apktool、Dex2jar 、jd-gui(反编译套装,你懂的) )
MarkMan(设计师何苦为难工程师)
Beyond Compare(各种神对比,我喜欢对比代码)
Tcpdump(Linux dump包工具) adb shell tcpdump -p -vv -s 0 -w /sdcard/capturenet.pcap WireShark(查看网络dump包) 遇到棘手问题时,还是需要他们帮忙解决的。
CMD(很简单的脚本却能大大提高效率,大家多学多分享) 一些经常操作的动作,使用手工操作又耗时又麻烦还可能出错,使用命令行去操作的话会极大提供效率。
拖放安装应用,不用再抱怨弹出xx助手xx宝来的蜗牛速度安装了(速度快了,心情好了): adb install %1 pause
卸载应用: adb uninstall com.tencent.qqpim
拉去SD卡目录文件: adb pull /sdcard/qqpim/log c:\qqpimlog
获取联系人db: adb pull /data/data/com.android.providers.contacts/databases/contacts2.db C:\Users\gzjaychen\Desktop\contact2.db
tcpdump包: adb shell tcpdump -p -vv -s 0 -w /sdcard/capturenet.pcap
SDK裁剪打包: 裁目录:rd/s/q S:\qqpim_4.5_sdk_lewa\src\AGJ 裁文件:del S:\qqpim_4.5_sdk_lewa\src\com\tencent\qqpim\QQPimApplication.java
今天总结的就这么多,如果大家有什么想法或经验想与我分享,可以在微信后台留言。另外,开发后的测试步骤怎能少,使用腾讯优测,轻松解决测试问题,让团队高效省心!
utest.qq.com
腾讯优测干货精选| 安卓开发新技能Get -常用必备小工具汇总的更多相关文章
- 腾讯优测干货精选|Android双卡双待适配——隐藏在数据库中的那些秘密
腾讯优测是专业的app自动化测试平台,除了提供兼容性测试,远程真机租用等多维度的测试服务,还有优分享-腾讯内部的移动研发测试干货精选~ 许多APP都希望获取用户通讯录联系人,利用通讯录关系链信息来丰富 ...
- 腾讯优测-优社区干货精选 | android开发在路上:少去踩坑,多走捷径(下)
文/腾讯公司 陈江峰 优测小优有话说: android开发的坑自然是不少,不想掉坑快来优测优社区~ 6.Android APP开发中其它需要提醒的问题 android4.4在UI线程无法进行网络操作. ...
- 【腾讯优测干货分享】安卓专项测试之GPU测试探索
本文来自于Dev Club 开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/57c7ffdc0569a1191bce8a63 作者:章未哲——腾讯SNG质 ...
- 【腾讯优测干货】看腾讯的技术大牛如何将Crash率从2.2%降至0.2%?
小优有话说: App Crash就像地雷. 你怕它,想当它不存在.无异于让你的用户去探雷,一旦引爆,用户就没了. 你鼓起勇气去扫雷,它却神龙见首不见尾. 你告诫自己一定开发过程中减少crash,少埋点 ...
- 【腾讯优测干货分享】如何降低App的待机内存(四)——进阶:内存原理
本文来自于腾讯优测公众号(wxutest),未经作者同意,请勿转载,原文地址:http://mp.weixin.qq.com/s/3FTPFvZRqyAQnU047kmWJQ 1.4进阶:内存原理 在 ...
- 【腾讯优测干货分享】如何降低App的待机内存(三)——探索内存增长的原因
本文来自于腾讯优测公众号(wxutest),未经作者同意,请勿转载,原文地址:https://mp.weixin.qq.com/s/8BiKIt3frq9Yv9KV5FXlGw 1.3新问题的进一步挖 ...
- 【腾讯优测干货分享】如何降低App的待机内存(二)——规范测试流程及常见问题
本文来自于腾讯优测公众号(wxutest),未经作者同意,请勿转载,原文地址:https://mp.weixin.qq.com/s/806TiugiSJvFI7fH6eVA5w 作者:腾讯TMQ专项测 ...
- 【腾讯优测干货分享】越用越卡为哪般——如何降低App的待机内存(一)
本文来自于腾讯优测公众号(wxutest),未经作者同意,请勿转载,原文地址:http://mp.weixin.qq.com/s/1_FKMbi1enpcKMqto-o_FQ 作者:腾讯TMQ专项测试 ...
- 【腾讯优测干货分享】Android 相机预览方向及其适配探索
本文来自于腾讯bugly开发者社区,未经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/583ba1df25d735cd2797004d 由于Android系统的开放策略 ...
随机推荐
- 超简单的NDK单步调试方法
令人兴奋的是,ADTr20已经支持JNI单步调试,再也不需要如上这么麻烦的步骤了 你现在需要做的只需以下2步: 1.使用ndk-build编译时,加上如下参数NDK_DEBUG=1,之后生成so文件之 ...
- 6.1.1Linux下Socket编程
什么是Socket Socket接口是TCP/IP网络的API,Socket接口定义了许多函数或例程,程序员可以用它们来开发TCP/IP网络上的应用程序.要学Internet上的TCP/IP网络编程, ...
- DrawerLayout一个简单的实例(与ActionBar无关)
官方的Demo里有DrawerLayout的例子,涉及到ActionBar,这里不用ActionBar,手痒,写个超级简单的小Demo,备着以后或许会用到. 详细的内容,可以访问:http://blo ...
- 神奇的Noip模拟试题一试 2 排队
2 排队 (lineup.pas/.c/.cpp) [问题描述] 小sin所在的班有n名同学,正准备排成一列纵队,但他们不想按身高从矮到高排,那样太单调,太没个性.他们希望恰好有k对同学是高的在前,矮 ...
- C++-const_cast, reinterpret_cast, static_cast的用法
/////////////////////////////////////////////////////////////////////////////// // // FileName : cas ...
- iOS网页开发技术总结
网页组成 一个有具体功能的完整的网页,一般由3部分组成 HTML:网页的具体内容和结构 CSS:网页的样式(美化网页最重要的一块) JavaScript:网页的交互效果,比如对用户鼠标事件做出响应 H ...
- python常见错误总结
TypeError: 'module' object is not callable 模块未正确导入,层级关系没找对 缩进错误. IndentationError: unindent does not ...
- HTML--11marquee标签
页面的自动滚动效果,可由javascript来实现, 但是有一个html标签 - <marquee></marquee>可以实现多种滚动效果,无需js控制. 使用marquee ...
- 《c语言全局变量的用法》
//全局变量的用法. /*有一个一维数组,内放n个学生的成绩,(n由用户自己指定,通过调用函数实现定义一个数组.)写一个函数,当主函数调用此函数后,能求出平均分,最高分,最低分.*/ #include ...
- c++父类指针强制转为子类指针后的测试(帮助理解指针访问成员的本质)(反多态)
看下面例子: #include "stdafx.h" #include <iostream> class A { //父类 public: void f() / ...