On which Android devices is uiautomator available? - android

I want to use uiautomator or uiautomatorviewer for Android test automation.
Can I use these tools on any Android device?

You must have a device with Android OS version 4.1 (JELLY_BEAN, API level 16) at minimum. Documentation reference:
To use these tools, you must have the following versions of the Android development tools installed:
Android SDK Tools, Revision 21 or higher
Android SDK Platform, API 16 or higher

Related

Is Android SDK Level 26 supported for use with Appcelerator Titanium?

The latest Appcelerator docs seems to indicate that the max supported version of the Android SDK is Level 26 for Android target version 8.x Oreo.
So I opened Android Studio and uninstalled all other Android SDK Levels per screenshot below, and installed 26:
However, now when I try to run my app on Android 8.0 (Oreo) emulator via Appcelerator Studio I get the following error:
[ERROR] : Unable to find a suitable installed Android SDK that is API >=23 and <=25
When I run appc info from the command line I get this message:
! Android API Android 8.0.0 (android-26) is too new and may or may
not work with Titanium SDK
7.1.0.
The maximum supported Android API level by Titanium SDK 7.1.0 is API level 25.
This seems to contradict the documentation. If Android SDK Level 26 is not supported, then is using Level 25 adequate for building apps that will run on Android 8.0 Oreo?
Here is tooling I have running:
Operating System
Name = Mac OS X
Version = 10.13.3
Architecture = 64bit
# CPUs = 4
Memory = 8589934592
Node.js
Node.js Version = 9.4.0
npm Version = 5.6.0
Titanium CLI
CLI Version = 5.0.14
Titanium SDK
SDK Version = 7.1.0.GA
SDK Path = /Users/.../Library/Application Support/Titanium/mobilesdk/osx/7.1.0.GA
Target Platform = android
It should be supported. I use Titanium SDK 7.1.0 GA with Android API 26 (8.0) and can compile correctly. Maybe you need to change your Android manifest inside the tiapp.xml:
<android xmlns:android="http://schemas.android.com/apk/res/android">
<manifest>
<uses-sdk android:minSdkVersion="16" android:targetSdkVersion="26"/>
</manifest>
</android>
It is supported already, but has not received the whole regression testing so far. Official support if planned for 7.2.0 as part of TIMOB-25852 which will support targets from 23 to 27. Note: This does not influence the minimum target, which will still remain Android 4.1 (API 16).

Which Android SDK Packages do I need for Cordova and Android 4+

I installed cordova and all the required things. Now I have to choose in the Android Sdk Manager which packages I want to install. I want to make the App working for Android 4 and above. I have installed SDK Platform API 14 (ANDROID 4.0) and SDK Platform API 24 (ANDROID 7.0). Do I need more because I also want to cover all the version between this range?
Refer to this: cordova.apache.org/docs/en/latest/guide/platforms/android

How do I install Android SDK Platform-Tools 24.0.0?

I'm following the guide for setting up the Android N Preview https://developer.android.com/preview/setup-sdk.html
In "Update or Create a Project" Google says I need to have 24.0.0 platform tools.
Just be sure that you've updated your project to use Android SDK Build
Tools 24.0.0 and Android SDK Platform-Tools 24.0.0.
I have installed the new SDK Platform: Android 6.X (N), API Level 24, Revision 1. However when I open SDK Tools the only Android SDK Platform-Tools version is 23.1.
I have updated my build.gradle for Android 24 and for Jack and Java 8 (see).
Everything works great on Android 24 simulator but crashes on a device or simulator running Android 22/23 (less than 24) with the following error:
java.lang.NoSuchMethodError: No virtual method
stream()Ljava/util/stream/Stream; in class Ljava/util/ArrayList; or
its super classes (declaration of 'java.util.ArrayList' appears in
/system/framework/core-libart.jar)
I suspect the cause is having SDK Platform-Tools version 23.1.0 instead of 24.0.0 but if there is another solution i'd be happy to hear it.
Edit
Installing platform tools 24.0.0 rc1 did not fix the crash.
I'm not sure what else to try given that I have followed all the instructions to setup the preview and the Jack compiler.
but crashes on a device or simulator running Android 22/23 (less than 24) with the following error
java.util.stream.Stream was added in API Level 24. This class cannot be used on older devices.
Certain Java 8 features, like lambda expressions, may work on older devices, but not classes that were introduced in Android N.
Just select the show package details and then you can find all the versions. Refer to the attached image
Asuming you have Android Studio 2.1
Launch the standalone SDK manager.
From there Android N API 24 should be available to install
Your API level 24 app runs OK with Android 24 (virtual) device but doesn't work with pre-24 device - so everything is exactly as one would expect.

Android Version and API confirmation

I am new in Android Development and I want to ask a question that
In Android SDK packages are listed as
SDK platform Android 2.3.3, API 10, revision 1
Can Anyone explain me what is meant by Android 2.3.3 and API 10 and revision 1 particularly.
It will help to understand the basic concept clearly
Thank you
API 10 is the API level.
Android 2.3.3 => Version Name
revision 1 => serial number of the particular revision of SDK.
What is API Level?
API Level is an integer value that uniquely identifies the framework API revision offered by a version of the
Android platform.
Read more: What is API Level? and Uses of API Level in Android
You can read more about here => Platform Versions
Android 2.3.3 is the Android Platform Version Name
Android 2.3.3 belongs to the Android API10 (API Level) wich identifies the framework API revision offered by a version of the Android Platform. API10 includes Android Platforms version 2.3.3-*2.3.7*
Releases of the SDK Tools are denoted by revision number, in each revision you can note some added tools, caching and performance improvement and more.

is it necessary to keep older versions of Android SDK installed with Android SDK Manager?

In the Android DSK Manager under "Installed Packages", I see things like:
SDK Platform Android 3.2
SDK Platform Android 3.1
SDK Platform Android 3.0
SDK Platform Android 2.3
SDK Platform Android 2.2
SDK Platform Android 2.1
SDK Platform Android 1.6
SDK Platform Android 1.5
Is it necessary to keep the older SDKs, if I am programming with the latest SDK?
No. You dont need older packages if you are sure about developing with latest packages.
You dont need to keep those packages which your application is not using. Generally you should keep those versions installed which your application is going to use. Like your application may use version from 8 to 10. So no need to keep lower than 8. So that depends on your application which version it will use.
Its too late but I would like to share my experience.
Yes, if you are using Instant Run and using SDK 21 or higher then you should keep SDK Platforms.
For Example, if have deleted the SDK Platform 22 and testing on Android 5.1 device or emulator then Android Studio will ask you to install SDK Platform if you want to use instant run else instant run will not work.

Categories

Resources