SYTAB10ST Root access and Google Apps/Market

jatke

Member
Nov 26, 2011
17
3
I dont see Pandora either. Its likely a "protected" app...
per Rogdor's thread: If an app is set as "protected" then Google checks your firmware and only allows it to be seen if you have one of the firmwares on their accepted list. If you have flashed a firmware or have root, you probably cannot see these apps on the Market.
He then goes on to detail a somewhat involved workaround.
 

cfrockit

Senior Member
Dec 26, 2010
627
191
Last edited:

Compu_Guy

Member
Nov 26, 2011
58
19
Well, I've tried quite a few things to get the protected apps to work. I tried following the directions that jatke posted and those didn't work for me. I have also tried things like Market Enabler and that doesn't work either. If I run Market Enabler, then it does changes the SIM Settings like it says, but nothing changes. I loaded Root Toolbox on here. Under its SIM Settings, it shows what the current carrier and country is. Right now it shows:

Carrier: China Telecom
Country: zh

I've looked everywhere that I can think and haven't been able to find where this is at. My wonder is if they hardcoded this into something. On my phone, if I change the SIM Settings with Root Toolbox or whatever, then Root Toolbox shows the new changes, but on this, nothing ever changes.

I did try adding in the properties that Market Enabler sets into the build.prop file and that still didn't overwrite anything. In fact, if I do a getprop on the ones that I set in the build.prop, they have been erased to nothing.
 
Last edited:

cfrockit

Senior Member
Dec 26, 2010
627
191
Well, I've tried quite a few things to get the protected apps to work. I tried following the directions that jatke posted and those didn't work for me. I have also tried things like Market Enabler and that doesn't work either. If I run Market Enabler, then it does changes the SIM Settings like it says, but nothing changes. I loaded Root Toolbox on here. Under its SIM Settings, it shows what the current carrier and country is. Right now it shows:

Carrier: China Telecom
Country: zh

I've looked everywhere that I can think and haven't been able to find where this is at. My wonder is if they hardcoded this into something. On my phone, if I change the SIM Settings with Root Toolbox or whatever, then Root Toolbox shows the new changes, but on this, nothing ever changes.

I did try adding in the properties that Market Enabler sets into the build.prop file and that still didn't overwrite anything. In fact, if I do a getprop on the ones that I set in the build.prop, they have been erased to nothing.

The only reference found without decoding everything is in /system/etc/apns-conf.xml

No idea if it has any importance.
 

lorenii

Senior Member
May 2, 2011
347
57
Sign into YouTube under your gmail acct FIRST and it solves a lot of Google issues. I snagged all of the "Google" stuff from my Froyo HTC and moved it over to my 10MT and it worked fine. You need Google Framework Services, Google Partner Setup, Google Calendar, Google Calendar Sync, Google Contacts Sync, Gmail and the Current Market from HERE. While youre at it, grab Google Voice so you can download IRIS (Siri). From a clean reset, install all of the above BEFORE trying to log into the STOCK YouTube App. After you gain that access, it should work with not issues. My tablet syncs all of my mail, contacts, apps, app store downloads fine and updates fine.

My 10MT is rooted with UnivAndRoot 1.6.2 and I use ES-FileExplorer with no root issues at all. I have never run into a protected app.

Attached is Pandora for you....unzip it and rename it to pandora.apk

For some reason WinRAR didn't like it as an APK and just gave it a "file" designation.

View attachment $Com.Pandora (2).zip
 
Last edited:

Compu_Guy

Member
Nov 26, 2011
58
19
Thanks lorenii. I haven't tried this Market yet, but will give it a shot.

Well, I found where the China Telecom was coming from. This is from the framework.jar file.

$String.PNG
......
$Bad.PNG


This is from my phone framework.jar

$Good.PNG

This makes sense why no matter what properties I set, it always returns the same thing. At this point, I think I'm almost over my head. Changing their default values to something US based and recompiling the file would be great, but beyond me. :) Anyone have any experience with this? Not sure if this would even fix it, but it could be worth a try.
 

Compu_Guy

