Possible Remediation for Stagefright Android Vulnerability

By now, everyone is aware of the Stagefright vulnerability in Android.  It isn’t as much the name of the vulnerability but a media player library used in Android.

It seems that one of the ways to remediate the vulnerability is to configure your text messaging application to NOT auto-retrieve Multimedia messages (MMS).  On my phone that is under the Advanced Settings, “Auto-retrieve Automatically retrieve messages”.

The other thing that I did was disable Google Hangouts.  I don’t use it on my phone anyway so I probably should have turned it off to begin with.

If anyone has any other ideas, or corrections to this post, please contact me and I will update it.  (I am in the process of opening up the blog to comments).

Setting up Android in Eclipse, Unable to resolve target ‘android-18’

When setting up Eclipse for Android development, after you have installed the Develeper Tools and NDK Plugins and linked to the ADT-bundle and then imported your project (see othere posts related by searching for ‘android’) I got the following error:

[2014-03-24 14:14:53 - android_sdk] Unable to resolve target 'android-18'

I went and checked to make sure that the Platform.MinPlatformToolsRev property in the ~/path/to/adt-bundle-linux-x86_64-20131030/sdk/tools/source.properties matched that of my project.properties file.

They were both 18.  Eh?  Why the error?

So, in Eclipse, I went to the Window > Android SDK Manager and looked at the version of the Android SDK Platform that was installed.  It was:

Android 4.4.2 (API 19) and the checkbox next to SDK Platform under that sub-heading was checked.

So, I went back to my project.properties and updated the target property to:

target=android-19

which eliminated that error.

Invalid Project Description, project path overlaps the location of another project with the same name When Importing Existing Android Project in Eclipse

I’ve got a new install of Eclipse and am setting up to do some Android development.

After getting the Develeper Tools and NDK Plugins installed and linking to the ADT-bundle that I downloaded, I was getting an error when attempting to import the existing project by going to File > Import > Android > Existing Android Code Into Workspace.

The error was:

Invalid project description /some/path/to/project/dir_name overlaps the location of another project: dir_name

After a few searches and a couple of tries, using the File > Import > General > Existing Projects into Workspace seemed to work just fine.

Install Android Application Directly Without it Being in the Market

When developing apps you will not only want to test them against the Eclipse AVDs but also install them on an actual device.

To do so, set up an HTTP server (here is a link to another article on how to set up a quick and dirty HTTP server) and put you .apk file somewhere where you can get to it from your local network.

Make sure that you check the ‘Unknown sources’ setting that will enable you to install applications that are of non-Market origin. 

Then just open a browser on your Android device and download the .apk file.  Once done, when you attempt to open the .apk file the device will ask you if you want to install it.

Setting Up Android SDK and Plugin in an Existing Install of Eclipse

To set up an existing install of Eclipse to do some Android development do the following:

  • Go to http://developer.android.com/sdk/index.html and look for and download the ADT bundle for your OS (in my case I was using Fedora Core 18 at the time)
  • Unpack it as the user that is going to be running Eclipse and/or after you unpack it make sure that your user has read/write/execute permissons for the files in this directory (obviously, you don’t need execute permssion for non executables).  To make things easy, I just created an ~/sdks directory and unpacked it in there.
  • Fire up eclipse and go to Help/New Software.
  • Add the following repository: https://dl-ssl.google.com/android/eclipse/
  • Check off both the Developer Tools and NDK Plugins.
  • After those plugins install go to Window/Preferences/Android, and click the ‘Browse’ button next to ‘SDK Location:’, selecting the /path-to/adt-bundle-linux-x86_64-20130917/sdk.  When setting this up you might get a dialogue box that indicates that the version of the Android SDK Tools and/or Android SDK Platform Tools is not compatible with the version of the adt-bundle you are attempting to use.  In my case, I was prompted to update it via the Android SDK Manager and was able to download an updated version.

If you have an existing project that you are working with you might have to update the project.properties to update the sdk level number.

You might see an error like:

Unable to resolve target ‘android-17’ until the SDK is loaded

If so, update the ‘target=android-17’ property in the project.properties file to match the value of ‘Platform.MinPlatformToolsRev’ in the /path-to/adt-bundle-linux-x86_64-20130917/sdk/tools/source.properties file.

In my case, I updated the project.properties to:

# Project target.
target=android-18

Getting the value ’18’ from the source.properties:

Platform.MinPlatformToolsRev=18