Android market switch

 !! UPDATE !!
 Ich und Andrea haben eine neue version von MarketEnabler entwickelt,
 mit der man nun eine Liste von Providern hat aus der man auswählen kann.
 Erhältlich auf der Projektseite oder hier

So bekommt man Zugriff auf den US oder den DE paid market

Das reverse engineering wurde von Tim und Andrea gemacht,

Andrea hat auch die Market enabler app geschrieben die den US market freischaltet.

 zu finden unter http://market-enabler.googlecode.com
 Ich mache mit Andrea eine neue version, bei der man den provider auswählen kann
 und auch eine autostart funktion bekommen wird, damit man es nicht nach jedem
 reboot machen muss.

Sobald Android wieder neu gestarted wurde sind die values zurückgesetzt und die Befehle müssen erneut eingegeben werden.

US market (T-Mobile)

Danke an Tim (strazzere im xda dev forum)

 su
 setprop gsm.sim.operator.numeric 310260
 setprop gsm.operator.numeric 310260
 setprop gsm.sim.operator.iso-country us
 setprop gsm.operator.iso-country us
 setprop gsm.operator.alpha T-Mobile
 setprop gsm.sim.operator.alpha T-Mobile
 kill $(ps | grep vending | tr -s ‘ ‘ | cut -d ‘ ‘ -f2)
 rm -rf /data/data/com.android.vending/cache/*

DE market (o2)

Danke an t4c vom g1-forum.de

 su
 setprop gsm.sim.operator.numeric 26207
 setprop gsm.operator.numeric 26207
 setprop gsm.sim.operator.iso-country de
 setprop gsm.operator.iso-country de
 setprop gsm.operator.alpha "o2 - de"
 setprop gsm.sim.operator.alpha "o2 - de"
 kill $(ps | grep vending | tr -s ‘ ‘ | cut -d ‘ ‘ -f2)
 rm -rf /data/data/com.android.vending/cache/*

DE market (simyo)

Danke an t4c

 su
 setprop gsm.sim.operator.numeric 26203
 setprop gsm.operator.numeric 26203
 setprop gsm.sim.operator.iso-country de
 setprop gsm.operator.iso-country de
 setprop gsm.operator.alpha "E-Plus"
 setprop gsm.sim.operator.alpha "simyo"
 kill $(ps | grep vending | tr -s ' ' | cut -d ' ' -f2)
 rm -rf /data/data/com.android.vending/cache/* 

CH market (Sunrise)

CH Market ist noch nicht offiziel freigeschaltet

 su
 setprop gsm.sim.operator.numeric 22802
 setprop gsm.operator.numeric 22802
 setprop gsm.sim.operator.iso-country ch
 setprop gsm.operator.iso-country ch
 setprop gsm.operator.alpha sunrise
 setprop gsm.sim.operator.alpha sunrise
 kill $(ps | grep vending | tr -s ‘ ‘ | cut -d ‘ ‘ -f2)
 rm -rf /data/data/com.android.vending/cache/*

Shell script

Run the attached shell script with "sh marketc.sh" and u get usage note

 #!/system/bin/sh
 # Market country change script by rac (http://2030.tk/android)
 # based on reverse engineering from Tim (http://strazzere.com/blog) 
 # and Andrea (http://www.androidiani.com)
 # this script has to be started as root
 case $1 in
 	ch.sunrise)
 		setprop gsm.sim.operator.numeric 22802
 		setprop gsm.operator.numeric 22802
 		setprop gsm.sim.operator.iso-country ch
 		setprop gsm.operator.iso-country ch
 		setprop gsm.operator.alpha sunrise
 		setprop gsm.sim.operator.alpha sunrise
 		kill $(ps | grep vending | tr -s ' ' | cut -d ' ' -f2)
 		rm -rf /data/data/com.android.vending/cache/* 
 		sh $0 actual;;
 	de.o2)
 		setprop gsm.sim.operator.numeric 26207
 		setprop gsm.operator.numeric 26207
 		setprop gsm.sim.operator.iso-country de
 		setprop gsm.operator.iso-country de
 		setprop gsm.operator.alpha "o2 - de"
 		setprop gsm.sim.operator.alpha "o2 - de"
 		kill $(ps | grep vending | tr -s ' ' | cut -d ' ' -f2)
 		rm -rf /data/data/com.android.vending/cache/* 
 		sh $0 actual;;
 	de.simyo)
 		setprop gsm.sim.operator.numeric 26203
 		setprop gsm.operator.numeric 26203
 		setprop gsm.sim.operator.iso-country de
 		setprop gsm.operator.iso-country de
 		setprop gsm.operator.alpha "E-Plus"
 		setprop gsm.sim.operator.alpha "simyo"
 		kill $(ps | grep vending | tr -s ' ' | cut -d ' ' -f2)
 		rm -rf /data/data/com.android.vending/cache/* 
 		sh $0 actual;;
 	us.tmo)
 		setprop gsm.sim.operator.numeric 310260
 		setprop gsm.operator.numeric 310260
 		setprop gsm.sim.operator.iso-country us
 		setprop gsm.operator.iso-country us
 		setprop gsm.operator.alpha T-Mobile
 		setprop gsm.sim.operator.alpha T-Mobile
 		kill $(ps | grep vending | tr -s ' ' | cut -d ' ' -f2)
 		rm -rf /data/data/com.android.vending/cache/* 
 		sh $0 actual;;
 	actual)
 		getprop|grep gsm.sim.operator.numeric
 		getprop|grep gsm.operator.numeric
 		getprop|grep gsm.sim.operator.iso-country
 		getprop|grep gsm.operator.iso-country
 		getprop|grep gsm.operator.alpha
 		getprop|grep gsm.sim.operator.alpha;;
 	*)
 		echo "Usage:"
 		echo "   $0 ch.sunrise"
 		echo "   $0 de.02"
 		echo "   $0 de.simyo"
 		echo "   $0 us.tmo"
 		echo "   $0 actual";;
 esac

Trackback URL for this post:

http://www.2030.tk/trackback/225
AttachmentSizeHitsLast download
Market changer shell script2.06 KB1513 days 20 hours ago

ch.swisscom

ch.swisscom)
setprop gsm.sim.operator.numeric 22801
setprop gsm.operator.numeric 22801
setprop gsm.sim.operator.iso-country ch
setprop gsm.operator.iso-country ch
setprop gsm.operator.alpha Swisscom
setprop gsm.sim.operator.alpha Swisscom
kill $(ps | grep vending | tr -s ' ' | cut -d ' ' -f2)
rm -rf /data/data/com.android.vending/cache/*
sh $0 actual;;

How to extract all gsm.sim.x values

In case you haven´t noticed,
gsm.sim.operator.numeric code is the Mobile Netwok Code that defines the country and operator. Find a complete list at http://en.wikipedia.org/wiki/Mobile_Network_Code.

The MNC is composed by two ids, the MCC and the MNC. The MCC (the first 3 digits) will provide you the gsm.sim.operator.iso-country.

The gsm.sim.operator.alpha is a string that the network will provide to help humans identify the network but I doubt it will be used by the application. I would ignore it or fill it with an educated guess.

Thanks for you work
xuf

rac's picture

Thx for the input... i will

Thx for the input... i will try and see if it works with just the mnc/mcc correctly.
As I didn't do the reverse engineering I don't know ;-)

EDIT:
You're absolutely right, even the coutry code is not needed.
I will update the MarketEnabler code and make two list tabs... one with confirmed and working and one with all operators from wikipedia list ;-)

[16:27]

[16:27] [gsm.sim.operator.numeric]: [26203]
[16:27] [gsm.sim.operator.alpha]: [simyo]
[16:27] [gsm.sim.operator.iso-country]: [de]
[16:27] [gsm.operator.alpha]: [E-Plus]
[16:27] [gsm.operator.numeric]: [26203]
[16:27] [gsm.operator.iso-country]: [de]
[16:27] [gsm.operator.isroaming]: [false]

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Use <fn>...</fn> to insert automatically numbered footnotes.
  • You can use the <go> tags just like the <a> for nicer urls.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>. Beside the tag style "<foo>" it is also possible to use "[foo]".
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.

More information about formatting options

CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
Image CAPTCHA
Copy the characters (respecting upper/lower case) from the image.