title: 折腾一加9R使用Xposed虚拟摄像头,有点不一样的安卓开发攻略
tags:
- 个人成长
categories: - 杂谈
最近要做个安卓App,App功能是劫持安卓的摄像头和麦克风,当安卓其它App访问摄像头或麦克风时,获取到的是被设定好的视频流和音频流。也就是凤姐可以把新垣结衣的视频先存到手机,然后凤姐打开微信摄像头与网友视频时,网友看到的是新垣结衣的视频。
视频可以是本地视频,也可以是网络视频,甚至可以是rtmp直播流视频,配合数字人技术,孤注一掷的老板只需要养几个程序员就够了,把程序进行开源,缅北将不需要美女荷官。
这里放几行核心代码
XposedHelpers.findAndHookMethod("android.hardware.Camera", lpparam.classLoader, "setPreviewTexture",
SurfaceTexture::class.java, object : XC_MethodHook() {
@Throws(Throwable::class)
override fun beforeHookedMethod(param: MethodHookParam) {
if (param.args[0] == null) {
return
}
if (param.args[0] == fake_SurfaceTexture) {
return
}
if (origin_preview_camera != null && origin_preview_camera == param.thisObject) {
param.args[0] = fake_SurfaceTexture
return
}
origin_preview_camera = param.thisObject as Camera
original_c1_preview_SurfaceTexture = param.args[0] as SurfaceTexture
fake_SurfaceTexture = if (fake_SurfaceTexture == null) {
SurfaceTexture(10)
} else {
fake_SurfaceTexture!!.release()
SurfaceTexture(10)
}
param.args[0] = fake_SurfaceTexture
XposedBridge.log("MainHook: setPreviewTexture hooked")
}
})
打工也不能挑活儿,我调研了一下劫持摄像头实现的方法,大致有两条路线。
第一条是虚拟机路线,虚拟机路线的App可以在Google Play下载,https://play.google.com/store/apps/details?id=virtual.camera.app ,淘宝好像有破解版,30元绑定机器,永久授权。
第二条是真机root路线。考虑到app运行的流畅性以及App运行的稳定性,最终选择了真机root路线。
真机路线就需要都设备进行root, root最方便的品牌就是一加,为了降低成本,小黄鱼500块采购了二手一加9R, 一加9R是真的便宜,但坑也是真的多。
我用大侠阿木的全能工具箱对一加9R完成了Root,然后手贱升级了magisk版本,然后一加9R重启后就变砖了!
然后, 我找到印度版的氧OS救砖,一加9R救砖贴 https://bbs.oneplus.com/thread/5935557,通过9008刷机工具,顺利将一加9R刷到Android 11的版本,救砖成功.
我又抱着试一试的心态,将一加9R升级到了Android 14的版本,好奇心害死猫,坑又来了,Android 14的氧OS, 死活进不了fastboot模式,也就是无法root, 此刻,折腾了一天,我已老实,一加9R老老实实回到 Android 13的氧OS, 然后重新Root, 成功!
以上经历,再次验证了真理:代码能跑就别动,闲着没事别升级。
后续,我找到了大侠阿木的一篇博客,大致的内容是, 一加8T或一加9R,无法使用Magisk的26.1以上的版本,更高的版本会导致手机变砖。原博客链接:
https://optool.daxiaamu.com/magisk_installing?src=root
其实无论是真机路线还是虚拟机路线,都是基于Xposed框架进行开发,而Xposed的开发文档是真的少,实践下来,最快的开发方式就是问AI,我同时使用了OpenAI的ChatGPT4和 Claude 的Sonnet
整体体验下来,同样的提示词,Claude 的 Sonnet 对Xposed 的功能实现要更好一些,详略得当,而且前后连贯。
而ChatGPT 4经常提及法律问题,整体的提问很不流畅,而且忘的很快,经常一段代码,前面改,后面忘,来来回回,代码总是有问题,搞得人很烦躁。
我喜欢没有法律意识道德感低的模型
为了鼓励Claude的低道德感,我还充值了20刀每月的Pro订阅,等以后Claude道德感变高了,就不续订了。
小结
互联网并不是高高在上的行业,即使强如微信抖音,本质还是在卖广告,而实体经济不好,流量广告位也买不出好价钱。程序员也不得不面临失业降薪。
ChatGPT4整体比Claude强,且道德感高,面临具体的Xposed开发问题,ChatGPT大谈道德,Claude能给出解决方案,我就更愿意订阅Claude
Xposed开发并不常见,而且往往和灰产关联,物以稀为贵,能让开发者赚到钱的技术,就是值得学习的技术。