I'm creating a mobile website that will include a page from which people can download relevant apps that we recommend. I've found instructions for creating the links to launch the Market but this assumes that you are the developer of the app in question and know the exact package name.
Is there any way to get the package name, other than just contacting the developers and asking?
Also, it turns out that those instructions don't really work for creating web hyperlinks. They only give you a URI to reference in a string of Java code in another Android app. Our site is in Drupal, so Java is not going to work.
For the iPhone, I found easy instructions for getting the URL/link style I need from the iTunes store, so I'm looking for info like that.
Use
aapt
from the SDK likeThis will print the package name together with other info.
the tools is located in
<sdk_home>/build-tools/android-<api_level>
or
<sdk_home>/platform-tools
or
<sdk_home>/platforms/android-<api_level>/tools
Updated according to geniusburger's comment. Thanks!
If you want this information in your phone, then best is to use an app like 'APKit' that shows the full package name of each app in you phone. This information can then be used in your phone.
Once you have the package name, as described Chris Smith's answer, you could/should use an intent url for the link. It's a special format URL that will launch the package if the user has already installed it, or open the play store at the application's page if not...
The app needs to support this, with an activity tagged as browsable, but many will.
This is quite a difficult situation, you can get the package name from the apk file, but i assume you want to do it automatically.
AndroLib has the package names for lots of apps but you would have to parse it as there is no API that i could find. Theres a dev section that may have some tools to help you.
Good Luck
It depends where exactly you want to get the information from. You have a bunch of options:
<manifest>
element will have apackage
attribute.adb
, you can launchadb shell
and executepm list packages -f
, which shows the package name for each installed apk.PackageManager
Once you've got the package name, you simply link to
market://search?q=pname:<package_name>
orhttp://market.android.com/search?q=pname:<package_name>
. Both will open the market on an Android device; the latter obviously has the potential to work on other hardware as well (it doesn't at the minute).The following code will list them out: