H3C NX54不关ipv6防火墙,允许外网访问内网
如何构建一个pdfium.so
前言
项目中接入了打开pdf文件的功能,使用的是https://github.com/barteksc/PdfiumAndroid/。现在想升级一下pdfium库,旧库具体原因就不解释了,毕竟这个项目最后一个commit在6年前,当然,平常用来接入打开pdf也是没问题的。
开源库
在google一通搜索,发现pdfium库包含两套,一套在aosp中,另一套在chromium中。
- https://android.googlesource.com/platform/external/pdfium/
- https://pdfium.googlesource.com/pdfium/
两款代码应该差不多,aosp的构建使用Android.bp,版本要比pdfium版本的落后一些。再看PdfiumAndroid项目README,第一句就说Uses pdfium library from AOSP,使用的库应该也是aosp的库。
构建aosp版
准备
- ubuntu 可以使用virtual box去装个虚拟机
- 200GB以上硬盘空间,清华会推荐你下载aosp-latest.tar再解压,光压缩包80G了,解压完我就把tar包删了
获取aosp源码
推荐使用清华镜像https://mirrors-i.tuna.tsinghua.edu.cn/help/AOSP/,可结合google的官方说明https://source.android.com/docs/setup?hl=zh-cn。具体指令就不介绍了,主要是repo sync费时,注意选好你想构建的build tag。
H3C NX54路由器如何永久开telnet,永久关闭ipv6防火墙
重学安卓之Jetpack
第一次尝试frida
前言
大概半个月前,群里的一个小伙伴问,谁能把某电商APP的订单列表导出到电脑,有个私活,报个价。其实我对这种稍微有点了解,无非是抓包,破解。但通常App的网络请求会有一套签名验证机制,所以要想模拟出整套请求流程,也算比较复杂。和群里的讨论后,觉得用hook做合适,但群里和我一样,都是安卓开发,没有逆向工程师,首先想到的是xposed。
xposed太重
我之前倒是写过xposed,xposed缺点有两个,第一就是环境复杂,你得安装xposed环境才可以,目前都是通过virtual xposed来使用。再就是插件一但有修改,就得重启手机。不过这也带来了一个有点就是持久化,只要装进去,就一直存在。那有没有更轻量级的工具可以达到这种效果,后来在网上找到了frida。(这也好几年了,我居然不知道)
重学安卓之kotlin协程
导读
因为2021年开始做C++,之前的项目还没来得及怎么用kotlin,就直接被爸爸宣布死刑了。所以目前找工作等于需要再学一次kotlin,特别是协程,之前几乎没有了解。买了本书,再加上网上的各种文章,整理一点笔记出来。如果有和我差不多的,可以看一看
协程,协程可以理解为某种自由调度的任务,主要是对函数挂起,恢复。听起来像线程的唤醒,本质上和线程没什么关系。使用协程,我们可以以单线程的方式写多线程的代码,同时还能节省线程资源,并且能方便处理异常信息,返回结果等。我们给函数前面加一个suspend
关键字,就变成一个挂起函数,可以在函数内操作协程的挂起和恢复。其中部分内容有重复,不必理会。主要参考资料<深入理解Kotlin协程>,算是一个简单的笔记整理。
协程的API
什么是挂起
记一次编译安卓模拟器镜像
使用jenkins为android工程打包,支持多包名,改资源(优化方案)
需求
没有需求,自己看了一眼自己之前写的打包脚本,简直无法看下去。而且,产品经理的定制化需求越来越多,用shell脚本的可读性也越来越差,再加上里面一堆的sed命令,惨不忍睹。
改!!!
分析
gradle其实支持自定义参数,关于自定义参数的介绍,参考官方文档:https://docs.gradle.org/current/userguide/build_environment.html,简单说一下用到的:[Gradle properties](https://docs.gradle.org/current/userguide/build_environment.html#sec:gradle_configuration_properties):