Member
Nov 26, 2011
58
19
Well, sometimes I surprise myself. I found a way to modify the framework.jar file. I ended up just hardcoding the name to China Telecom (New), changed the country to us, and changed the mccmnc to T-Mobiles 6 digit number (I don't have it with me right now). I then loaded the file and restarted the tablet. Now, I can see Pandora and also paid apps! I haven't updated the Market yet, so it is the older version. I'll have to see what it shows with the new one to make sure this is a "good" fix. :) I'm a little leary to purchase any of the apps because I'm not sure how it bases who to charge. Does anyone know?
 

cfrockit

Senior Member
Dec 26, 2010
627
191
Well, sometimes I surprise myself. I found a way to modify the framework.jar file. I ended up just hardcoding the name to China Telecom (New), changed the country to us, and changed the mccmnc to T-Mobiles 6 digit number (I don't have it with me right now). I then loaded the file and restarted the tablet. Now, I can see Pandora and also paid apps! I haven't updated the Market yet, so it is the older version. I'll have to see what it shows with the new one to make sure this is a "good" fix. :) I'm a little leary to purchase any of the apps because I'm not sure how it bases who to charge. Does anyone know?
Looking forward to detailed "How To". I am unable to find the similar fields in the 7" InfoTMIC framework.jar but do see it in several of the 10" tablets.
 

Compu_Guy

Member
Nov 26, 2011
58
19
Here is how I went about modifying my framework.jar file to allow full market access.

Disclaimer: As always, I am in no way responsible for how you use this information or if you brick your device. I would not recommend you try this if you have not successfully reimaged your tablet from a computer. Factory reset / three finger method will most likely not fix this if you mess it up. I am also not responsible in any way for you using this method and purchasing apps. As stated in a previous post, this does allow access to paid apps, but I am not sure how they get charged to you, so I am not liable if you purchase something and what the repercussions of such would be.

Here are the steps that I followed.

1) Download apktool from here: android-apktool - A tool for reengineering Android apk files - Google Project Hosting I used the Windows version, so there are two files that you need to download. Load both of those into a directory.
2) Grab your framework.jar file from you tablet. This is located in /system/framework
3) Copy this file to the same folder that you put the apktool
4) Open a command prompt and run apktool with this command: apktool d framework.jar
5) This creates a folder called framework.jar.out that contains the smali files. Open this folder and go to smali/android/telephony
6) Open TelephonyManger.smali with a good text editor. On Windows, I use Notepad++.
7) Look for the string of China Telecom. I just replaced this with China Telecom (New). In my case, there are two instances of it.
8) Look for the string of zh. I just replaced this with us. In my case, there are two instances of it.
9) Look for the string of 46003. I just replaced this with 310260. In my case, there are two instances of it.
10) When you are done, save the file.
11) What I then did was renamed the framework.jar file to framework-old.jar
12) Now from your command prompt run apktool b framework.jar.out This will recompile a new jar file for you. The file will be placed in framework.jar.out/dist.
13) Now open this file with a good zip editor (IZarc, 7zip, etc). There will be a classes.dex file.
14) If you open your original one, you will see there is also a META-INF folder and preloaded-classes file. I copied these out of the original and into the new file.
15) Copy the new framework.jar file on your tablet and replace the existing one.
16) Restart!

Doing this has allowed me full market access. As I said, I can see paid and protected apps. The main one that I have searched for is Pandora. It is available now. I also went onto the market online and was able to push Pandora to my tablet from there.

cfrockit, for the 7" tablets, since they are not using the same hard coded files, look for the getNetworkCountryIso(), getNetworkOperator(), and getNetworkOperatorName() and see what they are pointing to. My previous pictures show that on this one, they are just returning this.country (for example) but in the real framework.jar from my phone it is set to return SystemProperties.get("gsm.operator.iso-country"); It may be that this is where the hardcoded value is or something like that. You may be able to modify this function to return something similar to what I've done here or you can just set those properties. I tried setting these in the build.prop file, but even after I reboot, if I use terminal and get the property, it is empty. Something else strange is happening with that. To get a clean view of the jar file, I've been using dex2jar. You pull out the classes.dex file and run it through dex2jar. This will give you a jar file instead of a dex. You can the use Java Decompiler or something similar to see a clean view of the code. Look for those functions and let's see what they are being set to. There may be a simpler way on the 7" tablets.
 

cfrockit

Senior Member
Dec 26, 2010
627
191
Hard coded entries for 7" InfoTMIC

framework.jar.out/smali/android/telephony/TelephonyManager.smali
Code:
.method public getNetworkCountryIso()Ljava/lang/String;
    .locals 1

    .prologue
    .line 383
    const-string v0, "[B]us[/B]"

    .line 384
    .local v0, str:Ljava/lang/String;
    return-object v0
.end method

.method public getNetworkOperator()Ljava/lang/String;
    .locals 1

    .prologue
    .line 357
    const-string v0, "[B]310995[/B]"

    .line 358
    .local v0, str:Ljava/lang/String;
    return-object v0
.end method

.method public getNetworkOperatorName()Ljava/lang/String;
    .locals 1

    .prologue
    .line 342
    const-string v0, "[B]Android[/B]"

