Android开发常用工具(二),第1张

1、TAPD

腾讯出品,用于软件研发流程控制:产品提需求->根据需求分配任务->完成任务提测试->测试完成->发布版本,一整套工作流程都可以在上面实现。记得15年时,我们的工作模式流程是全部分开的,产品写需求在word文档存在svn,开发想看要先在svn下载,测试提测是通过在禅道上提测。

2、TIM

比QQ好用,专注于办公模式,没有杂七杂八的功能。

3、Putty

用来连接远程 登录 linux服务器,部署项目,jenkin等等 。

4、FileZilla

FTP软件,分为客户端版本和服务器版本,具备所有的FTP软件功能。android开发中用于上传apk包到服务器或者从服务器下载apk包。

5、Total Control

是一款将手机屏投射到电脑屏,用电脑实时控制手机的软件。可以不用低头看手机啦,但有个缺点,连接手机后点击编辑框软键盘不会被弹窗,可能是没设置好,也很少用这个软件。

6、scrcpy

Github上的开源项目:https://githubcom/Genymobile/scrcpy,Android投屏神器,相比Total Control ,质量高清,低延迟,启动快,非侵入性。

7、Chrome

谷歌浏览器,非常简洁,适用于开发办公,很喜欢书签的保存功能,用来保存Jenkins打包、测试服操作日志、测试服后台管理系统、免费看球的链接等等。

8、向日葵

远程控制电脑软件,疫情期间用于在家办公想控制公司电脑,相比其它远程控制软件,延迟低,连接快。

9、Proxifier

全局代理软件、配合shadowsocks等可实现全局软件科学上网。

10、Notepad++

像记事本一样,小巧、免费的纯文本编辑器,内置支持多达 27 种语法高亮度显示(囊括各种常见的源代码、脚本),可以方便用来编辑shell脚本、查看代码等等。

最近被一个问题纠缠了好久,终于找到解决办法,这里做个记录。

我们做的一款游戏在编辑器里跑的好好的,一打包的手机上就各种崩溃;

而且是不确定什么时候出现,用logcat查看了系统日志,就看到是异常地址访问的log,没有什么有价值的信息。

重复试了好多次之后,发现每次进一个测试关卡的时候必闪退,于是一路上加日志,希望能知道是哪一句导致程序崩溃。

加到最后,场景加载完了,一切都正常。可以推断加载场景过程没问题,应该是在某一个组件脚本的update里面出问题的。

这下线索又断了,因为挂update的组件太多,而且不知道有哪些组件运行;这里就想到一个想法,我们以后的代码应该都由程序自己去调用update,

不要直接用u3d的update,这样我们可以很容易的知道哪些代码在运行,而且是可以保证调用次序的。

接着想了个办法,就是进场景后,逐个把有update的函数禁用,发现某个组件禁用后就不闪退了,于是问题定位到这个组件的update函数。

通过逐条的增加日志,最终定位到一个空引用访问上,导致程序在安卓机上闪退!怀疑是安卓sdk在运行时的jit直接变成了机器指令,导致可能的空异常。

这个问题让我很惊讶,原来以为会抛出空引用异常,没想到很c#的空指针访问一样会导致进程崩溃。于是组织大家把所有可能为空的地方排查可一遍。

另外在编辑器里没问题,是因为编辑器里加载资源是同步加载的,所以加载完直接使用加载后的对象是没问题的;

但是在手机上要从assertbundle中加载,使用了异步过程,会导致后续的访问可能存在访问空异常;

于是把编辑器里的加载也改成异步加载,编辑器中就能跟手机上一样的加载过程,尽量暴露手机上运行可能出现的问题

使用工具包中的android-reverse-trinea\apktool-152-windows或下载最新的apktool(需同时下载apktool及对应平台的依赖包,解压后将平台依赖包中的apktooljar复制到apktool目录下),在命令行运行:

apktoolbatd-fxxxapk xxx

其中d表示解包,xxxapk为待反编译apk路径,xxx为目标文件夹名,(apktool不支持中文目录),结果会再apktoolbat所在目录下生成weixin文件夹,现在就可以正确的查看xml资源(包括res下的所有资源,如、drawable、layout、value、menu等等)了,比如AndroidManifestxml

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » Android开发常用工具(二)

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情