This is really getting on my nerves. I have tried like everything to get my App to work on some more exotic tabs!
Have now published a testing app (just an eclipse android project with nothing else) to try different manifest settings. However I can't get my app to work on my tab with Android Market. It works on the device directly with debug.
What I have tested: Android 2.2 Android 2.3
Added this:
<uses-feature
android:name="android.hardware.bluetooth"
android:required="false" />
<uses-feature
android:name="android.hardware.camera"
android:required="false" />
<uses-feature
android:name="android.hardware.telephony"
android:required="false" />
<uses-feature
android:name="android.hardware.wifi"
android:required="false" />
<uses-feature
android:name="android.hardware.microphone"
android:required="false" />
Tried this:
<supports-screens
android:largeScreens="true"
android:normalScreens="true"
android:smallScreens="true"
android:anyDensity = "true"/>
And then all combinations of all this. I have no uses-permission in this test app.
The strange thing that I don't get is that some apps works and I can't seems to find why they work and not some other. I have different devices and I use the web site compatibility check and some apps they just work and some doesn't.
What I would like to know is WHY an app is not compatible with Android Market for that specific device. Is there any way to get this information out? I guess this should be somewhere to find since it works sometimes and sometimes not.
Please help me find a way to figure this out.
(Im not looking for a workaround/root on the device, have already done this on some devices to get the app working. I want to know why)
---- EDIT ---- I now found and ran this command for my test app: ./aapt dump badging testapp.apk
I then see this: supports-any-density: 'true' densities: '120' '160' '240' Running screeninfo on my device say it has density 200. So I guess this is the problem. So now the question is, how can I add 200 to that list. Dont want to change density on the device.
This is my manifest:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="se.whatnapp.mainfesttester"
android:versionCode="8"
android:versionName="1.9" >
<uses-sdk android:minSdkVersion="10" android:targetSdkVersion="10" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:name=".MainfestTesterActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
As you can see this is a test case and I have nothing in it really. And still it doesn't work! This is the result from aapt dump badgin:
package: name='se.whatnapp.mainfesttester' versionCode='8' versionName='1.9'
sdkVersion:'10'
targetSdkVersion:'10'
application-label:'Mainfest Tester'
application-icon-120:'res/drawable-ldpi/ic_launcher.png'
application-icon-160:'res/drawable-mdpi/ic_launcher.png'
application-icon-240:'res/drawable-hdpi/ic_launcher.png'
application: label='Mainfest Tester' icon='res/drawable-mdpi/ic_launcher.png'
launchable-activity: name='se.whatnapp.mainfesttester.MainfestTesterActivity' label='Mainfest Tester' icon=''
uses-feature:'android.hardware.touchscreen'
main
supports-screens: 'small' 'normal' 'large' 'xlarge'
supports-any-density: 'true'
locales: '--_--'
densities: '120' '160' '240'
And yes I know I misspelled, dirty demo ;-).
I extracted a apk from a application that I could find and could install and the only real difference is in the locale:
supports-screens: 'small' 'normal' 'large' 'xlarge'
supports-any-density: 'true'
locales: '--_--' 'ja' 'nb' 'de' 'he' 'th' 'zh' 'nl' 'po' 'ar' 'fr' 'tr' 'es' 'it' 'ru' 'zh_TW'
densities: '120' '160' '240'
Can this be stopping the app from being download?
And this is the build.prop from the device:
# begin build properties
# autogenerated by buildinfo.sh
ro.build.id=GRI40
ro.build.display.id=11A4-D1-H1-H01-1233
ro.build.version.incremental=20110908.151019
ro.build.version.sdk=10
ro.build.version.codename=REL
ro.build.version.release=2.3.3
ro.build.date=Thu Sep 8 15:26:28 CST 2011
ro.build.date.utc=1315466788
ro.build.type=eng
ro.build.user=paco
ro.build.host=inet
ro.build.tags=test-keys
ro.product.model=V8
ro.product.brand=telechips
ro.product.name=full_m801
ro.product.device=m801
ro.product.board=m801_evm
ro.product.cpu.abi=armeabi-v7a
ro.product.cpu.abi2=armeabi
ro.product.manufacturer=telechips
ro.product.locale.language=en
ro.product.locale.region=US
ro.wifi.channels=
ro.board.platform=tcc88xx
# ro.build.product is obsolete; use ro.product.device
ro.build.product=m801
# Do not try to parse ro.build.description or .fingerprint
ro.build.description=full_m801-eng 2.3.3 GRI40 20110908.151019 test-keys
ro.build.fingerprint=telechips/full_m801/m801:2.3.3/GRI40/20110908.151019:eng/test-keys
# end build properties
#
# system.prop for TCC88xx
#
# The OpenGL ES API level that is natively supported by this device.
# This is a 16.16 fixed point number
ro.opengles.version = 131072
# This is a high density device with more memory, so larger vm heaps for it.
dalvik.vm.heapsize=24m
# density in DPI of the LCD of this board. This is used to scale the UI
# appropriately. If this property is not defined, the default value is 160 dpi.
ro.sf.lcd_density = 200
# SSG, to enable WMA, WMV and ASF file recognizing routine
ro.media.dec.aud.wma.enabled = 1
ro.media.dec.vid.wmv.enabled = 1
# SSG, to enable RA, RM and RMVB file recognizing routine
ro.media.dec.aud.ra.enabled = 1
ro.media.dec.vid.rv.enabled = 1
# SSG, if changing audio play rate is supported, set this property to 1
ro.media.aud.rate.changeable = 0
#Ä£¿éÉ豸µÄÈ«³Æ£¬ÐèÒªÓëATÖ¸Áî+CGMM·µ»ØµÄÉ豸ȫ³ÆÍêÈ«Ò»Ö£¬¸÷¸öÉ豸ȫ³ÆÓöººÅ¸ô¿ª
#ÒòΪAndroidµÄÊôÐÔÖµ³¤¶ÈΪ92¸ö×Ö·û£¬¿ÉÒÔ°´ÕÕÕâ¸öģʽ×ÔÓÉÌí¼Óɾ³ýÖ§³ÖµÄÉ豸
rild.device.list0 =EM660C
rild.device.list1 =EM660
rild.device.list2 =EM770
rild.device.list3 =E1750
rild.device.list4 =EC122
rild.device.list5 =EC169C
rild.device.list6 =E1752
rild.device.list7 =K80
rild.device.list8 =K3765
rild.device.list9 =MU509
rild.device.list10 =EM560
rild.device.list11 =29
rild.device.list12 =E1550
rild.device.list13 =E1552
#Ä£¿éµÄril¶¯Ì¬¼ÓÔØ¿âÎļþÃû³ÆÁбí
rild.libpath.list0 =/system/lib/libtcc89xx-evdo-em660-ril.so
rild.libpath.list1 =/system/lib/libtcc89xx-evdo-em660-ril.so
rild.libpath.list2 =/system/lib/libtcc89xx-wcdma-em770-ril.so
rild.libpath.list3 =/system/lib/libtcc89xx-wcdma-em770-ril.so
rild.libpath.list4 =/system/lib/libtcc89xx-evdo-em660-ril.so
rild.libpath.list5 =/system/lib/libtcc89xx-evdo-em660-ril.so
rild.libpath.list6 =/system/lib/libtcc89xx-wcdma-em770-ril.so
rild.libpath.list7 =/system/lib/libtcc89xx-wcdma-titan-ril.so
rild.libpath.list8 =/system/lib/libtcc89xx-wcdma-em770-ril.so
rild.libpath.list9 =/system/lib/libtcc89xx-wcdma-em770-ril.so
rild.libpath.list10 =/system/lib/libtcc89xx-tdscdma-ril.so
rild.libpath.list11 =/system/lib/libtcc89xx-wcdma-em770-ril.so
rild.libpath.list12 =/system/lib/libtcc89xx-wcdma-em770-ril.so
rild.libpath.list13 =/system/lib/libtcc89xx-wcdma-em770-ril.so
#²»Í¬Ä£¿é¶ÔÓ¦µÄÆô¶¯²ÎÊý£¬Èç¹ûΪauto£¬Ôò±íʾ×Ô¶¯¼ì²âÆô¶¯²ÎÊý
#Èç¹û²»Îªauto£¬ÄÇôÆäÖµ½«×÷Ϊ¸½´øµÄ²ÎÊý£¬Óë×Ô¶¯¼ì²âµÄÆô¶¯²ÎÊýÒ»Æð×éºÏ³É¸´ºÏ²ÎÊý×é
#È磺rild.libargs.list6 =-x /dev/ttyUSB1£¬Èç¹û×Ô¶¯¼ì²âµ½µÄÆô¶¯²ÎÊýΪ/dev/ttyUSB0£¬
#ÄÇô×îÖյIJÎÊý½«Îª:-d /dev/ttyUSB0 -x /dev/ttyUSB1
rild.libargs.list0 =auto
rild.libargs.list1 =auto
rild.libargs.list2 =auto
rild.libargs.list3 =auto
rild.libargs.list4 =auto
rild.libargs.list5 =auto
rild.libargs.list6 =auto
rild.libargs.list7 =-x /dev/ttyUSB1
rild.libargs.list8 =auto
rild.libargs.list9 =auto
rild.libargs.list10 =fixed:-d /dev/ttyACM2
rild.libargs.list11 =auto
rild.libargs.list12 =auto
rild.libargs.list13 =auto
#ÆäËûһЩ²ÎÊý
rild.gprs.status=unknow
rild.device=unknow0
#
# ADDITIONAL_BUILD_PROPERTIES
#
keyguard.no_require_sim=true
ro.com.android.dateformat=MM-dd-yyyy
ro.com.android.dataroaming=true
ro.ril.hsxpa=1
ro.ril.gprsclass=10
ro.config.notification_sound=OnTheHunt.ogg
ro.config.alarm_alert=Alarm_Classic.ogg
ro.media.dec.jpeg.memcap=20000000
ro.media.dec.vid.max_width=1920
ro.media.dec.vid.max_height=1088
ro.system.hdmi_max_resolution=fullhd
ro.system.hdmi_active=true
ro.system.composite_active=false
ro.system.component_active=false
ro.system.hdmi_portable=true
tcc.output.support.camera=0
tcc.hdmi.720p.fixed=0
ro.kernel.android.checkjni=1
ro.setupwizard.mode=OPTIONAL
net.bt.name=Android
dalvik.vm.stack-trace-file=/data/anr/traces.txt
specific device
this doesn't work on? – Introspectxlarge
screens mentioned anywhere in your manifest? These are usually the ~10 inch tablets. – Preciousprecipice