Pig Cat

Full-Stack, Android, AI

当Google关心起你的健康数据

操碎了心的谷歌。

此文为初稿备份,终稿已发布于少数派:https://sspai.com/post/77024 今年五月,在 Android 开发者官方博客中,Google 隆重介绍了一个新平台,名为 Health Connect,并推出了相应的 Android API。其官方网站用非常显眼的大标题和副标题简洁地描述了其核心功能与优势:简化健康类应用之间的连接。 Health Connect: simpl...

让终端命令更有时间观念

摸鱼吗?

背景 我们无论是在Mac还是Linux平台上工作,都避免不了要使用终端来执行命令。然而系统默认的终端功能非常简单,没有命令建议、自动补全等功能,对强依赖终端的工作者来说很不友好。 还好有oh-my-zsh,它对zsh进行了增强,不仅有丰富的插件,还可以自定义主题配置。了解或使用过它的同学一定会觉得非常香。这里引用一篇少数派作者之前的文章,我就不赘述它的好处了:Oh My Zsh 配置指南 使...

简单几步实现内网穿透

摸鱼吗?

场景 为了避免阐述过多理论,我们直接从需求场景入手,来了解一下为什么需要内网穿透? 小明是少数派的一位咕咕作者,在家里电脑稿某文稿了一半,到公司后打算摸鱼继续稿,怎么办呢(此处假定他没有使用任何云同步软件,也不会使用git,就算会用他也忘了提交)? 此时,小明想通过ssh等远程访问设备文件的方式来下载家里那半稿子,但他的家庭网络是没有分配公网IP的,无法通过互联网直连。内网穿透就这样派上用...

谁家推送服务限制最严格

序列未来!

先说句题外话,又过了这么多年了,没想到国内Android的统一推送还是没有实现。 由于工作需要,最近正好在调研各家系统推送服务,我发现从他们的技术文档可以分析出很多有意思的东西,比如说能看出来哪家厂商的推送限制最严格,最考虑用户的综合体验。在讲解之前,我们先简单提几个推送服务的基本概念: 设备:用户所持有的某台设备,在技术文档中所提到的日活跃用户数一般也就指日联网设备数 应用:某台设备...

解决iptables导致无法联网的问题

啊这~

问题 先说下我的单机环境是Ubuntu 16.04,只放了点小应用,一直没升级系统(懒),防火墙规则也是简单地使用iptables来控制。 今天我因需要重启服务器之后,发现突然连不上了,ssh无法连接,ping也不通,我开始慌了。于是我只能进入云服务器商的后台,用网页版登录,不管你是阿里云还是腾讯云还是国外的服务商,现在大多都有这种功能。 进去之后,先任意ping一个公网IP,提示 “Net...

无需电脑如何执行adb shell命令

新玩意儿。

背景 ADB(Android Debug Bridge),是调试Android设备的一个命令行工具。对开发者来说,ADB自然是日常工作的得力助手;对我们业余玩家来说,它也可以用来控制一些默认情况下接触不到的功能设置。 在早期的Android平台上,我们只能通过USB数据线连接电脑和手机,然后再在电脑上使用ADB工具,前提是已经在开发者选项中开启了USB调试开关。 从Android 10开始,...

Rust为Android应用编译so库

新东西来啦!

前言 Rust是个好东西,Google也开始把它用于AOSP了。我们开发应用同样也可以使用Rust来编写原本为C++的Native代码。网上搜罗一圈,入门的文档不多不少,这里稍微归纳整理一下吧,毕竟Hello World是人类的一大步。 安装Rust Rust的文档真的非常棒,目前的翻译版本也几乎满足所有学习需求。安装很简单,参考官网(Rust-lang.org)即可,一行命令: curl ...

Android手机如何修改DPI触发平板模式

从最根本动手。

前言 目前,微信可以支持平板和手机同时登录,不过并不是所有人都有Android平板设备。实际上,我们可以修改系统文件来达到目的。 我看了下网上(主要是酷安社区)很多方法其实都已经过时了,包括一些修改工具App。所以你以为改了实际上对微信没用,会发现其他软件都受dpi影响了,但是打开微信还是正常的手机分辨率,也就触发不了平板登录。 分析 下面我简单说一下原因,主要是很多ROM随着版本升级,可能...

个人网站Log4j2漏洞风险排查

世纪漏洞。

前言 Log4j2漏洞事件已经过去了几个月,影响面可以说是非常的广。本质上还是权限和代码注入问题,这里就不作赘述,和SQL注入在原理和形式上都异曲同工。 我个人没太明白还是,如此流行的开源库,竟然开发者和使用者这么久都没发现这个巨大漏洞(可能早有人发现但并未公布),而且作为一个日志记录工具,权限未免太高。 修复 从互联网上可以查到最新的修复建议: 升级到最新版本: 目前官方已推出最新A...

解决Android Studio升级到Arctic Fox后编译失败的问题

我都不知道为什么我能解决。

问题 从Android Studio 4.1.3升级到最新的Arctic Fox之后,整个组件化工程会编译不过。 编译错误显示: e: [kapt] 'com.sun.tools.javac.util.Context' class can't be found ('tools.jar' is absent in the plugin classpath). Kapt won't work...

Apache和PHP环境打开php页面File Not Found问题

一些无聊的小问题。

