Faking android version for a specific app - android

I recently upgraded my Android phone to have Android 8.1 (LineageOS 15.1) only to realize that my office mail client does not work with it. When I consulted with the concerned team in the office, the only options I was given is to either wait till the issue is resolved (which will be late this year) or roll back to previous Android version. Now, I don't want to roll back my Phone to the previous version.
Now I am not sure if it's possible/feasible, but I was wondering if there is any way to simulate Android version for a specific app. There are application which can make your device to appear as a completely different device (I tried Market Helper), but couldn't find any option to simulate prior version.
If Android API is backward compatible, shouldn't it be possible to simulate version to specific apps? (I understand that this may not work completely, but it should be worth a shot).
Thanks in advance.

Not sure about specific app, but you can edit your device build.prop and change OS version to one, you want.
Еdit Android Version by locating ro.build.version.release= and changing the current Build Version.

Related

What is Android "optimising" during restarts?

First question, appreciate some guidance. I am currently teaching myself to develop for Android and have installed my app (via Studio after builds) onto my own phone.
Every now and then my phone will restart itself (not querying that - these things happen).
During these (occasional) restarts I will get a message that Android is "Optimising App 1 of 1". I am pretty sure it is my app being "optimised".
I have searched here and the Web. Most of the questions seem to be users that have recently upgraded OS Version and that is causing the issue. There seems to be anecdotal evidence that wiping the cache cures this and that it only does it while the device is being charged.
However, if it is my app, I don't want users of my to go through this. I suspect it relates to the Target SDK I am using but it might be something different?
So, what is Android optimising? How can I make best efforts to stop my app being the cause of this?
Many thanks.
Earlier Android OS used to run on Dalvik Runtime which means apps used to compile at the time of execution. But now, Android has switched to ART with Lollipop version. It means all the apps will be compiled beforehand making them launch faster. So "Optimizing the Apps" basically means Android is compiling all the apps.
From Android 5.0, Android uses ART instead of DVM So every time your mobile OS upgraded This will happen. Also “Optimizing app” should happen only once after OS upgrade. If it’s happening every time then there is some issue in your mobile.
A factory reset should be probably solving this. (You have to go
through the pains of redownloading all your apps etc).

How to ensure an app will run in most versions of Android?

I've developed my first app and it worked fine on my phone (Android 2.2). When I tested in a Xoom (Android 3.2), it had lots of bugs, though. I need this app to run in many different versions of Android. How can I develop it and make sure it will, having only an Android 2.2 in hands for tests?
Developing with the last version targeted in the manifest while keeping a close eye to back compatibility is how you achieve this with the best efficiency.
Many libraries (ActionBar Sherlock, NotificationCompat2, ....) will help you in making your app back compatible without issues.
I strongly recommend making the app for the last version of Android so it is ready when this version gets some steam instead of targeting whatever version is the most popular right now. It is a bit more work at the beginning, but it will save you many headaches later on.
The emulator will help you test this, the best configuration is to have a terminal with the last version of android at your disposal (this is why the nexus are a very good choice for a dev) and different configurations on the emulator to test back compatibility or other form factors.

App is incompatible with all of your devices

I'm trying to track down an issue that has just popped up. I have an app that one of my users purchased back in September that has worked fine. He has since wiped out his phone, and re-installed the stock rom. Now, for some reason, when he goes to install my app, the Android Market tells him its not compatible with his phone.
He has a Samsung Galaxy S. Looking at the statistics for my app on the Android development site, I'm showing 137 users who have installed the app on their Samsung Galaxy S's.
Since he purchased the app, I have released a couple of updates, including one a few days ago. The update from a few days ago was minor, but, it was done after a fresh re-install of my laptop, eclipse and Android SDK. This was the first update I did with ICS sdk installed as well.
How can I track down this issue? The app is just a simple soundboard, nothing complicated.
Few thoughts, first read up on how your app is configured for availability in marketplace. Maybe while submitting it you made a mistake.
Second, look at the way Android uses manifest file to say that app X requires minimum version, say 1.6 of Android, and the also how it uses manifest file to do set target sdk (basically read up on manifest file settings minsdkversion, targetsdkversion).
Lastly get the user's Android version, and try running your app on that version of Android emulator, if you can do that on handset it is better, but emulator should suffice. Good Luck.

Is android phone are upgradable to new vaesion platform

Recently android have launch 2.1 version, so i just want to ask, can phone running on 1.6 version are upgradable to 2.1 version.
There is no technical reason why not. It just depends if the ROM is made available for the phone.
If you are preparing an app for normal users, they depend on the phone producer - if he will give out new version they might install it, if not, they will stuck with the old version...
Here: http://developer.android.com/resources/dashboard/platform-versions.html you can check, which version is most popular. If you want to reach many users, 1.6 should be your choice probably.
Depends on the phone manufacturer on how they want to push the updates to a particular device. for example HTC G1 device has not been updated to ver2.1 due to old hardware while HTC Hero was not updated above ver1.5 due to the incompatibilities of their Sense UI.

Nexus One - Android 2.1 release, WHERE is the SDK for 2.1?

The Nexus android phone went on sale today with 2.1 Os on them. My friend
just ordered two with overnight shipping. I assume that means it will be in his hands tomorrow or the next day.
How is it even remotely acceptable that people will have 2.1 in their
hands before developers even get to touch the SDK? I already have
users using the Nexis-Droid 2.1 rom saying that my highly used widget
doesn't work. How am I supposed to test this out in advance without
hacking our phone all up?
All this does is frustrate users when apps don't work and further
degrades the market with 1 stars because developers don't have a
chance to update their code.
Thanks google....
You can expect the SDK in a few days. Google said it would be "open-sourced" in the next couple of days. It does suck that we don't have it yet. If I remember correctly, we received 2.0 about a week before the DROID was released, and we got 2.0.1 about the same time frame before it was pushed down to the DROID.
People using an OS that isn't available should not be complaining about apps not working. It's their choice to be an adopter of an OS that isn't even released yet. They can deal with the consequences. (which has nothing to do with you)
The part I hate about the market is our inability to respond to ratings. I have more than 2500 ratings for my app, yet I constantly get 1-stars because the users are morons and can't read. Yet I only have 325 characters for my app desciption. I have started writing my own comments and updating it to respond to ratings.
I haven't developed anything yet for Android but have looked into the SDK a bit.
I saw is possible to specify a maxSdkVersion in the manifest.
I'd say developers should put there the max version of the SDK that they've been able to test.
So if no SDK 2.1 is available yet and you put 2.0 or 2.0.1 there, it will prevent Nexus One users to download your application (I'm guessing here it works that way).
It would be in the interest of Google to release the SDK if Nexus One users cannot download and install any application at all. The users will be blaming Google then instead of you.
Edit: Oops, somebody commented it before.
Android 2.1, Release 1 SDK
The SDK has been released; this is the first time that an Android SDK has followed the release of a device running that version.

Categories

Resources