Jump to content

Stop Vending(Market) from autoupdating?


Guest kallt_kaffe

Recommended Posts

Guest kallt_kaffe

I've replaced my Vending.apk (among other things) with a version that allows me to access a full market even though my U8100 is a QVGA device.

However there is an automatic updating taking place that after a while cancels out some of the hacks...

Here's serching for "video" with all the hacks active:

post-750537-1282567011_thumb.pngpost-750537-1282567027_thumb.png

After some use this update arrives and the search result is almost half of what it was before:

post-750537-1282567040_thumb.pngpost-750537-1282566957_thumb.png

It's that big problem, I just have to uninstall the update when/if I need full market access but if there was an easy way to turn it off it would be nice to know.

Link to comment
Share on other sites

Guest kallt_kaffe
first whats the keyboard? HTC_IME port? PM me link with it pls :huh:

This is the hard way to install it (the easy way is when you've also put in a busybox binary, some symlinks, scripts to remount /system and works through adb.)

- Install a terminal emulator and start it

$ su (assuming you've rooted the device)

# mount -t yaffs2 -o rw,remount /dev/block/mtdblock4 /system (remount /system to read only)

# cat /sdcard/path_to_files/com.htc.android.htcime.apk > /system/app/com.htc.android.htcime.apk (workaround for not having cp)

# cat /sdcard/path_to_files/libt9.so > /system/lib/libt9.so

# reboot (easier than to do the mount thingy to remount to read-only again)

Maybe it also works putting in it data/app or just installing it. Not sure if libt9.so is needed if you just use the qwerty layout.

htc_ime.zip

Link to comment
Share on other sites

Guest kallt_kaffe
anyway back to the market, there is an app called Market Updater on the phone, you could try uninstalling it using the root method.

Yes, I've consider trying that but I suspect it may also be resposible for updating Market apps, as in displaying that icon when updates are available so I'm considering trying to hack the update instead (version 1713) as the old hacked version is 1700. Or, maybe even trying a hacked Vending.apk from Froyo (v 1.82, I suppose that would be 1820 in the way eclair Vending.apk displays it's version numbering). Or just hack the version number in the old one, to 1713.

Link to comment
Share on other sites

Guest kallt_kaffe
Yes, I've consider trying that but I suspect it may also be resposible for updating Market apps, as in displaying that icon when updates are available so I'm considering trying to hack the update instead (version 1713) as the old hacked version is 1700. Or, maybe even trying a hacked Vending.apk from Froyo (v 1.82, I suppose that would be 1820 in the way eclair Vending.apk displays it's version numbering). Or just hack the version number in the old one, to 1713.

Froyo Market didn't work but I kind of expect that. Removing MarketUpdater also seems to do the trick but I haven't been running like that long enough to be sure.

However I did manage to find a non-modified version 1700 and did a diff after disassembling it and made the same changes to a disassembled 1713 version and it seems to work like it should. Now I'm going to put MarketUpdater back and see if it behaves. :huh:

The hack was supringsly small compared to the hack in the Froyo version. Just changing 0x1 to 0x2 in two places. What it does it that it makes QVGA devices identify themselves as HVGA devices and that change doubles the number hits on "video". Adding a permissions file that claims auto-focus support adds another 100-150 hits.

End result 1058 hits on "video" compared to 400-500 with a non modified device. However most apps wanting autofocus may not be very useful but I'm pretty sure 95-99% of the apps refusing to show up on QVGA works just fine. It's just an effect of QVGA devices appearing late in the history of Android and perhaps even more an effect of the emulator not supporting QVGA (or so I've heard, never tried the emulator myself, yet)

And with a nice little script that fakes an US operator I can also enable paid apps:

post-750537-1282824338_thumb.png

Edited by kallt_kaffe
Link to comment
Share on other sites

Guest kallt_kaffe
Could you explain what you have changed in the .apk

Assuming you know your way around with apktool...

In \smali\com\android\vending\model\DeviceConfiguration$ScreenLayoutSize.smali change

# direct methods
.method static constructor <clinit>()V
.locals 6

.prologue
const/4 v5, 0x3

const/4 v4, 0x2

const/4 v3, 0x1

const/4 v2, 0x0[/code] to:
[code]# direct methods
.method static constructor <clinit>()V
.locals 6

.prologue
const/4 v5, 0x3

const/4 v4, 0x2

const/4 v3, 0x2

const/4 v2, 0x0
And in \smali\com\android\vending\model\DeviceConfigurationProto.smali change:
.field public static final SCREEN_LAYOUT_LARGE:I = 0x3

.field public static final SCREEN_LAYOUT_NORMAL:I = 0x2

.field public static final SCREEN_LAYOUT_SMALL:I = 0x1

.field public static final SCREEN_LAYOUT_UNDEFINED_SCREEN_LAYOUT:I = 0x0[/code] to:
[code].field public static final SCREEN_LAYOUT_LARGE:I = 0x3

.field public static final SCREEN_LAYOUT_NORMAL:I = 0x2

.field public static final SCREEN_LAYOUT_SMALL:I = 0x2

.field public static final SCREEN_LAYOUT_UNDEFINED_SCREEN_LAYOUT:I = 0x0

Build a new apk, take classes.dex from the new apk and put it into the original one. The correct thing would propably be to sign and use the new one but it seems that stuff that goes in /system works fine even if the signing is messed up.

I didn't invent this myself. I compared the output (after dismantling them with apktool) from a non-hacked version 1700 with a hacked version 1700 and applied the changes to a version 1713 Vending.apk. Using version 1713 stops the market from canceling out the hacked version when it autoupgrades as 1713 seems to be the latest version available. I guess that if a new eclair market versions shows up we would need to do this again.

Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.