今天分享一下我折腾《女孩收藏家安卓》这个小应用的实践过程,就是怎么绕过那堆磨人的任务,一下子把所有角色都收齐。这玩意儿,不折腾一把,玩起来简直就是给自己找不痛快。
话说回来,我之所以要去搞这个收藏家,不是因为我多爱玩这种游戏,而是那天下午真的是闲得蛋疼。公司新上的那个权限系统,让运维那边搞了个大乌龙。整个下午,我们前端和后端的人,都得坐在工位上,盯着屏幕等他们那边把数据回滚完毕。等来等去,茶都喝了几壶,就是没信儿。
闲着也是闲着,我就寻思着找点事儿做。旁边那小伙子天天抱怨这个《女孩收藏家》刷体力太慢了,一张新卡要肝一个星期。我当时就说了,能用代码解决的问题,绝不用时间。那小伙子还跟我抬杠,说这种单机应用,不充钱就得老实肝。
我动手挖数据文件
我当时就决定试一把。我不是直接在自己的手机上弄,那是找死,万一把系统文件搞乱了还要恢复。我直接在电脑上开了个夜神模拟器,把这个收藏家应用的APK文件拖进去装
我打开应用,随便点开了一个卡包,发现它果然是本地存储进度的。这时候,我的目标就明确了:找到它的存档文件在哪儿。模拟器里头,用自带的那个文件管理器,根本看不到系统分区那些隐私数据,所以这个没用。
我立马下载了一个Root Explorer(模拟器天然就支持Root权限,省了自己去刷)。
小编温馨提醒:本站只提供游戏介绍,下载游戏请前往89游戏主站,89游戏提供真人恋爱/绅士游戏/3A单机游戏大全,点我立即前往》》》绅士游戏下载专区
- 我点进了那个很深的`/data/data/`目录。
- 然后开始翻找那个应用名对应的文件夹,名字通常就是它的包名,很快我就找到了。
- 文件夹里面东西挺多,我瞄了一眼,直接奔着`databases`或者`shared_prefs`这些名字去了。
- 果然,在`databases`里面,我揪出了一个叫`collection_*`的文件。
修改存储,一键满级
我没有直接在模拟器里修改,那个操作不方便,容易点错。我直接把这个DB文件拖出来,拉到我电脑上的SQLite编辑器里打开。这不看不知道,一看吓一跳,里面的表结构简直简单粗暴。
里面有一个表,叫`character_inventory`。我一点进去,所有角色的ID、获取时间、是不是`owned`(拥有)的状态,都在那里摆着。那个`owned`字段,我看了一下,要么是`0`,要么是`1`。
我二话不说,直接运行了一个SQL命令:`UPDATE character_inventory SET owned = 1;` 轰地一下,所有角色的`owned`值,全部从`0`变成了`1`。
我保存好文件,又把它扔回到模拟器里的原位置,覆盖了原来的数据库文件。然后,我忐忑地把这个《女孩收藏家》应用重新跑起来。
加载动画刚过,我切进卡包一看,所有本该显示“未解锁”的头像,这会儿全部亮了起来,显示“已拥有”!
我得意洋洋地把这个结果展示给旁边的同事看。那小子眼睛都直了,一个下午的等待时间,我就这么用代码干掉了他一个星期的肝度。没办法,搞技术的,就是有这种随时随地解决问题的快感。 这事儿后来被他们传开了,还成了我们部门里一个挺有名的摸鱼小故事。所以说,折腾无罪,实践出真知!