This was decoded in late April when we first found a method to manually upgrade.

In June it was questioned whether it was the hard coded getNetworkOperator().

http://www.androidtablets.net/forum...never-start-paid-apps-dont-appear-market.html

Going to have to work through what else may be blocking full access. This could be really fun!

Update: The carrier code hard coded in the 11.2.1.8 beta 4 framework.jar noted above "310995" is not a valid code based on Wiki "List of mobile network codes.." Anyone interested in changing it to a valid code and compile and testing it?
 
Last edited:

Compu_Guy

Member
Nov 26, 2011
58
19
That's actaully what I was going to suggest that you do. 310260 is a valid one for T-Mobile. Also to note, each time that I have changed it, I have installed it on a fresh image and used one of the older Markets. I'm not sure if this is part of why it is working or not. From what I can tell, the Market only cares about the carrier code. It might care about the country, but it sure doesn't with the name. When I log into the market on the web, it shows my device as being a T-Mobile device even though I didn't change the name to that.
 
Last edited:

emacho

Member
Sep 24, 2011
7
2
Here is how I went about modifying my framework.jar file to allow full market access. Disclaimer: As always, I am in no way responsible for how you use this information or if you brick your device. I would not recommend you try this if you have not successfully reimaged your tablet from a computer. Factory reset / three finger method will most likely not fix this if you mess it up. I am also not responsible in any way for you using this method and purchasing apps. As stated in a previous post, this does allow access to paid apps, but I am not sure how they get charged to you, so I am not liable if you purchase something and what the repercussions of such would be. Here are the steps that I followed. 1) Download apktool from here: android-apktool - A tool for reengineering Android apk files - Google Project Hosting I used the Windows version, so there are two files that you need to download. Load both of those into a directory. 2) Grab your framework.jar file from you tablet. This is located in /system/framework 3) Copy this file to the same folder that you put the apktool 4) Open a command prompt and run apktool with this command: apktool d framework.jar 5) This creates a folder called framework.jar.out that contains the smali files. Open this folder and go to smali/android/telephony 6) Open TelephonyManger.smali with a good text editor. On Windows, I use Notepad++. 7) Look for the string of China Telecom. I just replaced this with China Telecom (New). In my case, there are two instances of it. 8) Look for the string of zh. I just replaced this with us. In my case, there are two instances of it. 9) Look for the string of 46003. I just replaced this with 310260. In my case, there are two instances of it. 10) When you are done, save the file. 11) What I then did was renamed the framework.jar file to framework-old.jar 12) Now from your command prompt run apktool b framework.jar.out This will recompile a new jar file for you. The file will be placed in framework.jar.out/dist. 13) Now open this file with a good zip editor (IZarc, 7zip, etc). There will be a classes.dex file. 14) If you open your original one, you will see there is also a META-INF folder and preloaded-classes file. I copied these out of the original and into the new file. 15) Copy the new framework.jar file on your tablet and replace the existing one. 16) Restart! Doing this has allowed me full market access. As I said, I can see paid and protected apps. The main one that I have searched for is Pandora. It is available now. I also went onto the market online and was able to push Pandora to my tablet from there. cfrockit, for the 7" tablets, since they are not using the same hard coded files, look for the getNetworkCountryIso(), getNetworkOperator(), and getNetworkOperatorName() and see what they are pointing to. My previous pictures show that on this one, they are just returning this.country (for example) but in the real framework.jar from my phone it is set to return SystemProperties.get("gsm.operator.iso-country"); It may be that this is where the hardcoded value is or something like that. You may be able to modify this function to return something similar to what I've done here or you can just set those properties. I tried setting these in the build.prop file, but even after I reboot, if I use terminal and get the property, it is empty. Something else strange is happening with that. To get a clean view of the jar file, I've been using dex2jar. You pull out the classes.dex file and run it through dex2jar. This will give you a jar file instead of a dex. You can the use Java Decompiler or something similar to see a clean view of the code. Look for those functions and let's see what they are being set to. There may be a simpler way on the 7" tablets.
I tried this tonight on my generic 7inch Infotmic M799ca tablet running android 2.3.3 with x210 cpu. The only change I made was to replace "China Telecom (NEW)" with "T-Mobile" along with a healthy dose of build.prop changes to spoof a Nexus S (still tinkering with settings). Google market no longer sees the tablet as being from China. More free apps are available (lots more) as well as paid apps. Purchasing paid apps worked as well as refund. Even netflix downloaded and runs. Poorly, but it runs. Let me know if there is anything I can provide to help

Edit: When I copied the framework.jar file back to the tablet I forgot to set the permissions and that resulted in a lot of com.google.gapps force close errors on startup. Changing the permissions back to the original rw-r--r-- resolved the problem.
 
