V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  RikkaW  ›  全部回复第 3 页 / 共 6 页
回复总数  116
1  2  3  4  5  6  
@RikkaW Pixel C (
😶 即使一开始有 L1 后面也是可能被撤销的,比如 Pixel 在几个月前被撤销,就会 DRM info 里看是 L1 但是 Netflix 里是 L3
🤔 盲猜一个 输入法必须支持 Direct boot ( https://developer.android.com/training/articles/direct-boot
2020 年 11 月 22 日
回复了 fuxinya 创建的主题 Android Android 11 如何给应用开启 Scoped storage
是什么让你觉得,一个“一键式的能改变使用存储空间的行为,又完全不影正常功能”的东西是可能的 😶
如果 ABC 是 Android 世界的进程用 Binder 是最好的

但是不管怎么样,主进程里做计数是跑不掉的(
2020 年 11 月 5 日
回复了 codeforyou 创建的主题 Android 不懂就问,如何保护 assets 内的文件安全?
客户端的东西默认可以被随便改,通过在 native 部分验证签名配合各种增加破解人工作的特技可以缓解。

运行期间生成的需要保护的数据可以使用 KeyStore 那套,可选使用硬件支持的(背后是 TEE 或专用芯片,没人动得了),不过比较旧的手机很可能没有。
Android 11 的变化只针对 target API 30 的应用。

根据以往经验 Google Play 会在新系统发布的一年后提升 target API 的要求,也就是再过一年多一般人就能享受到一部分好转。为什么是一部分呢,因为各家系统自带的、不上架 Google Play 的、不更新的依然会群魔乱舞(
2020 年 8 月 22 日
回复了 hangjiao 创建的主题 Android 求助贴: Android10 后台持续定位问题
2020 年 8 月 16 日
回复了 PlainTech 创建的主题 Android 无聊写了个小工具,快捷开启无线调试 (ADB WiFi)
两个不痛不痒小建议:
1. getprop 可以用 android.os.SystemProperties#get 替代(避免使用慢到爆炸的 su ),反射或者在单独的 module 中建立 stub 类再 compileOnly 都可以( android.os.SystemProperties#get 不是不可以使用的 hidden api )
2. 里面使用的 ShellUtils 看起来是每次都开一个新的 su 进程,又慢又浪费,推荐使用 topjohnwu/libsu (会共用一个进程)
2020 年 8 月 16 日
回复了 gzxu 创建的主题 Android 是我看走眼了吗?最新 Android 11 依然不会强制 Scoped Storage
真的强制了用户反而会不开心,因为「让存储分开但是应用的行为不受影响」几乎是一件不可能的事情(

在 Android 10 DP2 的确「强制」了,但是旧应用怎么办呢,只能靠奇奇怪怪的让旧应用们「能用」(跟 Rikka 发明差不多,核心靠挂载,辅以各种特技)。DP2 的方案甚至还包括了「媒体存储返回假路径然后 hook IO 函数们在里面帮你用 content provider 」这样过于夸张的特技。但是,特技满天飞,还是有应用会坏掉。大部分的用户只会因为应用坏了而大叫,不会关心分什么区存储。

所以,从 Android 10 DP3 开始,Google 的方案就从「尝试改变老应用行为」变为「行为跟没存储权限几乎一致,靠 Google Play 对 target API 限制来缓步强制应用们适配」。( Android 11 最新的 beta 又加入了又给 sdcard 来一层 fuse,在里面悄咪咪变成用媒体存储,为了让没有脑子的人开发人开心真的是操碎了心)

觉得没什么好抱怨的,只在两个版本的系统就尝试了至少两种完全不同的方案并且真的确定已经是够快的了(
2020 年 8 月 7 日
回复了 MePride 创建的主题 Android 自己的个人 App 被破解了应该怎么办?
核心就是把验证跟干活的部分绑一起写成原生库,怎么做可以随便发挥想象力

顺带一提,签名验证可以做成不走系统 API 直接读 apk 文件的(如何读签名,参考 https://source.android.com/security/apksigning/v2 ),也绑在自己的 native 库里给破解人增加难度

另外,既然是个人作品就别用那些脏脏的奇奇怪怪的加固的东西了(
2020 年 7 月 28 日
回复了 xmt328 创建的主题 Android 混淆参数-printusage 如何将文件放到 mapping 目录
啊 看错(

proguard-rules.pro 变成现场生成的,在 gradle 脚本里大概实现这样的逻辑:
读取 proguard-rules.pro ,加入 printusage 并写到另外的文件,将 proguardFiles 设为这个另外的文件

或许可以(
2020 年 7 月 28 日
回复了 xmt328 创建的主题 Android 混淆参数-printusage 如何将文件放到 mapping 目录
自己什么都不做的情况下本来就是分开的
问题里有个“等”,发出 sendfile 也是系统调用的声音,只要一行就好了(逃跑
2020 年 6 月 27 日
回复了 acess 创建的主题 Android Android 的多用户支持搞得我有点晕了
@acess 扯这么多还不是因为用 adb 安装时没有指定 user,所以脑内没有被安装到了所有用户的概念。正常的安装只会安装到一个用户,卸载时也是从一个用户卸载是符合逻辑的。
另外 apk 只存在一份,不同用户不能拥有不同的 apk 。这么做有一定的道理,因为有些东西是能跨用户工作的(
2020 年 6 月 27 日
回复了 acess 创建的主题 Android Android 的多用户支持搞得我有点晕了
学艺不精才会觉得有问题(
2020 年 6 月 19 日
回复了 cache 创建的主题 Android Android 9 的 native 库安装后放在哪里?
`android:extractNativeLibs="false"` 则 so 不会解压。
AGP 3.6 以上默认 false,会帮你以页对齐且不压缩的形式把 so 塞进 apk,所以运行的时候就可以直接去(
你看你都知道它叫多任务了。在这里,显示的是任务而非应用,比如 Google 文档每个打开文件都是单独的一个任务,在里面加入直接杀掉显然是不合理的(
2020 年 5 月 18 日
回复了 wmui 创建的主题 问与答 独立开发者是如何搞定 UI 的?
两个小建议
1. 对齐和元素之间的间隔一定要做对,可以极大减少“不精致感”
2. 参考系统应用是很好的开始
1  2  3  4  5  6  
关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   4759 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 32ms · UTC 01:47 · PVG 09:47 · LAX 17:47 · JFK 20:47
♥ Do have faith in what you're doing.