问题 之前搞了个腾讯云的轻量应用服务器(预装环境LAMP)来玩,结果最近发现网站目录下面的php文件访问不了,在浏览器打开就出现“File Not Found”的提示。 搜罗了很多答案,没有一个明确能解决问题的,不过还是得到了一些启示。下面属于我的个例,不一定能解决所有此类问题。 解决 腾讯云的这种服务器预装的软件都在此目录下面,包括相关配置: [root@VM-0-15-centos ~]...

IDE Eval Reset忘了重置进不去怎么办

偶尔探索一下,就能解决全网问题。

问题 我相信很多白嫖怪都知道目前JB全家桶“极为先进”的使用方法——其实就是无限重置30天(IDE Eval Reset)。具体使用方法就不赘述了。 这里会出现一个问题,尤其是针对电脑上安装了多款JB家的IDE用户来说(比如我就是,IDEA、PyCharm和CLion都在使bai用piao),如果超过30天未打开其中某个IDE进行试用重置,那么你就会发现打不开了,要求你补充License,而...

Android Shortcut启动导致其他Activity销毁问题

小问题而已。

问题 我们都知道,从API 25开始,Android加入了类似3D Touch一样的功能,即长按桌面图标可以弹出快捷方式菜单(最多4个)。早期国产系统的桌面Launcher并没有积极适这一功能,所以各大应用也懒得做,后来才逐渐完善。目前包括微信、支付宝等都可以长按弹出快捷方式,支付宝更是支持动态配置。 开发文档直接看官方的就行:https://developer.android.com/g...

聊一聊MIUI最近更新的原子内存

是黑科技还是噱头?

前言 比起最近雷布斯的个人演讲,其实我更好奇MIUI 12.5增强版(超级Bug-list修复版)推出的那四个性能优化项目: 焦点计算 - 处理器智能调度机制 原子内存 - 精细化内存管理机制 液态存储 - 文件存储管理机制 智能均衡 - 对旗舰硬件性能的智能调配 作为技术爱好者,这个“原子内存”还真是提起了我的兴趣,因为其他三项还算比较好理解。毕竟内存管理这件事,是操作...

最简单改变状态栏文字及背景颜色的方法

不要再吃老本了。

问题 我们知道,Android的状态栏(StatusBar)是可以由开发者自行更改背景颜色的,至于文字颜色,不能直接由自己修改色值,而是黑白两种颜色,对应的是Light和Dark两种全局主题模式。 为了良好的用户体验,我们在状态栏背景为深色时,需要给予白色字体,反之亦然。比如这样: 然而,有些时候我们在Light Mode下并不需要黑色字体,就需要自己手动修改了。 方法 以前我们修改状态栏...

安装Anaconda后终端base前缀问题

杂七杂八。

问题 最近想训练个小模型来用用,于是乎我在macOS安装 Anaconda | Individual Edition ,选择的是图形界面安装(64-Bit Graphical Installer),整个过程很顺利,一路下一步就行了。 然鹅,安装完之后,我发现我的终端命令行前缀出现了一个base,像这样: (base) -> ~ 这就很无语。 原因 猜测原因应该是Anaconda安装后...

我的2021 Google IO大会之旅

一次特别的会议。

2021年的 Google I/O大会 已经圆满闭幕,我们从下面几条官方的FAQ可以看出今年大会与往届有所不同: 2021年Google I/O大会主要面向哪些人群? 全球范围内对Google技术感兴趣的开发者都应关注此次大会,以便了解最新的产品发布、Google专家的行业洞见,并进行实践性学习。 Google I/O 2021大会的举办时间和地点? 2021年开发者大会将于5月18...

忘了买电脑音响?手机来替代!

指条明路。

背景 前段时间把吃灰的台式电脑搬出来用,我竟然忘了它没配音响,可我现在就想玩游戏听音乐,也不想买音响,怎么办?除此之外,我相信很多公司的办公台式电脑也是没有带音响的,老板告诉你:上个班还要听啥响?好好搬砖就行了。但有时候加班到四下无人的时候,确实会产生一种想要外放音乐的欲望。 此情此景,我摸了摸我的双扬声器小米10,不仅感叹道:你就是个天生的便携音响呀!于是,我开始寻找让手机和电脑通信并传输...

QQ闪照保存小妙招

指条明路。

QQ闪照 在IM工具中,QQ较之于微信一直是比较前卫的,毕竟年轻用户居多。比如QQ闪照就是一个有趣的功能,而且已经推出很久了(记得大概是V6.5左右):不管单聊还是群聊都可用,在发送图片时勾选闪照即可,发送成功后所有人都只能看5秒,时间结束后图片被“销毁”,UI层面被打上厚厚的马赛克。 这个功能一经推出,不少老司机可谓是既爱又恨,我们暂且不说其功能意义和影响。但是相信大家都思考过,怎么把闪...

macOS备份迁移系统偏好设置

指条明路。

场景 不知道诸位在使用macOS时是否遇到过这样的场景:有两台电脑,想把旧电脑中的系统偏好设置原封不动地迁移(导入)到新电脑中,只关心这些设置,不想迁移其他东西。 解决 方案1:官方迁移助理 其实官方提供了一个方案,叫“迁移助理”。具体操作步骤可见文档:将内容迁移到一台新的 Mac 上,不仅可以迁移系统设置,还包括整个用户帐户下的文件、应用程序等。 如图,我们可以在此步骤中只选择“系统与网...