不自重者,取辱。不自长者,取祸。不自满者,受益。不自足者,博闻。

在之前的文章“【工具】统计jar包和apk中的java方法数”中,给大家分享了两个统计工具,分别是统计jar包种的java方法数工具jarmethod,和统计apk文件中所有的java方法数工具apkmethod。但在项目中,我发现这个还不够,因为我还想要去统计每个package中的java方法数,当然,这个工具就比前面两个要复杂一点点了。

#Android #统计方法数 浏览(1758) 阅读全文 评论

转载一篇文章,虽然有点儿老了,但对了解Android系统架构,还是非常有帮助的!


导读:Sans Serif是Google的一位工程师,近日发布了一篇博文非常清楚的描述了Android系统架构,中国移动通信研究院院长黄晓庆在新浪微博上推荐了该文,并认为文中对Android的介绍很好,如下是CSDN对文章的简单翻译:

#Android #Android系统架构 浏览(615) 阅读全文 评论

在部分Android手机(如MT788、Note2)上,使用Camera拍照以后,得到的照片会被自动旋转(90°、180°、270°),这个情况很不符合预期。仔细分析了一下,因为照片属性中是存储了旋转信息的,所以要解决这个问题,可以在onActivityResult方法中,获取到照片数据后,读取它的旋转信息,如果不是0,说明这个照片已经被旋转过了,那么再使用android.graphics.Matrix将照片旋转回去即可。

1、读取图片的旋转属性

#Android #拍照 #照片被旋转 浏览(4651) 阅读全文 评论

项目上使用到WebView的场景很多,但一直没有一个能通用的组件,没人都是根据自己的需要自己写了一套,其实仔细比对,会发现所有人写的WebView Activity都长的差不多,只不过有的需要cookie、有的需要js Interface,有的两个都需要,有的两个都不需要。于是,这两天起了一个技术项目,新开发一个通用一点的WebView Activity,然后把项目中所有用到WebView的地方,都用这个新的Activity替换--TbWebViewActivity。

1、Daily Build版本:在每天RD提交代码后,次日早上获取,并携带4位小版本,如:5.4.0.1

2、灰度版本:即小流量发布的版本,对于大用户规模的产品来说,是有必要先发布一个小流量版本给特定批次的用户,以此收集用户反馈、crash率等;灰度期间的版本与上一个正式发布版本的版本号相同(AndroidManifest中,如:5.3.2),目的是防止被各种手机助手抓包并分发,用户规模被恶意扩大;但在客户端About页显示为新版本,如:5.4.0

3、正式版本:即全流量发布的版本,客户端中的所有版本号都将比上一个正式版本大,如:5.4.1


#android #版本控制 浏览(1127) 阅读全文 评论

之前做Web项目的时候,经常会使用Fiddler(Windows下)、Charles Proxy(Mac下)来抓包,调试一些东西;现在搞Android App开发,有时候也需要分析手机App的网络请求,包括参数、返回值等。在Mac上也是可以继续使用Charles Proxy来抓Android App发出的网络包的,大概的几个步骤:

1、保证手机和Mac连接的是同一个无线局域网

2、在Mac上打开Charles Proxy,菜单栏操作:Proxy→Proxy Setting,检查端口,一般保持默认,HTTP Proxy端口为8888

3、查看Mac当前的IP地址,之后作为手机的Proxy IP用: