Let's Settle the Google Play Compatible Issue

ziggyzag

Member
May 18, 2012
100
15
After time with a good amount of roms, modifying the rooted stock rom steev for the 7042 posted seems to be the most stable for now. With a few changes it works like a charm, all except googe play and the permissions. Some apps aren't compatible because of carrier restrictions, others because the tablet doesn't have the proper permissions. Thiss seems to all comes down to the build.prop and the system permissions so I was wondering the different ways people have tried. For instance, in Steevs rom, google+ is an older slimmed down version with no hangout support, in Vampirefos mobiz edit its the latest version. Even in vampirefos rom there is still some limiting occuring, so maybe with the proper tweaking we can get a some more apps and better versions.

This is my current build.prop, which is pretty much steevs stock rom build but I added the tweaks at the bottom for wifi and media. No permission changes or anything.

# begin build properties
# autogenerated by buildinfo.sh
ro.sf.ScreenShotDelay=50
ro.build.id=IML74K
ro.build.display.id=20120408.142305
ro.build.version.incremental=20120408
ro.build.version.sdk=15
ro.build.version.codename=REL
ro.build.version.release=4.0.3
ro.build.date=Sun Apr 08 14:23:05 CST 2012
ro.build.date.utc=1332127403
ro.build.type=user
ro.build.user=emma
ro.build.host=androidSRV
ro.build.tags=test-keys
ro.product.model=GT-P6210
ro.product.brand=samsung
ro.product.name=GT-P6210
ro.product.device=GT-P6210
ro.product.board=GT-P6210
ro.product.cpu.abi=armeabi-v7a
ro.product.cpu.abi2=armeabi
ro.product.manufacturer=samsung
ro.product.locale.language=en
ro.product.locale.region=US
ro.wifi.channels=
ro.board.platform=exDroid
# ro.build.product is obsolete; use ro.product.device
ro.build.product=crane-MID7042-SC3037
# Do not try to parse ro.build.description or .fingerprint
ro.build.description=GT-P6210-user 3.2 HTJ85B UEKJC release-keys
ro.build.fingerprint=samsung/GT-P6210/GT-P6210:3.2/HTJ85B/UEKJC:user/release-keys
ro.build.characteristics=tablet
# end build properties

#
# ADDITIONAL_BUILD_PROPERTIES
#
ro.com.android.dateformat=MM-dd-yyyy
ro.config.ringtone=Ring_Synth_04.ogg
ro.config.notification_sound=pixiedust.ogg
ro.config.alarm_alert=Alarm_Classic.ogg
dalvik.vm.heapstartsize=5m
dalvik.vm.heapgrowthlimit=48m
dalvik.vm.heapsize=256m
ro.kernel.android.checkjni=0
wifi.interface=wlan0
wifi.supplicant_scan_interval=148
debug.egl.hw=1
ro.display.switch=1
ro.opengles.version=131072
persist.sys.strictmode.visual=0
persist.sys.strictmode.disable=1
hwui.render_dirty_regions=false
persist.sys.timezone=America/New_York
persist.sys.language=en
persist.sys.country=US
persist.sys.usb.config=mass_storage
ro.sf.lcd_density=120
ro.sys.def_font_scale=100
ro.product.firmware=4.0.3
net.bt.name=Android
dalvik.vm.stack-trace-file=/data/anr/traces.txt
#
#Internet and Media Tweaks
#
media.stagefright.enable-player=true
media.stagefright.enable-meta=true
media.stagefright.enable-scan=false
media.stagefright.enable-http=true
net.tcp.buffersize.default=4096,87380,256960,4096,16384,256960
net.tcp.buffersize.wifi=4096,87380,256960,4096,16384,256960

#
#Graphics Tweaks
#
ro.media.enc.jpeg.quality=100
ro.media.dec.jpeg.memcap=8000000
 
Last edited:

Traveller

Administrator
Staff member
Jun 16, 2012
2,859
982
build.prop:
The work done on my tablet was more extensive than just the build.prop. While my build.prop is essentially the same as yours (see below) I use a Galaxy Tab 2 fingerprint instead of the Galaxy Tab fingerprint you use. I don't know if using the GT2 instead of the GT makes a difference or not. And yet, while editing the build.prop does help, it isn't the end all be all for Play Store compatibility. steev's ROMs are all based off the stock Coby ROM, and the Coby ROM is missing a quartet of files in its permissions directory. If steev added them already to his ROM, then that's terrific. However I have seen users of steev's ROMs complaining about not being able to download Facebook or Angry Birds. That is because the files in question are all related to GPS and the location service, neither of which are present or active on these tablets, and which both Facebook and Angry Birds require.

My build.prop:
Code:
# begin build properties
# autogenerated by buildinfo.sh
ro.build.id=IML74K
ro.build.display.id=20120330.145029
ro.build.version.incremental=20120330
ro.build.version.sdk=15
ro.build.version.codename=REL
ro.build.version.release=4.0.3
ro.build.date=Fri Mar 30 14:51:04 CST 2012
ro.build.date.utc=1333090264
ro.build.type=user
ro.build.user=snake
ro.build.host=androidSRV
ro.build.tags=release-keys
ro.product.model=GT-P3113
ro.product.brand=samsung
ro.product.name=espressowifiue
ro.product.device=espressowifi
ro.product.board=piranha
ro.product.cpu.abi=armeabi-v7a
ro.product.cpu.abi2=armeabi
ro.product.manufacturer=samsung
ro.product.locale.language=en
ro.product.locale.region=US
ro.wifi.channels=
ro.board.platform=exDroid
# ro.build.product is obsolete; use ro.product.device
ro.build.product=espressowifi
# Do not try to parse ro.build.description or .fingerprint
ro.build.description=espressowifiue-user 4.0.3 IML74K P3113UEALCB release-keys
ro.build.fingerprint=samsung/espressowifiue/espressowifi:4.0.3/IML74K/P3113UEALCB:user/release-keys
ro.build.characteristics=tablet
# end build properties

#
# ADDITIONAL_BUILD_PROPERTIES
#
ro.com.android.dateformat=MM-dd-yyyy
ro.config.ringtone=Ring_Synth_04.ogg
ro.config.notification_sound=pixiedust.ogg
ro.config.alarm_alert=Alarm_Classic.ogg
dalvik.vm.heapstartsize=5m
dalvik.vm.heapgrowthlimit=48m
dalvik.vm.heapsize=256m
ro.kernel.android.checkjni=0
wifi.interface=wlan0
wifi.supplicant_scan_interval=150
debug.egl.hw=1
ro.display.switch=1
ro.opengles.version=131072
persist.sys.strictmode.visual=0
persist.sys.strictmode.disable=1
hwui.render_dirty_regions=false
ro.hw.maxbrightness=200
persist.sys.timezone=America/New_York
persist.sys.language=en
persist.sys.country=US
persist.sys.usb.config=mass_storage
ro.sf.hwrotation=180
ro.ui.fullscreen=false
ro.product.firmware=4.0.3
net.bt.name=Android
dalvik.vm.stack-trace-file=/data/anr/traces.txt

#
#Battery Tweaks
#
pm.sleep_mode=1

#
#Internet and Media Tweaks
#
media.stagefright.enable-player=true 
media.stagefright.enable-meta=true 
media.stagefright.enable-scan=false
media.stagefright.enable-http=true
net.tcp.buffersize.default=4096,87380,256960,4096,16384,256960
net.tcp.buffersize.wifi=4096,87380,256960,4096,16384,256960

#
#Graphics Tweaks
#
ro.media.enc.jpeg.quality=100
ro.media.dec.jpeg.memcap=8000000

The XML Files:
  • android.hardware.location.gps.xml
  • android.hardware.location.xml
  • com.android.location.provider.xml
  • tablet_core_hardware.xml
Once these files are copied to \system\etc\permissions, have their permissions fixed to rw-r--r--, and the tablet rebooted, the apps that were formerly incompatible show as compatible. For example, before I did these changes I attempted to download the Facebook app and failed. Afterward, no complaints from the Play Store regarding Facebook.

framework-res.apk:
However, while I could download Facebook, install it, and use it after adding the XML files, I couldn't use Google Earth after downloading it from the Play Store. That's because of one added issue. While the XML files are present, the network location service still isn't active, and thus Google Earth crashes upon start. Users of custom ROMs such as yourself do not have this problem because the network location service in the ROM is activated. It's only the people who stayed with the stock ROM that have that problem. I fixed it on my tablet as well as my roommate's tablet, but for most Kyros users it will never get fixed. To fix it requires decompiling framework-res.apk and, truth be told, they simply don't have the patience and/or possibly the knowledge of how to fix it. Most will simply not bother.

Summary:
In order to maximize Play Store compatibility:

  • Use a build.prop with a Samsung fingerprint.
  • Copy the missing XML files over to \system\etc\permissions.
Stock ROM only:

  • Decompile, edit, recompile, and copy a new framework-res.apk to the tablet.
 

ziggyzag

Member
May 18, 2012
100
15
Steev has added location functionality, so Facebook , maps and angry birds show up so it has to be the other XML files and a different fingerprint that allows the mobiz rom to grab the other apps and the latest version of Google+. Its odd though cause i can get maps and google earth on steevs, but when i install maps on vampirefos mobiz I get maps & navigator, i actually think its a newer version of maps.There has to be a combination of a good fingerprint, and XML files that would give use full access. The mobiz is the best so far but I'm thinking the few apps that arnt showing up is permission related. I thought the mobiz rom has all the mods u suggest? Could there be a few more permission related files that are missing from the usual all winner fixes out there?
 
Last edited:

Natey2

Senior Member
May 25, 2012
477
44
Thanks for the example build.prop files, ziggyzag and Traveller.
Wouldn't the Nexus 7 tablet's fingerprint be a better choice for Google Play compatibility?
 

ziggyzag

Member
May 18, 2012
100
15
Natey2 said:
Thanks for the example build.prop files, ziggyzag and Traveller.
Wouldn't the Nexus 7 tablet's fingerprint be a better choice for Google Play compatibility?

only one way to find out, hoping to see what people say is the best works best.
 

Traveller

Administrator
Staff member
Jun 16, 2012
2,859
982
@ziggyzag: 9742 build.prop, and one I worked on using the stock build.prop as a base.

My combination of build.prop, XML files and modded framework has resulted in only one app I know of not showing in the Play Store: Tune-in Radio. That app isn't supported on "unofficial" Android devices, which is something not even my fixes can overcome. The developer set a check in the Play store to prevent installs on "unofficial" Android devices, of which the Kyros is one.

I've heard Netflix isn't compatible though it appears in the Play Store. I haven't tried to install it myself so I can't verify things.
 

vampirefo.

Senior Member
Developer
Nov 8, 2011
3,836
1,394
@ziggyzag: 9742 build.prop, and one I worked on using the stock build.prop as a base.

My combination of build.prop, XML files and modded framework has resulted in only one app I know of not showing in the Play Store: Tune-in Radio. That app isn't supported on "unofficial" Android devices, which is something not even my fixes can overcome. The developer set a check in the Play store to prevent installs on "unofficial" Android devices, of which the Kyros is one.

I've heard Netflix isn't compatible though it appears in the Play Store. I haven't tried to install it myself so I can't verify things.


I have never searched for Tune-in Radio before so no ideal if it was available on my other roms, any way just did a search on my cm10 and the app was available, and I installed it.

ImageShack(TM) slideshow
 

vampirefo.

Senior Member
Developer
Nov 8, 2011
3,836
1,394
PS. here is the build.prop from my cm10.

# begin build properties
# autogenerated by buildinfo.sh
ro.build.id=JRO03L
ro.build.display.id=cm_907-userdebug 4.1.1 JRO03L eng.alan.20120913.095234 test-keys
ro.build.version.incremental=eng.alan.20120913.095234
ro.build.version.sdk=16
ro.build.version.codename=REL
ro.build.version.release=4.1.1
ro.build.date=gio 13 set 2012, 09.56.50, CEST
ro.build.date.utc=1347523010
ro.build.type=userdebug
ro.build.user=alan
ro.build.host=Audrey
ro.build.tags=test-keys
ro.product.model=Nexus 7
ro.product.brand=Google
ro.product.name=nakasi
ro.product.device=grouper
ro.product.board=crane
ro.product.cpu.abi=armeabi-v7a
ro.product.cpu.abi2=armeabi
ro.product.manufacturer=Asus
ro.product.locale.language=en
ro.product.locale.region=US
ro.wifi.channels=
ro.board.platform=exDroid
# ro.build.product is obsolete; use ro.product.device
ro.build.product=grouper
# Do not try to parse ro.build.description or .fingerprint
ro.build.description=nakasi-user 4.1.1 JRO03D 402395 release-keys
ro.build.fingerprint=google/nakasi/grouper:4.1.1/JRO03D/402395:user/release-keys
ro.build.characteristics=tablet
ro.cm.device=907
# end build properties

#
# ADDITIONAL_BUILD_PROPERTIES
#
ro.opengles.version=131072
debug.egl.hw=1
ro.display.switch=1
ro.sf.lcd_density=120
hwui.render_dirty_regions=false
wifi.interface=wlan0
wifi.supplicant_scan_interval=150
persist.sys.strictmode.visual=0
persist.sys.strictmode.disable=1
persist.sys.usb.config=mass_storage,adb
dalvik.vm.verify-bytecode=false
dalvik.vm.dexopt-flags=v=n,o=v
dalvik.vm.execution-mode=int:jit
persist.sys.timezone=Europe/Rome
persist.sys.language=en
persist.sys.country=US
ro.com.google.locationfeatures=1
dalvik.vm.lockprof.threshold=500
ro.kernel.android.checkjni=0
dalvik.vm.checkjni=false
dalvik.vm.dexopt-data-only=1
ro.vold.umsdirtyratio=20
persist.sys.use_dithering=0
persist.sys.purgeable_assets=0
windowsmgr.max_events_per_sec=240
view.touch_slop=2
view.minimum_fling_velocity=25
updateme.disableinstalledapps=1
updateme.disablescripts=1
ro.additionalmounts=/storage/sdcard1
ro.vold.switchablepair=/storage/sdcard0,/storage/sdcard1
persist.sys.vold.switchexternal=0
ro.disable_phablet_ui=1
ro.com.android.dateformat=MM-dd-yyyy
ro.carrier=unknown
dalvik.vm.heapstartsize=5m
dalvik.vm.heapgrowthlimit=48m
dalvik.vm.heapsize=256m
ro.rommanager.developerid=cyanogenmod
keyguard.no_require_sim=true
ro.url.legal=http://www.google.com/intl/%s/mobile/android/basic/phone-legal.html
ro.url.legal.android_privacy=http://www.google.com/intl/%s/mobile/android/basic/privacy.html
ro.com.google.clientidbase=android-google
ro.com.android.wifi-watchlist=GoogleGuest
ro.setupwizard.enterprise_mode=1
ro.com.android.dataroaming=false
ro.cm.version=10-20120913-UNOFFICIAL-907
ro.modversion=10-20120913-UNOFFICIAL-907
ro.config.ringtone=CyanTone.ogg
ro.config.notification_sound=CyanMessage.ogg
ro.config.alarm_alert=CyanAlarm.ogg
net.bt.name=Android
dalvik.vm.stack-trace-file=/data/anr/traces.txt
 

Kiiv

Member
Jun 13, 2012
118
12
Can you confirm that the lines which have to be modified in the framework-res are those ?
<string name="config_networkLocationProvider">@null</string>
<string name="config_geocodeProvider">@null</string>

Thanks !
 

Traveller

Administrator
Staff member
Jun 16, 2012
2,859
982
Everything you need to know about making the changes to framework-res.apk yourself can be found here.
 

Traveller

Administrator
Staff member
Jun 16, 2012
2,859
982
I have never searched for Tune-in Radio before so no ideal if it was available on my other roms, any way just did a search on my cm10 and the app was available, and I installed it.

ImageShack(TM) slideshow
My Dell Streak is running CM7 and can update Tune-in Radio without a problem. Yet I can't do it on the 9742, and I've spent quite a bit of time trying to figure out why. I finally gave up on it and simply sneakernet Tune-in Radio from the Streak to the 9742 whenever there is an upgrade.

Yet...knowing my luck, I'll try it again since Google Play has been upgraded and it will suddenly work.
 

ziggyzag

Member
May 18, 2012
100
15
So the best fingerprint for ics would be S3 ? or galaxy tab?Aside from location permissions, are there anymore permissions that are added?
 

snows

Member
Jul 2, 2012
6
0
I'm trying to release the location of coby 7022 Jelly Bean, both in windows and in linux, but it still fails.

I follow these commands:

Also copy framework-res.apk from your ROM and framework.diff to the apktool3 folder

Change to the folder on desktop:
Code:

$ cd Desktop/apktool3

Install the framework:
Code:

$ ./apktool.jar if framework-res.apk

Decompile framework-res:
Code:

$ ./apktool.jar d framework-res.apk

Apply the patch:
Code:

$ cd framework-res
$ patch -p1 < ../framework.diff
$ cd ../

Recompile framework-res:
Code:

$ ./apktool.jar b framework-res

Now replace resources.arsc in the original apk:
Code:

$ cd framework-res/build/apk
$ zip ../../../framework-res.apk resources.arsc

Push the modified framework-res.apk to your device and the NetworkLocation service should work


location Jelly Bean.rar


All files are already on the link.

Can someone fix this?
 
Top