Last edited:

fman22

Member
Dec 28, 2011
22
3
Here is how I went about modifying my framework.jar file to allow full market access.

Disclaimer: As always, I am in no way responsible for how you use this information or if you brick your device. I would not recommend you try this if you have not successfully reimaged your tablet from a computer. Factory reset / three finger method will most likely not fix this if you mess it up. I am also not responsible in any way for you using this method and purchasing apps. As stated in a previous post, this does allow access to paid apps, but I am not sure how they get charged to you, so I am not liable if you purchase something and what the repercussions of such would be.

Here are the steps that I followed.

1) Download apktool from here: android-apktool - A tool for reengineering Android apk files - Google Project Hosting I used the Windows version, so there are two files that you need to download. Load both of those into a directory.
2) Grab your framework.jar file from you tablet. This is located in /system/framework
3) Copy this file to the same folder that you put the apktool
4) Open a command prompt and run apktool with this command: apktool d framework.jar
5) This creates a folder called framework.jar.out that contains the smali files. Open this folder and go to smali/android/telephony
6) Open TelephonyManger.smali with a good text editor. On Windows, I use Notepad++.
7) Look for the string of China Telecom. I just replaced this with China Telecom (New). In my case, there are two instances of it.
8) Look for the string of zh. I just replaced this with us. In my case, there are two instances of it.
9) Look for the string of 46003. I just replaced this with 310260. In my case, there are two instances of it.
10) When you are done, save the file.
11) What I then did was renamed the framework.jar file to framework-old.jar
12) Now from your command prompt run apktool b framework.jar.out This will recompile a new jar file for you. The file will be placed in framework.jar.out/dist.
13) Now open this file with a good zip editor (IZarc, 7zip, etc). There will be a classes.dex file.
14) If you open your original one, you will see there is also a META-INF folder and preloaded-classes file. I copied these out of the original and into the new file.
15) Copy the new framework.jar file on your tablet and replace the existing one.
16) Restart!

Doing this has allowed me full market access. As I said, I can see paid and protected apps. The main one that I have searched for is Pandora. It is available now. I also went onto the market online and was able to push Pandora to my tablet from there.

cfrockit, for the 7" tablets, since they are not using the same hard coded files, look for the getNetworkCountryIso(), getNetworkOperator(), and getNetworkOperatorName() and see what they are pointing to. My previous pictures show that on this one, they are just returning this.country (for example) but in the real framework.jar from my phone it is set to return SystemProperties.get("gsm.operator.iso-country"); It may be that this is where the hardcoded value is or something like that. You may be able to modify this function to return something similar to what I've done here or you can just set those properties. I tried setting these in the build.prop file, but even after I reboot, if I use terminal and get the property, it is empty. Something else strange is happening with that. To get a clean view of the jar file, I've been using dex2jar. You pull out the classes.dex file and run it through dex2jar. This will give you a jar file instead of a dex. You can the use Java Decompiler or something similar to see a clean view of the code. Look for those functions and let's see what they are being set to. There may be a simpler way on the 7" tablets.
im new at androidtablets.net but anyways i copied the framework.jar file from my tablet to an sd card then to my computer which is uses windows 7 64 bit NOT linux. then when i download and install apktool and try to run it by typing c:\users\(my user)\(file that i put apktool and the framework.jar file in) which allows it to run apktool but when its running i type apktool d framework.jar then it says, error no dump file specified. This REALLY annoys me that i cant create the framework.jar.out file! can you help me?
 

Compu_Guy

Member
Nov 26, 2011
58
19
im new at androidtablets.net but anyways i copied the framework.jar file from my tablet to an sd card then to my computer which is uses windows 7 64 bit NOT linux. then when i download and install apktool and try to run it by typing c:\users\(my user)\(file that i put apktool and the framework.jar file in) which allows it to run apktool but when its running i type apktool d framework.jar then it says, error no dump file specified. This REALLY annoys me that i cant create the framework.jar.out file! can you help me?

I am also running this on Windows 7 64 bit, so I'm not really sure. It has been working fine for me. According to the apktool site, for Windows you should have three files, aapt.exe, apktool.bat and apktool.jar. I just copied over my folder to a new VM and installed java and it ran just fine there. PM if you still have these files and are still having troubles.
 

supernovatjj

Member
Dec 27, 2011
5
0
Well I recommend getting the sytab10st but I got market on it by getting the apk from theandroidsoul.com or search google for Android Market apk on Google! If that does no good, I don't know what to tell you.

Sent from my Sylvania SYTAB10ST using Android Tablet Forum
 
Top