Page 1 of 1

Android Version Hack

PostPosted: August 3rd, 2013, 3:41 pm
by anybodysguess
I have very little programming experience, and don't know if such a thing is even possible, but I thought maybe somebody around here had heard of something like this.
I was wondering if any app or modification for android has been made that can Trick an app into thinking it is running on a different version of android than it actually is. I doubt this would make any apps work that require newer a newer version of android, but it might be fun to try.

This idea stemmed from another idea I had a couple of days ago, Instagram has a new "video" feature that can only be used on android Jellybean. Although I don't see what Jellybean can do that an older version of android can't, I even have thought that this might be a gimmick to try to keep people with lower resolution cameras from posting videos.
And I looked in the Instagram system folder of my Gingerbread phone, and the "videos" folder is there, it might be a very simple mod to the app that would enable the video feature on older versions.

Just some ideas hope to hear some opinions!


Re: Android Version Hack

PostPosted: August 3rd, 2013, 8:03 pm
by st2000
Every version of Android is different. And people who develop for Android have to choose which versions their application will support. I suspect the more versions supported, the larger the Application will get. On top of that, there are new features being added all the time. For instance, the USB AOA protocol is not available on older versions of Android. So you are out of luck if you go back too far. And an Android can (as of now) not handle more than 1 USB device. But the way the Android software is written there might be a day when multiple devices are support. But, obviously, on newer versions of Android.

So masquerading an Android device as a different version than it really is is probably not a good idea. Not to mention probably a difficult thing to do. So many things depend on the version number. For example, the device might start downloading incomparable versions of applications.

Although I don't see what Jellybean can do that an older version of android can't

This is the feature list for Jellybean 4.1, the first release. If we listed everything up to Jellybean 4.3 then the list would be 3x as long:

Smoother user interface:
Vsync timing across all drawing and animation done by the Android framework, including application rendering, touch events, screen composition and display refresh
Triple buffering in the graphics pipeline
Enhanced accessibility
Bi-directional text and other language support
User-installable keyboard maps
Expandable notifications
Ability to turn off notifications on an app specific basis
Shortcuts and widgets can automatically be re-arranged or re-sized to allow new items to fit on home screens
Bluetooth data transfer for Android Beam
Offline voice dictation
Tablets with smaller screens now use an expanded version of the interface layout and home screen used by phones.[87]
Improved voice search
Improved camera app
Google Wallet (for the Nexus 7)
High-resolution Google+ contact photos[88]
Google Now search application
Multichannel audio[84]
USB audio (for external sound DACs)[84]
Audio chaining (also known as gapless playback)[84][89][90]
Stock Android browser is replaced with the Android mobile version of Google Chrome in devices with Android 4.1 preinstalled[91]
Ability for other launchers to add widgets from the app drawer without requiring root access

Re: Android Version Hack

PostPosted: August 4th, 2013, 8:24 am
by anybodysguess

I appreciate your insight into the matter. But to what extent it would work or at all is just speculation.

But I believe I was misunderstood, let me explain.

As I am sure you are aware it is a very simple mod on a Rooted android device to make it identify itself as a different device altogether, opening up many more available apps in the Play store. Many apps wont work on your device when you do this, Many others will. Some app developers only allow apps on devices they have tested them on so as to avoid bad reviews from people with devices they wont run on.
Case in point, when the Netflix app was released it was only available for download on 5-7 devices, and if the APK was put on a non supported device, you would get some sort of error, I don't remember exactly what. But the app was modified to remove the device check and it ran on many hundreds of devices that were "not supported".

What I was wondering was if there was a mod, like the device identification mod, that would allow apps to think they were on a different version of android. It seems there should be a way to do it, may never be practical, but I thought it would be a fun and interesting experiment.

And about the Instagram app, I am aware of the Improvements and upgrades in android Jelly bean, I have a Galaxy Tab 2 running Jelly bean and I love it.
What I was trying to say was,

Although I don't see what Jellybean can do that an older version of android can't.

With respects to the Instagram app, there is no improvements in Jelly Bean that would make the video feature work better on 4.1+ than on older versions. Older versions still record video in Mp4, and it has already been shown that any Mp4 video less than 15 seconds can be imported into instagram, I have done it my self on my galaxy tab, so it isn't any special encoding.

So it is my speculation that this requirement of 4.1+ devices is a rudimentary method of filtering out older cameras, because 4.1 is only on very new devices.
If this device check was removed, I would not be surprised at all if many more devices could record video and post to instagram.

Re: Android Version Hack

PostPosted: August 4th, 2013, 9:35 am
by st2000
Ok, so how do you go about doing it?

I know that if you had the source code for the application you could probably go into the XML file (an Android application is usually made up of JAVA and XML files) and change how the application is compiled. I think it would work unless you did something in the code that is not compatible with one or more of the versions on android you are trying to compile for.

As for going about it the other way? Like getting the Android (the JAVA / Darvik machine, I think that is how you refer to it) to "think" it is a different version than it really is. You would have to get the Android source code from Google, alter it, and recompile it. Not really an easy task. The code from Google is probably very generic. And probably does not work "out of the box" on any given piece of hardware. This is exactly what the people over at Cyanogenmod do. They create (for fun) rooted versions of Android for various hardware platforms.

These are the "more straight forward" ways I can think of of doing what you want. There's always the (slight) chance there is an easier way.

Like, for instance, you might just be able to "side load" a version of the Application you want by using a modified version of the "am" (application manager) utility. But who's to say that even if you could get your application installed in the proper place (I think /data/data and /data/app.) that it will not check and bomb out for the wrong version on Android during execution.

Or you might try to pull an installed version of the application from another device that can install it normally. However (I believe) an installed application is modified or "signed" such that it will only execute on the device it was install on.

The way I look at it, the easier ways are very "hit or miss" with the likelihood of a hit something like (I think) 1:1000.

Lastly you could forsake the JAVA machine and try to run the application on top of the Linux code that underpins all Androids. But you would not have any of the JAVA code that makes an Android. None of the JAVA libraries. Yeah, this last suggestion is really a dead end.


I think your best bet is to install a version of Cyannogen mod for your hardware that uses a high enough version of Android to be able to load your Application normally. And if it doesn't, download the Cyannogen mode source code, try to change the version number and recompile it. But (even though it is obvious) be prepared to lose everything including the use of your current Android hardware.


Edit: added later...

I googled "spoofing android version" and found this:

Re: Android Version Hack

PostPosted: August 4th, 2013, 11:34 am
by GaspingSpark
You could try opening up the APK file with your favorite ZIP program and then patching the "AndroidManifest.xml" file to require a different version. It would break the digital signature of the package so you might have to re-sign it with your own key unless you can load unsigned packages.

AndroidManifest.xml documentation: ... intro.html

The uses-sdk element documentation: ... ement.html

Disclaimer: I don't own any Android devices - I really don't know if it would work.

Re: Android Version Hack

PostPosted: February 9th, 2017, 7:15 am
by lindseynicole010
The most and more popular and famous Android applications contain Google Maps to display an address directly within an application. Support for location-based services (such as G.P.S.) as well as hardware support like camera, touch-screen, and motion-censors are also made available in Android software stack. In the middle of the areas where developers have struggled in Android, keeping pace with graphics/media was of major and main concern. Android has addressed this concern for mobile application development companies with built-in support for 2-D as well as 3-D graphics.
Thanks& regards,
Lindsey Nicole
Mobile Application Development Services |Mobile App Development Company in Lucknow

Re: Android Version Hack

PostPosted: March 17th, 2017, 1:53 am
by chaturvedi98765
There are major operating systems existing in today's smartphones: the Android OS, the iOS of Apple, the Blackberry of RIM and the newest of all, the Windows Phone 7. One of the key reimbursement of the OS supported also by Google is that it is open-source. Many think that the OS organism "open" is meant literally, without thoughts what's behind the term. unluckily, even though the source code is open to anyone, this does not mean, that we can liberally modify any detail of any function on any device.
Best mobile app development company
Mobile app development services