Why is this happening?
If you're running older hardware like a Droid Eris or HTC Hero, you know the sting of this situation. Some newer games are filtered out due to hardware requirements. The developers are counting on higher performing phones, and they don't want you to slam the app in reviews because your device chokes on it. This was the case when the full version of Angry Birds hit Android last week. Users of older phones were unable to get the app, even though it often worked on those devices. Granted, it didn't work all that well, but why not let the users give it a shot?
You may also see issues with app availability with some of the copy protection being used in the Market. If a developer chooses to copy protect their apps, phones that are not properly registered with the Market will be unable to see them. This is common with brand new phones, and those that are running pre-release ROMs (like the first Android 2.2 leaks on the Nexus One). There are way around this, though. Here's what to do.
Check with the developer for paid and free apps
Let's say you get the APK file, but then what? You're going to need to side-load it. That means using the Android package manager to install the app manually. AT&T Android phones will need some hacking to enable the "Unknown Sources" option. Other Android phones will let you toggle that on in the Application settings. AT&T users should check out this desktop program, or find a root exploit for the phone.
You will need to either download the APK on the phone, or move it over to the SD card from a computer. Get a file manager like Astro or Estrongs, and navigate to the directory where you have placed the APK file. Tap on it and choose App manager if your file manager brings up a dialog box. On the next screen, just tap Install, and the app will install immediately. This is what we had to do for Pure Calendar Widget when testing early 2.2 builds on the Nexus One due to the app being protected on the Market.
Use AppBrain to get any free app on any phoneAppBrain tracks Android applications, and they also have a pair of Android apps that can automatically install apps on your phone. To take advantage of this, you'll first need to set up an AppBrain account. The site uses Google Apps, so you can sign in with your Gmail credentials.
Next, download the AppBrain Android app and sign into that. This is a way of syncing and browsing apps on your phone. The second app from the AppBrain folks is where the magic happens, but the AppBrain app is required as well. Fast Web Installer ties into AppBrain letting you send apps over the air to your phone. Just launch this app and activate it. It should automatically get your long in information from the AppBrain app. You may have to re-launch this app ever two weeks of so. There appears to be a time out involved.
Now navigate to the app you want on AppBrain, and if you are logged in, there should be an Install button at the top of the page. Click it and the app will be pushed to your phone immediately. It installs itself, and you will get a notification when the deed is done. AppBrain does not care what phone you have, or what software version you are running. Unfortunately, this only works with free apps right now, but that's where we've seen some of the more baffling restrictions. This is very useful for free apps that are regions specific.
Google Car Home app we featured a few weeks ago was not showing up in the Market. It was still listed on AppBrain, as well as on other Android devices. Instead of wait for Google to work out this strange restriction, we just installed the app over the air with AppBrain. It works just fine on the G2, as expected.
The Dangerous WayThe Android Market filters content based on your phone's identity. This identity is contained in a file called the build.prop. You can usually find this in the /system directory of the phone's internal storage. To edit this, you will have to be rooted. It can be done on either the phone with Root Explorer, or on the PC through ADB.
Make sure you research what strings to edit in this file first. It will vary from phone to phone. Some modifications that work on one, could break other features on another. If done correctly, you should be able to see any apps you want, though. If you decide to go this route, make sure you keep a backup of the original build.prop file just in case.
The Android ecosystem is made up of a huge number of hardware variations. You're bound to eventually run into some apps that your phone filters out. These are a few ways to get around that frustration. We hope that when Google gets around to launching the new web-based Android Market, there is more information available about why apps are filtered out. Have you ever encountered a missing app on Android? What did you do?