Google Play is not showing my app - android

I read many many posts on stackoverflow and I also went through many tutorials like Vogella and theNewBoston to see where am I making a mistake in publishing my app.
I exported signed application of my package, created new apk and keystore. I believe that debuggable = false is not required to be set now. Eclipse automatically does that.
I can see my developer console showing my app as published however when i try to search google play on either my phone or pc, i cannot find my app. If only i use package name to search for my app, i can find it. my app is developed only for small and normal screen phones and not for tablets. I tried searching the app using numerous phones with no luck.
attached here is my manifest. please tell me how to go over this issue.
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.MyPackage"
android:versionCode="2"
android:versionName="1.1" >
<uses-sdk
android:minSdkVersion="11"
android:targetSdkVersion="18" />
<!-- These 4 lines have been added by user i.e me -->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
<!--
The following two permissions are not required to use
Google Maps Android API v2, but are recommended. added by me
-->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<permission android:name="com.MyPackage.permission.MAPS_RECEIVE"
android:protectionLevel="signature"></permission>
<supports-screens
android:anyDensity="true"
android:normalScreens="true"
android:resizeable="true"
android:smallScreens="true" />
<uses-feature
android:glEsVersion="0x00020000"
android:required="true" />
<uses-permission android:name="android.permission.CALL_PHONE" />
<application
android:allowBackup="true"
android:icon="#drawable/ic_launcher"
android:label="#string/app_name"
android:theme="#style/AppTheme" >
<activity
android:name="com.MyPackage.SplashScreen"
android:label="#string/app_name"
android:screenOrientation="portrait" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="API Key" />
</application>
</manifest>

It took almost couple of days for my app to show up. Just a small note, if you cannot find your app in the play store, try putting the name in double quotes like "Park The Car" or "Relationship Guru" and then search it. Even when Play store started showing my app, if I just search with the app name with no double quotes, I could not find it. I saw almost 500 apps and still I could not find my app. But on using double quotes, I got a perfect string match.
Hope this helps. Thanks a lot for helping me with this question.

There's possibility that the app that you're trying to search is not compatible with your device. That is why it is not showing up in your device. However, when you look up on the desktop site, it is visible. This is because, you are just viewing the app. If you will sign into you Google account, then you'll realise that when click the install button (on the desktop site) it will show you the devices that are associated with that account asking with their compatibility.
Sometimes it is also that some apps are region specific and are not visible (due to the same reason)

Put your app name in your description. Not just the title spot.

Make sure your android:label" is correct in the manifest file. #string/app_name should be set to the correct name.

Search my using your package name.
You will Find it.
If your package name is com.MyPackage.
Search as com.MyPackage in the Google Play Search Box.
It works Pretty Fine.

Related

Why google play store is not showing the reason for device unavailability for app?

I am mobile application developer and working on native as well as Phone Gap also.
I have build one application in Phonegap that work perfectly in device but not working in some of the tabs.
That i found here as per the Google Play Store policy. But why they are not showing a reason that due to some these kind of invalid code or due to some specific error which Google not allow you to run on some specific device.
Query 1 : I have Samsung Galaxy tab 2 and tab 3. My app is not working in both tablet as per the unsupported device availability list and when user search from tablets then they can't find app also in play store.
In my app i have set all requirements for all devices and tablets as below ,
<?xml version="1.0" encoding="utf-8" ?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="my_pkg" android:hardwareAccelerated="true" android:versionCode="6" android:versionName="1.5" android:windowSoftInputMode="adjustPan">
<supports-screens android:anyDensity="true" android:largeScreens="true" android:normalScreens="true" android:resizeable="true" android:smallScreens="true" android:xlargeScreens="true" />
<uses-sdk android:minSdkVersion="7" android:targetSdkVersion="18" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.BROADCAST_STICKY" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.VIBRATE" />
<application android:debuggable="false" android:hardwareAccelerated="true" android:icon="#drawable/ic_launcher" android:label="#string/app_name">
<receiver android:name="my_pkg.AlarmReceiver">
</receiver>
<receiver android:name="my_pkg.AlarmRestoreOnBoot">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
<activity android:name="my_pkg.MainActivity" android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale" android:label="#string/app_name" android:theme="#android:style/Theme.Black.NoTitleBar" android:windowSoftInputMode="adjustPan">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
So, I am stuck here what is the issue with my app and why Google store is not allow to install my app in some of the device and tablet.
Before a week the total number of unsupported device & tablets are 1550 and now that are 1153.
Query 2 : How can i found the mistakes due to which i am not able to run my app in tablets and how to resolve it?.
Please Help me how to resolve this issue because without knowing the reason how can i solve it.
Finally after spending long time on RnD i have found solution. Actually i am not solo founder for this answer. I really thanks to all who had helped me to solve this issue.
Divesh Salian's answer is very near. I tried as per his instruction and along with that I have alter my config.xml file which have some unnecessary <features></features> tags.
I have asked my question in Samsung Developer form and also tried test my app in RTL but i was not able to login in web browser, don't know why ?
and finally I applied some other alternative regarding <uses-feature></uses-feature>
<uses-feature
android:name="android.hardware.telephony"
android:required="false" />
<uses-feature
android:name="android.hardware.microphone"
android:required="false" />
<uses-feature
android:name="android.hardware.camera"
android:required="false" />
<uses-feature
android:name="android.hardware.camera.autofocus"
android:required="false" />
<uses-feature
android:name="android.hardware.camera.front"
android:required="false" />
<uses-feature
android:name="android.software.input_methods"
android:required="false" />
I have use above features but not going to filter app base on that so i have set android:required="false" for some specific features.
Care below things if you find this type of problem
How Google play filter the apps ?
Is your Uses-Feature are required ?
is your version code valid ?
Is your app compatible with all screen?
Have you added permission which are not required for your apps ?
I hope these links will solve your problem definitely.
Thanks to all again !!!
Try adding this in your manifest file, Previously it had worked for me
<uses-feature android:name="android.hardware.camera" android:required="false"/>
<uses-feature android:name="android.hardware.camera.autofocus" android:required="false"/>
Well, in order to decipher the problem, create a Samsung Developers account and submit your app. Their engineers will test the app on different devices(phone and tablet) and give you a detailed report and a video of whatever issue they encounter while testing the app.
I'm sure it will solve your problem.
Try and run on the app via Android emulator and check the log cat for errors.
Secondly if the app was built with HTML5 and Javascript, try and validate the html tags and check your javascript functions.
Ensure you that have null values for some certain fields. Add console messages in your javascript functions to validate all the values the app needs.
Example:
function TestMe() {
var a1 = document.getElementById("textboxname").value;
console.log(a1); //this line is to show that you don't have a null value.
}
</script>

Android app is published, but not visible anywhere in Google Play

I have tested this app on the Android emulators, phones, tablets, and Google TV. Its works. When I published it Google Play, the app is not visible. Below is the manifest. I sincerely appreciate any insight as to the problem. Thank- you.
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.zzzz.xyzxyz"
android:installLocation="internalOnly"
android:versionCode="4"
android:versionName="1.4" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="15" />
<uses-feature
android:name="android.hardware.touchscreen"
android:required="false" />
<uses-feature
android:name="android.hardware.microphone"
android:required="false" />
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<supports-screens
android:anyDensity="true"
android:largeScreens="true"
android:normalScreens="true"
android:resizeable="true"
android:smallScreens="true" />
<application
android:icon="#drawable/ic_launcher"
android:label="#string/app_name" >
<activity
android:name=".AlbumSelectorActivity"
android:label="#string/app_name"
android:launchMode="singleTask" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="xyzxyzAppWidgetActivity"
android:noHistory="true" >
</activity>
<activity
android:name=".SelectableImagesActivity"
android:noHistory="true" >
</activity>
<activity
android:name=".SelectedImageActivity"
android:noHistory="true"
android:windowSoftInputMode="stateHidden|adjustResize" >
</activity>
<activity
android:name=".ReplayAlbumActivity"
android:noHistory="true"
android:windowSoftInputMode="stateAlwaysHidden|adjustResize" >
</activity>
<activity android:name=".PreferenceHelpActivity" >
<category android:name="android.intent.category.PREFERENCE" >
</category>
</activity>
<activity android:name=".PreferenceSettingsActivity" >
<category android:name="android.intent.category.PREFERENCE" >
</category>
</activity>
<service android:name=".ReplayAlbumService" >
<intent-filter>
<action android:name="com.zzzz.xyzxyz.ReplayAlbumService" />
</intent-filter>
</service>
<activity
android:name=".xyzxyzAppWidgetConfigureActivity"
android:icon="#drawable/ic_launcher"
android:label="#string/appwidget_name" >
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_CONFIGURE" />
</intent-filter>
</activity>
<receiver
android:name=".xyzxyzAppWidgetProvider"
android:icon="#drawable/ic_launcher"
android:label="#string/appwidget_name" >
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
</intent-filter>
<meta-data
android:name="android.appwidget.provider"
android:resource="#xml/appwidget_provider" />
</receiver>
</application>
</manifest>
Just try it on your browser setting the link:
https://play.google.com/store/apps/details?id=yourpackagename
even if it's not indexed in the search, if it's published you will find it, if not, somethings wrong then
I ran into this problem (or a similar one). I submitted my app on the internal test track and soon after, in the Google play Console, it said my app is Published and provided a link to go to Google Play Store to download the app. However, when I clicked the link, it would tell me the requested URL could not be found. I also could not find the app in the Google Play Store by searching for it.
The solution:
Apparently, I had to add myself to the testers group and more importantly - opt in. I found the opt-in link in Google play Console:
On the left, click "Release Management"
"App releases"
Go to the version you have uploaded and click "MANAGE".
Click on "Manage testers". There, you will find an opt-in URL.
Try searching with exact name in double quotes ""
like for eg: "ZipDrive"
it might take some time to index it. Until that you might not find it in the search. It is also posible that you don't see it because it doesn't match the device you use to search for it. Or the country you're in.
I had been waiting ~11 hours and still it wasn't online... until I realised I'd published it but it was still in Beta. I never used the Google Play Alpha/Beta testing features but I still had to click on the button under the Beta tab to "Move to Production".
Here is my first hand experience. I published my first app on the Google play store (GPS) on October 15th. Was pretty excited to locate on GPS. But yes the same experience, it didn't show up.
Then here is the series of events:
1. Day 1 to Day 3
When searched using double quotes "Cool Tic Tac Toe", I could see at the bottom of the search list - at the last almost after 200 items, but yes it was there which made me happy.
2. Day 4 onwards -
I removed the quotes and searched by app name with the spaces i.e. Cool Tic Tac Toe, it showed up almost at the bottom.
In the mobile or tablet version of Play Store app, you will see filters like "New" "4.5" or "4.0" for ratings. So when I used the filters New and 4.5 in the play store app, it started showing up almost in the first few pages.
3. Day 6-7
My app now shows up at the top (in top 10) when I put the exact app name without any quotes and without using any filters - this is very good sign. So far I have about 100 downloads (most from my friends and family and not from any real user I would imagine as no one in the world will really search my app with its full name.
I realize visitors of GPS would not know my app name, they will search with a generic key word like Tic Tac Toe and not Cool Tic Tac Toe
Day 7 onwards - today(8th day)
I search my app with generic name Tic Tac Toe in GPS, it doesn't show up ANYWHERE, not even at the bottom. This is a little disappointing, but I do hope it will crawl up and start showing somewhere.
HOWEVER If I add the filters "New" and "4.5" it does show up in top 25. This I think is a good sign. I will update more on this if I see any related behavior.
Hope this helps give some idea to my fellow developers who have put their first app in GPS and trying to locate it in the ocean of many millions of other apps.
I tried all the above solutions but I just realised someone can do this below-mentioned mistake too.
In Play Console, go to Setup-> Advanced settings in the left pane.
Select Managed Google Play
Choose the Turn off option, if you want your app to be publicly available.
Since you've waited a sufficient amount of time and it should appear, you can try checking your APK to see what default permissions and features your app requires using aapt:
$ aapt d badging your.apk
Make sure that what is listed for features is not filtering your device. You can mostly do this on Google Play too, but I have seen a few differences where Google Play will show that it is available for older devices, but it actually will not install.
Also, as suggested by #ricvieira, you should do a query in a web browser to see if your app shows up at all.

Application Package installer has stopped unexpectedly on installation

Hi all. This is my first post on StackOverflow, though I have been making use of this site for a several years. Usually I'm able to find an answer to any queries that I may have, by referring to questions that others have asked; however, in this case I am completely stumped, despite having done quite a bit of homework already
I am currently in the process of developing an Android application which is required to communicate with a piece of hardware - more specifically a PIC32 board - and display data that is returned by the board in real-time.
At present I have simply been using Eclipse and Android emulator for designing the interface and programming the backend of the application. And, I have now gotten to a stage where I would like to test the operation of the application on a physical Android device. However, whenever I attempt to install the application, directly from the phone (I send the .apk via Dropbox) I always get the error 'The application Package installer (process com.android.packageinstaller) has stopped unexpectedly. Please try again'. Now, I have done my homework and seemed to have determined that the error may lie in the Android Manifest file for the application. However, I just cannot see where this issue may be. I have seen other issues resolved by removing certain tags or replicated tags; however, even then my application does not want to install on my device, though it installs and works pretty much perfectly everytime when run through the emulator.
The application I am developing is based loosely on the Demo code provided by the hardware manufacturer. It has been appropriately modified. And, when I appropriately modified the Manifest file for my application and tested it with the demo application everything seemed to work fine on a physical device. So, something is telling me that the Manifest file may not actually be the issue. The key differences between my application and the demo application is that I have divided the code up into appropriate packages, such that one contains application code (activities) and the other contains code for communicating with the PIC32 board. I have also added an activity - the demo code only has one, but have two at present. The final difference is that I have defined a global object, for communicating with the board, that can be used by all of the application's activities. However, I don't believe that these would be the cause of this issue.
So again, the application seems to work fine on the emulator, but it simply does not want to install on a physical Android device - everytime I try to install I get an alert dialog box displaying this message.
I would very much appreciate any help and advice that anybody could provide, and thanks in advance.
Also, here is the Manifest file for the application I am developing:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.tribosonics.android.TribosonicsApp"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="10" >
</uses-sdk>
<uses-sdk android:targetSdkVersion="10" >
</uses-sdk>
<!--
<permissions>
<feature name="android.hardware.usb.accessory" />
<library
name="com.android.future.usb.accessory"
file="/system/framework/com.android.future.usb.accessory.jar" />
</permissions>
-->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<application
android:name=".GlobalAccessoryManager"
android:debuggable="true"
android:icon="#drawable/tribosonics_icon"
android:label="#string/app_name" >
<intent-filter>
<action android:name="android.hardware.usb.action.USB_ACCESSORY_ATTACHED" />
</intent-filter>
<meta-data
android:name="android.hardware.usb.action.USB_ACCESSORY_ATTACHED"
android:resource="#xml/accessory_filter" />
<activity
android:name=".TribosonicsApp"
android:label="#string/app_name"
android:screenOrientation="portrait" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".SetScanPreferences"
android:screenOrientation="portrait" >
</activity>
<uses-library android:name="com.android.future.usb.accessory" />
</application>
</manifest>
android manifest, icon image is big so please reduce your image icon size and run the application it's working fine.
I saw this with the following exception in LogCat:
E/AndroidRuntime(28817): FATAL EXCEPTION: main
E/AndroidRuntime(28817): java.lang.SecurityException: Permission Denial: starting Intent { act=android.intent.action.MAIN flg=0x10000000 cmp=com.example.app/.MyActivity } from ProcessRecord{487978e8 28817:com.android.packageinstaller/10063} (pid=28817, uid=10063) requires android.permission.ACCESS_FINE_LOCATION
I thought the problem was due to some <uses-permission...> tags in the manifest but in my case there was an android:permission="..." attribute in my manifests application tag which seemed to be causing the package manager to get the exception and barff. Deleting this got me going again.
change changing android:debuggable="true" to android:debuggable="false" and see if it makes any difference.

Android Market - Application not visible

Hello everybody
I am here to ask your kind support on this matter since it is ruining about 1 year of development for just an application visibility problem.
We have developed a game called Fantasy Racing which has been published few days ago on the Android Market under the racing category but the game is not visible at all.
This problem already occurred on another simple game we have developed in the past but we didn't focus much on it since the efforts were minimal, now, this application is our biggest effort so far hence, I need to resolve this issue.
The application is:
Visible in the list of the applications of the publisher profile
Found if you search by name
The application is not visibile in:
Category Games in general
Category Games/Racing, there are about 20 pages of racing game and I can find games such as "happy s. valentine" and "Angry birds" but not my game, even at the last position
We checked almost all the sections and the game is not listed anywhere.
The android market support responds with an automatic bot.
We are desperate.
I think it could be depending on the android manifest file configuration.
I would really thank you if you could help me to identify any problem on it:
<?xml version="1.0" encoding="utf-8"?>
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-sdk android:minSdkVersion="8" />
<uses-feature android:glEsVersion="0x00020000" />
<supports-screens
android:anyDensity="true"
android:largeScreens="true"
android:normalScreens="true"
android:resizeable="true"
android:smallScreens="false" >
</supports-screens>
<application
android:icon="#drawable/icon"
android:label="#string/app_name" >
<meta-data
android:name="ADWHIRL_KEY"
android:value="adda8faafddd4e08be96b61a98ad0e3b" />
<activity
android:name="org.teamnovasoft.racegame.gameactivity.IntroSplashScreen"
android:configChanges="orientation|keyboardHidden"
android:screenOrientation="landscape"
android:theme="#android:style/Theme.NoTitleBar.Fullscreen" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="org.teamnovasoft.racegame.gameactivity.MainActivity"
android:configChanges="orientation|keyboardHidden"
android:screenOrientation="landscape"
android:theme="#android:style/Theme.NoTitleBar.Fullscreen" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity
android:name="com.google.ads.AdActivity"
android:configChanges="keyboard|keyboardHidden|orientation" >
</activity>
<activity
android:name="com.millennialmedia.android.MMAdViewOverlayActivity"
android:theme="#android:style/Theme.Translucent.NoTitleBar" >
</activity>
<activity
android:name="com.millennialmedia.android.VideoPlayer"
android:configChanges="keyboardHidden|orientation|keyboard"
android:theme="#android:style/Theme.NoTitleBar.Fullscreen" >
</activity>
</application>
EDIT: The game uses 2 native libraries using Android NDK. I don't know if it is relevant or not :(
You should decrease API level in application manifest file.
My situation was:
1. I compiled my apk with API level 10
2. I browsed Google Play from Google Account that have only device that supports API level 6 applications.
So I had situation when my application wasn't visible from my account, because it was filtered.
There might be 2 possibilities:
take a couple of days, for my app, around 1week.
Google Play just do not show all the apps in the market. You may need promote it by increasing downloads to get is shown in the list.
Sorry for the late reply.
The reason was only a matter of time before the indexing system of Google has published the application.
I was habit to a faster response from the market in the old days when the number of daily application releases was much lower. Now, the market is overwhelmed by applications and this require a longer time to process newcomers.
If it does happen to you, it depends on time.
Another possible explanation would be the manifest configuration which could filter your device from displaying the product but this was not my case.
It is definitively non related to the promoting of the app.

After specifying android.hardware.faketouch the app still requires android.hardware.touchscreen?

I've been working on an app that originally had no touchscreen requirements specified in it's manifest file, so according to the documentation android.hardware.touchscreen is assumed. Because the app doesn't require advanced gestures, a device with a faketouch screen (android.hardware.faketouch) should also be able to run the app, so I added that requirement to the manifest file for an update.
However, the Android market still lists android.hardware.touchscreen as a requirement (as well as android.hardware.faketouch), and I still can't find the updated app in the market on a faketouch device (HTC Wildfire).
These are the permissions, requirements and libraries I specified:
<uses-library android:name="com.google.android.maps" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission>
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" />
<uses-feature android:name="android.hardware.faketouch" />
<uses-sdk android:minSdkVersion="4"></uses-sdk>
Is this a problem (perhaps the market remembers old requirements, or perhaps the Google Maps library inserts a touchscreen requirement) or is it normal to see both listed when specifying faketouch?
It might be too late but might help someone else looking for same problem
If you want the touchscreen feature to be optional add this to manifest:-
<uses-feature android:name="android.hardware.touchscreen" android:required="false"/>
otherwise it is implicitly taking touchscreen as required compulsarily based on some of your code

Categories

Resources