使用工具:apktool
apktool d test.apk
cd test
修改想要改的内容,比如,要修改targetSDKVersion:
- 打开apktool.yml ,找到
初学者---饿着,傻逼着
使用工具:apktool
apktool d test.apk
cd test
修改想要改的内容,比如,要修改targetSDKVersion:
Google最近开源了一份 “Google’s Engineering Practices documentation”,狗家工程实践文档。这份文档主要从两个角色出发,结合Google的工程实践,来针对code review娓娓道来:
Code review的最终目的是确保我们的代码库中整体的健康程度可以随着时间的推移可以不断改善,整个review过程,使用到的工具、定制的流程,都是为此服务。
在实践中,遵循上述原则,就不得不做出一系列的平衡、取舍。
more >>The primary purpose of code review is to make sure that the overall code health of Google’s code base is improving over time. All of the tools and processes of code review are designed to this end.
In order to accomplish this, a series of trade-offs have to be balanced.
今年I/O大会关于Flutter部分最大的动作之一就是Google Flutter团队宣布Flutter开始支持全平台,包括了移动设备(Android & IOS)、Web、PC(Windows、Mac和Linux)以及嵌入式设备 https://developers.googleblog.com/2019/05/Flutter-io19.html
足以证明Google对Flutter,甚至可预见是对Fuchsia寄予的厚望。
其实久仰Flutter的大名了,但是由于实际项目中没有用到,一直处于观望和碎片时间阅读一下文档和demo的状态。顺便说下,个人感觉对于技术,特别是这种在国内来说算是比较新的技术,一定要读原汁原味的英文原版文档,跟别人嚼过的还是不太一样的,而且还把英文练了。我就是在地铁上通勤时间读了dart 和 flutter的官方文档,阅读英文文档其实没有想象那么难。 dart-language-tour、flutter docs 。今年的I/O大会详细关注了和flutter、dart相关的部分。最近小组有一个项目恰好不用集成到系统大包中,仅供给测试人员使用,所以就用了flutter来开发,所以有很多感触,今天整理一下。
闲言碎语不多讲了,先说下初体验吧:
首先是爽,dart的现代化语法、flutter返璞归真的思想(一切皆widget)都让人感觉爽,当然,还有官方最为津津乐道的Hot Reload。
more >>Settings这个类中声明了一系列继承自SettingsActivity的静态内部类,比如 BluetoothSettingsActivity,除此之外,声明都没干, 这些类都是干什么用?后面会有答案
起点和重点就在这个类:
SettingsActivity extends SettingsDrawerActivity
从onCreate说起:
|
|
组内有一个项目,需求是开机就启动,初始化参数,并监听一些诸如BLE、车身信号、云端push等事件,trigger对应的business logics。
Review代码时,发现作者将所有的代码实现一股脑放到了Application的onCreate中,No Activity, No Servcie, Nothing but Application.关键是这些实现还是经过测试验证整个流程没问题的。询问了作者时候发现这一切都是因为在AndroidManifest清单文件的application 设置了:android:persistent="true"
这个看起来很牛逼的东西之前没有用到过,是因为之前做的都是第三方APP,用也白用。现在我们做系统级应用,就可以开心的使用了。使用之后的效果就是,在系统开机的时候此应用的进程会被自动唤醒,并执行到Application的onCreate中。所以以上代码实现和效果就解释得通了。
但是心中的疑惑远远没有释怀,直觉告诉我,这么做是不合理的,所有的业务在Application中就做了,那Android设计的所谓“四大组件”岂不是对于我们这种APP形同虚设?带着各种疑惑,去查看了一下Android官方的文档,并且,RTFSC。现在尝试把过程记录一下(但并不代表疑惑都解除了)
more >>
这两天在地铁上刷完了一遍《寻梦环游记》,值得二刷,三刷。Pixar出品,必属精品。
它的灵感来自于墨西哥亡灵节,给了我们一个新的角度认识死亡:“死亡并不是真正的告别,忘却才是”。
有好多细节能触动人心,而贯穿整部电影的就是亲情,就是家庭。文化虽不同,但是这些情感却相通。想要表达的东西很朴素,但是表达方式却很高级。总归一句话,推荐大家看看。
该说说《清风亭》是什么了。
最近研究腾讯的开源项目tinker: https://github.com/Tencent/tinker看到一段有意思的注释:
不禁让我想起了上学时一道著名的语文考题:这段注释表达了作者什么样的思想感情?虽然这种题作者本人都不一定能答对,但是我还是想斗胆揣摩一番(如果本文哪天万幸被张绍文大神看到,可以指导一番哈)
邵文同学一定是对当前国内移动开发者,尤其是Android开发者(我不单单指程序猿)为了自己所谓的到达率、DAU、UV等等数据的好看而牺牲用户的资源、性能、体验,无所不用其极的行为的一种不齿。以至于出现了各种各样的所谓保活方案:https://www.jianshu.com/p/63aafe3c12af 。但他又不得不这么干,因为这个关键服务如果死掉,他的核心业务也就不存在了。
more >>原创 2017-11-18 鸿洋 鸿洋
注:本文为搬运鸿洋大神公众号内容:https://mp.weixin.qq.com/s/QVOYF2nfoWMCbM5YsxQgRQ,纯粹为方便学习和参阅,感谢大神精彩的整理和总结,如有侵权,请告知
又到周六了,鸿洋的不定期的周六放送又来了~~这次来谈谈性能优化吧。大家在工作中或多或少都会拿自家的应用和竞品app做比对,不可避免的需要做一些app性能优化的活。很多时候可能是策略上的调整,不过还是有非常多的通用的方式。
一般情况下,我们谈性能优化基本上会从以下几个方面:
Android Studio 提供一个名为 Lint 的代码扫描工具,可帮助您发现并纠正代码结构质量的问题,而无需实际执行该应用,也不必编写测试用例。该工具会报告其检测到的每个问题并提供该问题的描述消息和严重级别,以便您可以快速确定需要优先进行哪些关键改进。此外,您可以调低问题的严重级别,忽略与项目无关的问题,也可以调高严重级别,以突出特定问题。
我们除了测试 Android 应用以确保其符合功能要求外,还必须确保代码不存在结构问题。结构混乱的代码会影响 Android 应用的可靠性和效率,增大维护代码的难度。例如,如果 XML 资源文件包含未使用的命名空间,则不仅占用空间,还会导致不必要的处理。其他结构问题,例如使用目标 API 版本不支持的已弃用的元素或 API 调用等,可能导致代码无法正常运行。
more >>
缺失模块。
1、请确保node版本大于6.2
2、在博客根目录(注意不是yilia根目录)执行以下命令:
npm i hexo-generator-json-content --save
3、在根目录_config.yml里添加配置:
jsonContent: meta: false pages: false posts: title: true date: true path: true text: false raw: false content: false slug: false updated: false comments: false link: false permalink: false excerpt: false categories: false tags: true