Friday, May 6, 2011

Android: "Application not installed" error when trying to install an app from sdcard

When programming for Android using Eclipse + ADT plugin, whenever you build your app, your application's installable file (.apk) is created in Bin directory under the project folder. This apk file can be used to test your application on any Android device. Recently when I wanted to test my app, I decided to use the export wizard to export an apk file instead of using the one created in Bin directory. So I just ran the export wizard and exported my app without signing it. To my surprise I wasnt able to install my app on the device although I had enabled all the required options on the phone to be able to install apps outside the market. The error I got was not very informative. It simply said
Application not installed.
Now that is not very usefull, is it?

After little googling I found out that even with Unknown Sources enabled, the app needs to be signed. Now the question is why dont I get this message when I try the file created by ADT Plugin in Bin directory. After a little more googling I found out that the apk file in Bin directory is signed by a default key and hence can be used for testing on the phone but apps signed with default key are not accepted in the Android Market. So if you want to submit your app to Market you need to sign it with your private key. More information on signing your application can be found here.
To find out how to use standard Java SDK tools to sign your application you can read this post.

No comments: