Sense 7.0 Prism.apk 修改内容详解

之前的一篇文章“Sense 7.0 强制BlinkFeed、主题为国内源”已经讲了通过强制识别CID为HTCCN701来实现国内新闻源、主题源。而在今天,Sense 首页更新到7.20.625874后,代码结构发生了些许变化。借此机会,把我对Prism.apk的修改再讲一遍。

对于Prism.apk的修改,主要是两处。

第一处就是强制识别CID为HTCCN701的,最新版本起,代码位置从smali\com\htc\lib1\dm\env\DeviceEnv.smali移到了smali_classes2\com\htc\lib1\dm\env\DeviceEnv.smali,也就是从classes.dex移到了classes2.dex里,smali_classes2是classes2.dex反编译后对应的文件夹。

具体修改方法,还是搜索.method public getCID()Ljava/lang/String;,在此段代码的最后两行

1
move-result-object v0

1
return-object v0

中加一行

1
const-string v0, "HTCCN701"

即可。

第二处是强制显示大图的,这个改不改因人而异,因为有些图强制放大会很模糊。

修改方法为,反编译Prism.apk,找到smali_classes2\com\htc\libmosaicview\FeedGridLayoutHelper.smali(之前的版本是在smali文件夹里,7.20.625874版本起移到了smali_classes2),搜索.method public static checkForNeedOverLay(Landroid/content/Context;Lcom/htc/libfeedframework/FeedData;I)Z,将整段代码改为:

1
2
3
4
5
6
7
.method public static checkForNeedOverLay(Landroid/content/Context;Lcom/htc/libfeedframework/FeedData;I)Z
.locals 1

const/4 v0, 0x1

return v0
.end method

即可。

这段代码本来是根据一定的方法判断是否全图显示,现在直接返回1,就可以做到强制大图了。

总的来说,相比之前版本的Prism,修改内容其实没变,只是位置发生改变。今天我刚解开新版Prism的时候,发现之前改的文件都不见了,以为代码全部重写了,结果全局搜索发现,只是位置发生改变。不知道HTC搞的什么鬼……

如果你喜欢我的文章,欢迎打赏。