2017 年 09 月的存档

Android应用耗电量分析与优化建议

Battery Historian工具使用 Battery Historian 一款由Google提供的Android系统电量分析工具,从手机中导出bugreport文件上传至页面,在网页中生成详细的图表数据来展示手机上各模块电量消耗过程,最后通过App数据的分析制定出相关的电量优化的方法。 https://github.com/google/battery-historian 运行环境 根据gitbub上面介绍,Battery Historian工具的安装有两种方式: 通过安装Docker环境来安装。(这种方式很简单,推荐使用) 安装GO环境、Python、Java环境。(安装比较繁琐感兴趣可以去GitHub上看看) Docker环境 Docker ......

结合HierarchyViewer和APK文件反编译获得APP元素id值

我在HierarchyViewer中查看“发布”这个View,HierarchyViewer显示了一个@414a54c8和id/flipper_head_action。注意:@后加一串16进制数并不是这个view的id,而只是一个对我们人类没有任何意义的指针值。 但是我们有这个元素的id名flipper_head_action。我们需要按图索骥,按这个id名找到对应的数值。 解决步骤: 1.下载反编译器dex2jar,和一个java源代码查看器jd-gui 下载地址: https://code.google.com/p/dex2jar/downloads/detail?name=dex2jar-0.0.9.13.zip&can=2&q= https://code.google.com/p/innlab/downloads/det ......

如何在Eclipse中编译hierarchy viewer (基于Windows)

首先,你要保证你的手机能够开启View Server,具体见http://maider.blog.sohu.com/255448342.html 按照http://uiuno.com/2017/09/26/a114401/里的步骤操作即可将hierarchyviewer2的源码导入Eclipse并运行. 2013.3.15更新:在android源码android-4.2.2_r1分支之前,hierarchyviewer2的源码位于 SOURCE_ROOT/sdk/hierarchyviewer2文件夹内,而在android-4.2.2_r1分支之后的源代码,hierarchyviewer2的源码移至了SOURCE_ROOT/tools/swt/hierarchyviewer2文件夹内.本篇文章后续内容按照android-4.2.2_r1分支之前的代码结构讲解。而若 ......

如何在Root的手机上开启ViewServer,使得HierachyViewer能够连接

前期准备: 关于什么是Hierarchy Viewer,请查看官方文档:http://developer.android.com/tools/debugging/debugging-ui.html。个人理解:Hierarchy Viewer能获得当前手机实时的UI信息,给界面设计人员和自动化测试人员带来极大的便利。 在Android的官方文档中提到: To preserve security, Hierarchy Viewer can only connect to devices running a developer version of the Android system. 即:出于安全考虑,Hierarchy Viewer只能连接Android开发版手机或是模拟器(准确地说,只有ro.secure参数等于0且ro.debuggable等于1的an ......

Android获取真正准确的分辨率的不同方式,区分Android版本

文章摘至:http://blog.csdn.net/tc839706407/article/details/50906962 最近因为android设备分辨率的问题被坑惨了,另一方面,公司的美术团队被我也坑惨了,虽然看起来问题不在我,但是这个锅该我来背,毕竟测试分辨率的代码是我写的。网上到处流传的都是各种getMetrics()方法,我也深信这种方法是对的,用了3种大体相同细节不同的方法来测,都得到同一个结果1280×672,dpi 160,看起来很不顺眼是吧,我也觉得,而且在刷系统之前测得的分辨率是864×480 dpi 120 ,2中分辨率的比例也变了。虽然觉得奇怪,但是大家都没有 ......

android:configChanges属性总结

android中的组件Activity在manifest.xml文件中可以指定参数android:ConfigChanges,用于捕获手机状态的改变。 在Activity中添加了android:configChanges属性,在当所指定属性(Configuration Changes)发生改变时,通知程序调用onConfigurationChanged()函数。 设置方法:将下列字段用“|”符号分隔开,例如:“locale|navigation|orientation”   “mcc“ 移动国家号码,由三位数字组成,每个国家都有自己独立的MCC,可以识别手机用户所属国家。 “mnc“ 移动网号,在一个国家或者地区中,用于区分手机用户的服务商。 “locale“ 所在地 ......

Android scheme呼起App

Android应用/组件间通信有一种方式是intent,应用可以注册intent filter声明自己对什么样的intent感兴趣,其它应用发送intent时通过系统级广播传递过来,如果与预先注册的intent filter匹配,应用将收到该intent(无论应用是否正在运行,都会被“唤醒”,也就是隐式启动Activity),取出intent携带的数据,做进一步处理 就是这样,通过系统广播拿到一次起来的机会,例如在manifest里静态注册intent filter声明自定义scheme: <activity android:name=".MainActivity"> <intent-filter> <action android ......

WePhone开发者的悲剧,无关是不是程序员

本文转载自: https://www.chandashi.com/yunyingquan/ 前几日,WePhone应用的开发者纵身一跃,结束了自己年轻的生命。于前因后果,此不想再诉,蝉大师APP数据分析平台,无心也无力将整个事件再来一次抽丝拔茧,因为我们不想再加剧任何人的痛苦。但对于这位WePhone开发者来说,他的悲剧,是在对的时间里,通过错误的平台,结识了本该此生陌路的人,并且还组合了一桩荒唐的婚姻。3月认识,6月结婚,7月离婚,这如何不荒唐?怎能不荒唐? 它真的很荒唐! 如果时间可以重来;如果他能花更多时间去了解他的妻子;如果他对结婚不是那么的草率 ......

Android 主流App应用市场

百度:http://app.baidu.com
小米:http://dev.xiaomi.com/console/
vivo:http://dev.vivo.com.cn
360:http://dev.360.cn/
应用宝:http://open.qq.com
华为:http://developer.huawei.com/
oppo:http://open.oppomobile.com/newuser/login
魅族:http://open.flyme.cn/?t=1489458048989
pp助手、豌豆荚(合为阿里分发):http://open.uc.cn/notice
联想乐商店:http://open.lenovo.com/developer/
乐视商店:http://open.le.com/dev-web/
搜狗开发者:http://zhushou.sogou.com/open/
应用汇:http://dev.appchina.com/dev/index

彻底解决Android 应用方法数不能超过65K的问题

尊重原创 :http://blog.csdn.NET/yuanzeyao/article/details/41809423 参考文章:实现Android 动态加载APK(Fragment or Activity实现) 作为一名Android开发者,相信你对android方法数不能超过65K的限制应该有所耳闻,随着应用程序功能不断的丰富,总有一天你会遇到一个异常: Conversion to Dalvik format failed:Unable toexecute dex: method ID not in [0, 0xffff]: 65536 可能有些同学会说,解决这个问题很简单,我们只需要在Project.proterty中配置一句话就Ok啦, dex.force.jumbo=true 是的,加入了这句话,确实可以让你的 ......