Category Page

Category:

Android 11: Behavior Changes For Apps

May 26th, 2020 by

Android 11 is scheduled to be released this year in September, but we will get the first Android 11 beta version on June 3, 2020. The new Android version contains some new features and important developer focused updates, as seen in the developer previews. Android 11 features include airdrop-style file sharing, motion sense gesture, screen recording and many more. The behavior changes in the latest Android version may affect your app regardless of the target SDK version. So let’s get familiar with the behavior changes that will help you make your app compatible with Android version 11.

Accessibility

In the new Android, your accessibility service cannot declare an association with the system’s accessibility button at runtime. You can declare your accessibility service’s association with the accessibility button using the flagRequestAccessibilityButton flag in your accessibility service metadata file, typically res/raw/accessibilityservice.xml. Earlier we used to add AccessibilityServiceInfo.FLAG_REQUEST_ACCESSIBILITY_BUTTON to the flags property of an AccessibilityServiceInfo object. But now the framework won’t pass accessibility button callback events to your service.

Open Mobile API changes

In Android 11, Open Mobile API has additional functionality:

1. Parse rules for carrier privileges.
2. Customize embedded Secure Element (eSE) access or provision an eSE using one or more of the following:

  • System privileged permission
  • Configurable Access Rule Application Master (ARA-M) application identifiers (AIDs)
  • System API to reset OMAPI reader

3. Provide readers a clear indicator for applications to filter device capability.

Security

The new Android stores each user’s app usage stats in credential encrypted storage. Therefore, neither the system nor any apps can access that data unless isUserUnlocked() returns true, which occurs if the user unlocks their device for the first time after a system startup or the user switches to their account on the device. If your app already binds to an instance of UsageStatsManager, check that you call methods on this object after the user unlocks their device. Otherwise, the API will return null or empty values.

Android 11 uses the Scudo Hardened Allocator internally to service heap allocations. Scudo is capable of detecting and mitigating some types of memory safety violations. Refer to the Scudo troubleshooting Android documentation if you see any Scudo-related crashes (for example, Scudo ERROR:) in native crash reports. Also, Android’s default SSLSocket implementation is internally built on top of Conscrypt SSLEngine.

App Compatibility

Android 11 update includes lists of restricted non-SDK interfaces based on collaboration with Android developers and the latest internal testing. Whenever possible, we make sure that public alternatives are available before we restrict non-SDK interfaces.

If your app does not target Android 11, some of these changes might not immediately affect you. However, while you can currently use non-SDK interfaces that are part of the greylist (depending on your app’s target API level), using any non-SDK method or field always carries a high risk of breaking your app.

If you are unsure if your app uses non-SDK interfaces, you can test your app to find out. If your app relies on non-SDK interfaces, you should begin planning a migration to SDK alternatives. Nevertheless, we understand that some apps have valid use cases for using non-SDK interfaces. If you cannot find an alternative to using a non-SDK interface for a feature in your app, you should request a new public API. To learn more about the changes in this release of Android, refer to Updates to non-SDK interface restrictions in Android 11.

Debugging

Android 11 offers debugging support for apps to identify potential JobScheduler API invocations that have exceeded certain rate limits. Developers can use this facility to identify potential performance issues. For apps with the debuggable manifest attribute set to true, JobScheduler API invocations beyond the rate limits will return RESULT_FAILURE. Limits are set such that legitimate use cases should not be affected.

The default mode for fdsan is changing in Android 11. It detects mishandling of file descriptor ownership, such as double-close and use-after-close. Previously fdsan used to log a warning and continue but now it aborts upon detecting an error. If you’re seeing crashes due to fdsan in your application, refer to the fdsan documentation.

Privacy Changes

There are some crucial changes in the privacy control in Android 11 and developers should review the privacy features and test their apps for compatibility. The first change we will talk about is One-time permissions. Now users can grant temporary access to location, microphone, and camera through a one-time permission. This feature grants more control to the users who do not wish to share information while using any app that uses these features. The next change is in package visibility. Android 11 changes how apps query and interact with other installed apps on the same device. Add the element to your app’s manifest and this change will affect the apps that target Android 11. There is an update for the background location access which will affect the apps that need all time access to location. Request foreground (coarse or fine) and background location permissions incrementally in separate calls to the permission request method. Before each request, use a full screen view to explain the benefits that users receive for granting that permission.

Apart from this there are many UI changes like system_alert_window permission and manage_overlay permission. For more information you can visit the Android documentation and also check out the behaviour changes in apps targeting Android 11.

iPhone 11, Pro, Pro Max available on pCloudy

September 23rd, 2019 by

Since pCloudy is committed to providing to you with the newest, the fastest, here is another one. The newly released devices iPhone 11, iPhone 11 Pro and iPhone 11 Pro Max is now available on pCloudy for you to test your app.
 
Apple iPhone 11
 
iPhone 11 Pro
 
IPhone Pro Max
 

Want to test your Mobile App?

Join pCloudy Platform!

 
Related Articles:

  • pCloudy Announces Availability of iOS 11.3 and 11.4 (beta) Devices on Cloud
  • What’s New With iOS 11?
  • pCloudy Announces Availability Of iOS 13 (beta) and iPadOS Devices On Cloud
  • iPhone XS and XS Max Now Available on pCloudy For You to Test Your Apps
  • iOS 13: New Features And Their Impact On The Apps
  • iOS 13: New Features And Their Impact On The Apps

    June 5th, 2019 by

    The fans were waiting for the next iOS release and in the WWDC 2019, iOS 13 beta was launched. With the launch of the new iPhone in September 2019, iOS 13 will deliver a deluge of features to your iPhone to take on the Android Q. At the annual Worldwide Developers Conference in San Jose, some new features and some tweaks were announced in the latest version of the iOS to make the user’s life easier.
     

    What to expect with iOS 13?

     
    The latest version of iOS focuses on speed, user-friendliness, and privacy. So let’s go through the iOS 13 features and then we will try to evaluate the impact of the updates on the apps.
     

    Dark Mode

     
    Dark mode can be very useful as you can adjust it to light gray, dark gray or black which will be implemented on all the supported apps. This will also save the battery life for OLED display. So this is a reader-friendly update and the dark mode can be set to turn on at night automatically.
     
    ios 13 release

    QuickPath Keyboard

     
    This feature is widely used in Android phones and there are some popular apps as well for swipe typing. Now iOS has also come up with the QuickPath keyboard where you can type with a single hand by just swiping through the words. You will also get similar word suggestions while you swipe through the keyboard.
     

    Video and Photos

     
    If you have recorded the new feature in wrong orientation then you need not worry, you can change the orientation post-recording and there are more filters and effects to edit the video. There is a new photos tab which will help you so delete duplicate photos and highlight the best snapshots. Portrait lighting, a tool in the camera app helps you to change the focus of light and change the intensity.
     

    Identity Protection

     
    Sign in with Apple allows you to log into apps with mentioning your email ID which will restrict the third party apps to track the user activities. There is also an option to hide or share your email ID and Apple will create a random email ID for an app that forwards to your original email account which will mask your real identity.
     

    Maps

     
    In the new map, you can explore the city roads, parks, and buildings in a 3D 360° view. Google map does not work smoothly when it comes to saved searches and this is why now you can rely on the improved Apple maps for navigation. There is a probability that the 3D 360-degree experience can also be used as a VR feature in the upcoming iPhones.
     

    Impact on the apps

     
    The iPhone apps are packaged in a new way which makes them 50% smaller and makes updates up to 60% smaller. It also increases the performance as this helps app load twice as fast. Also, there is a slight upgrade in the privacy as now you can allow the apps to use the location just once. Apple will send you warnings about the apps which continue to track you in the background. This means that the apps which use location more often like delivery, transport, e-commerce, etc will have to make changes in their code algorithms to provide a better user experience.
     

    Conclusion

     
    There are many other tweaks like memoji profiles in Apple’s messaging app, new fonts in the mail, a new gallery view for notes and support for shared folders, and adding details in the reminders. So now the question is, which iPhones will get the iOS 13? So to clear things, iPhone 6s or later can get the new iOS 13 update. There are speculations that more updates will be announced with the upcoming phone launch. But these new updates were necessary as Android is already leading with some of these features in Android Q.

     
    Related Articles:

  • pCloudy Announces Availability Of iOS 13 (beta) and iPadOS Devices On Cloud
  • pCloudy Announces Availability of iOS 12 Devices on Cloud
  • iOS 12 is Now Available on pCloudy. Go Forth and Test Your Apps Now!
  • pCloudy Announces Availability of iOS 11.3 and 11.4 (beta) Devices on Cloud
  • Android and iOS: Basics and Comparison
  • What’s New in pCloudy 5.4

    May 9th, 2019 by

    We are glad to announce the release of pCloudy 5.4 with exciting new features to make app testing simpler than ever. There is a possibility that you might be familiar with pCloudy, but for those who are new, pCloudy is a cloud-based mobile app testing platform. We have achieved many milestones in a short period of time because we resolve issues immediately and bring in new features on a regular basis. Case in point: This new version of pCloudy, where we have addressed the concerns of our users and added new features to optimize testing. Let’s have a look at all the features added in pCloudy 5.4.

     

    CTRL + V

    To test your app on a pCloudy device you need to login to device.pcloudy.com and then book a device by clicking on the devices tab. Just click on the available button next to the chosen device which will take you to the device interaction page. Earlier in the device window, you would have to use the virtual extended keyboard to enter text in the device. Although now you can just copy any text from your system and paste it in the device directly. So now instead of using an extended keyboard just use two buttons to enter the string in the device. This will save time and effort when working with multiple devices where you need to enter long text many times.
     

    FollowMe new UI

    To use the FollowMe feature you will have to instrument the app you want to perform the test on. Under devices section, click on the FollowMe tab then in the next screen choose the app, select the duration and devices on which you will perform the test. In the next screen, you will see the devices which you selected and two options (Softkeys and Screenshots) at the top right corner of the window. Now when you perform any action in the master device, that action gets replicated on the secondary device too. If you enter text, tap on a button, swipe, etc. in the master device then that will happen simultaneously in the secondary device.
     
    pCloudy 5.4 New UI
    For more information, refer to this link:-

    https://www.pcloudy.com/mobile-application-testing-documentation/manual-app-testing/follow-me-app-testing.html
     

    Appium on Pre Installed Apps

    In pCloudy, you can run Appium tests on multiple devices in parallel. To perform a test using Appium, you need to feed in the capabilities. Some users want to test their apps more than once to perform different types of tests on the same app. To do that earlier the users had to install the app again and again. But now we have released an update through which you can perform different types of testing using Appium on the preinstalled apps. This will save you time and make the process easier.
     
    Appium on Pre Installed Apps
    So if you have already installed the app in the device and you want to perform a test on the same app then you don’t need to pass the Application Name capability.
     
    For more information, refer to this link:-

    https://www.pcloudy.com/mobile-application-testing-documentation/automation-testing/inspect-element-using-appium-desktop.html#running-appium-scripts
     

    GitHub Integration

    pCloudy is integrated with the most popular tools and frameworks to make testing convenient. A lot of users also requested to integrate Github repository and so we did it. Now you can directly upload your tasks and raise defects in the GitHub repository from pCloudy. Again this feature is added to make it convenient for our users to test and manage the tasks through pCloudy.
     
    GitHub Integration
     
    To make use of GitHub just login to device.pcloudy.com and click on the user name at the top right corner of the window. In the dropdown list click on settings and in the settings window click on GitHub tab and enter the URL and access key to register. Now in the device session screen, you can click on Collaborate and then select Log a bug in GitHub. A new window will open where you will be able to see the list of repositories, enter the issue type, enter the title, add the description and then click on the click on the Log A Bug In GitHub button. Then you can go to the GitHub to check all the issues raised whenever you want.
     

    Summary

    We are working on some more new features and very soon we will come up with the new version of pCloudy. This is a constant process and we always try to address the users issues and provide them updates on a regular basis. This is why we are achieving new heights and we will keep on working hard to provide the best service.

     
    Related Articles:

  • What’s New in The Latest Update – pCloudy 5.2!
  • pCloudy 5.1 – July Release Update and Full Speed Ahead in the Third Quarter
  • Welcome to pCloudy 5.0
  • What’s New with Release 4.2?
  • What’s New With pCloudy 3.0?
  • Samsung S10 is Now Available on pCloudy

    March 11th, 2019 by

    Since pCloudy is committed to provide to you with the newest the fastest, here is another one. The newly released device Samsung s10 is now available on pCloudy for you to test your app.

     

    Samsung s10

     

    Start using now

     
    Related Articles:

  • Samsung Galaxy S9 and LG V30 Plus Devices are now available on pCloudy
  • Samsung Galaxy Note 8 and Google Pixel 2 Devices are Now Available on pCloudy
  • We Are Committed to Keep You Ahead of Others: pCloudy Is Fastest to Add Samsung S8 and S8 Plus Devices
  • Problems With Online Android Emulators and How to Solve it?
  • New Devices Added Recently on Our Platform
  • Migrating to AndroidX

    February 4th, 2019 by

    What is AndroidX?

    AndroidX is an improved version of the android support libraries that the android team uses to develop, test, package, version and release libraries within the jetpack. AndroidX fully replaces the support library by providing feature parity and new libraries. In addition, AndroidX includes the following features:

    • All packages in AndroidX are in consistent namespace starting with the string AndroidX. The support library packages have been mapped into androidx.* packages. For a full mapping of all the old classes and built artifacts to the new ones.
    • Unlike the support libraries, AndroidX packages are separately maintained and updated. The AndroidX uses strict semantic versioning.
    • All new android development will occur in the AndroidX library. This includes maintenance of the original support library artifacts and introduction of new jetpack components.

    Android Jetpack
    Android jetpack is a set of components and tools along with architecture guidance designed to help you accelerate your android development. It gives a template to write production ready android code. Jetpack is made up of components in four categories, foundation architecture behaviour and UI. Each component is individually adaptable and build to maintain backwards compatibility. Android architecture components are very modular, so we are allowed to choose what feature sets we want that are compatible to our app.

    Espresso is now a part of the AndroidX family
    Espresso is a testing framework designed to provide a fluent API for writing concise and reliable UI test. Writing reliable UI test is difficult as user interfaces are asynchronous driven by events, transitions and data loaded from background threats. Coding around that without any help from UI testing framework would require a lot of boilerplate. Espresso takes care of any UI events, so that in most cases you don’t have to worry about any view state transition and implementation details. The basic UI test flow when using Espresso includes:

    • View Matchers: To find view in the current view hierarchy for e.g. to find UI elements like buttons, textbox etc.
    • View Action: To perform action on the view, e.g. to click on a button, double click, scrolling etc.
    • View Assertions: Allows to assert state of a view.

    Application of Espresso test recorder

    • Allows us to create effective UI test cases with user interactions.
    • We can capture assertions and interactions without accessing app structure directly which increases execution speed and optimizes test case.
    • Saves time searching for locators and then writing the test cases.
    • It supports multiple assertions making more reliable test cases.

    Pcloudy supports androidX instrumentation with Espresso
    Now you can write test cases in espresso and test the APIs in pCloudy using androidX Junit instrumentation. Here are the steps for running your Test scripts on multiple android devices:

    • Login over https://device.pcloudy.com with your registered Email ID & Password.
    • To schedule “Espresso” over pCloudy, follow the below mentioned steps-
    • Go to the “Automation” page.
    • Select the Automation tool as “Espresso”.
    • Select “Instrumentation Type” based on your Test Scripts you’ve written.
    • Androidx Espresso Test pCloudy_1
      Note: pCloudy provides support for Instrumentation Type (InstrumentationTestRunner, AndroidJUnitRunner and AndroidXJUnitRunner) for Android.

    • Select the Application APK and Test APK that you must have uploaded in the MY APP/DATA section.
    • Select the single device execution time and assign a name to your test cycle.
    • In the next step, Click on “ADD” to add the device for testing and click on ”
      Next”.
    • Click on “Schedule” to start the test.
    • Espresso Test pCloudy_2

    • Go to your mailbox and open pCloudy Automation Alert mail.
    • Click on the given link “Click to view Report”.
    • Espresso Test pCloudy_3

    • Now you have the result of your scheduled test automation.
    • Espresso Test pCloudy_4

    How to migrate to AndroidX?

    To migrate from support libraries to AndroidX the Google has provided a refractor tool in Android Studio. Projects can be migrated to AndroidX by clicking on ‘Refractor’ in the menu bar and then clicking on ‘Refactor to AndroidX’. Then it will search for the usage and show the result. To refactor click ‘Do Refactor’.

    pCloudy is leading the way in the field of automated mobile testing solutions.

    Try our device cloud

    Single Sign On Feature in pCloudy

    January 25th, 2019 by

    Single Sign On

    Single sign on is a process of authentication where user can access multiple applications and portals with one set of credentials. With SSO a user logs in with a single ID and password to gain access to a connected system. Single sign on must internally store the credentials for initial authentication and then translate them to the credential required for the different mechanisms.

    SAML 2.0
    SSO services uses security assertion mark-up language (SAML 2.0) which is an XML standard that facilitates the exchange of user authentication and authorization of data across secure domains. SAML simplifies the authentication and authorization process for the user, an identity provider and a service provider. When the user attempts to access an application, the service provider will send a request to identity provider for authentication.

    Benefits of single sign on
    SSO reduces risk for access to third party sites (user passwords not stored externally). It also alleviate password fatigue from different user name and password combinations. Reduces IT cost due to lower number of IT help desk calls about password. Reduces time spent re-entering password for the same identity.

    pCloudy SSO integration architecture
    Sequence of events for integration of SAML 2.0 Authentication

    • The user attempts to reach a web application at a service provider (SP i.e pCloudy Set Up).
    • The service provider generates a SAML request and redirects the user to the IdP’s SSO URL with the generated request.
    • The IdP authenticates the user and generates a SAML response.
    • The user is redirected back to the SP with the SAML response.
    • The SP verifies the SAML response.
    • The user is successfully logged-in to the SP’s web application.

    Single Sign On feature in pCloudy_1

    Note: pCloudy has included this feature in Enterprise set up Private Cloud and On-Premise Cloud.

    SAML assertion
    SAML assertion is the XML document that the identity provider sends to the service provider, that contains user authorization. There are Three types of SAML assertion:

    Authentication assertion – It proves identification of the user and provide the time the user logged in and what method of authentication they used.

    Attribute assertion – It passes the SAML attributes to the service provider. SAML attributes are specific pieces of data that provide information about the user.

    Authorization decision assertion – It says if the user is authorized to use the services or if the identity provider denied the request due to password failure or lack of rights of the service.

    SSO solves the problem of managing the increasing number of users across an ecosystem of application and services. It is a step forward in the optimization of pCloudy integrated architecture.

    What’s in Store For Dev and Testers With Android O Release?

    May 29th, 2017 by

    Android O Release

     

    Latest Android Version

    The development world bumped into a new surprise by announcement of developer release of latest Android version: Android O. The makers have made everyone curious about its christening, wondering which sweet it has been named after (Oreo, rumour has it). On the developers front however, it seems to be a good time to assess this developer preview and its included features that might have implications on the apps on your phone and their quality, as well the future it holds for us.

    So let us lay out the key details and focus on the challenges or opportunities that developers will run into due to the changes in the OS features and application development environment.

     
    Latest Android Version

    Picturecourtesy: Greenbot

    Why is the Migration Necessary?

    With major share of the market with Android M and L, i.e. 60 percent, fragmentation is still in growth within the Android landscape. During most Android OS changes, a few basic fixes make the app compatible with the newer version. However, its API changes and several features make changes to the appearance and functioning of the existing apps. It can result in unstable applications and confusion among the users. This means that there are not only more devices and OS combinations in the market to test against, but also that from both supported test cases and features, there should be different branches that combine the test suites with a device/OS combination and a supported capability.

     

    Sneak Peek into the New Features of latest android version – Android O and the Challenges to Testing:

    The first release of Android O is just for devs to get a sneak peek into their bag of tricks behind the show and the help needed for that transition. E.g. adding extra layers of security options to prevent malware entry into your phone. Of course there will be more UX and UI based improvements in the beta releases. Let’s take a brief look at their features and the challenges they present to Testing.

    • Revamped Settings and Changes in UI: This feature is one of the most outward change in the preview. That means new icon, condensed and summarized organization, which makes the navigating app superior and pleasant. There are several other similar organizational and in a many places functional changes in UI including lock-screen shortcuts, icon badges, picture in picture feature etc.

    However, this immediately opens a range of visual test automation scenarios that will need insights into different resolutions and themes to assure the new animated look, movement or adaptation as required.

     
    Android O

    Picture Courtesy: Greenbot

    • More Control over Notification Channels: Changes again in the Notification shade for UI improvement, with more icons in the status bar, a cooler shade and a bit more subtle yet stronger control over its notification channels by Notification Grouping. I.e. option to choose for notification from people in your contacts and more manageable system and processes alerts.

    This means, more testing to be added to support the granular notifications, the configuration traits of the device and network environment related testing.

     
    Notification Channels

    Picture Courtesy: Greenbot

    Enhanced Auto-fill: So far, other than Chrome, no other system has made the process so seamless, making jumps between password managers or switching to special keyboards. Android O’s brand new auto-fill API lets you support specific needs like password management, without having to launch the app in parallel, making the process a lot damn faster.

    This also means that each app will have external requirements like password management and testers would need to understand which apps can serve as auto-fill for their app under test, and then test against them.

     
    Autofill

    Picture Courtesy: Greenbot

    • Better Control over Battery Power and App Background Resources: Android O is changing the way how the OS functions in the background by enforcing more limits on app resource usage in order to save battery and how frequently background apps can retrieve your current location, and implicit broadcasts.

    That means, more new tests and branches of these tests need to be added in order to assure correctly that the limitations apply based on the location constraints set by the developers and other limits that are supported.

     
    Battery

    Picture Courtesy: Greenbot

    To Wit!

    We just touched on a few immediate implications of the new latest Android version – Android O release for developer and testers, who need to be ready to usher in a not just a new set of challenges and branches of testing, but also prepare themselves for early versions that are to be launched soon. To know more on the specifics of migration to Android O, you can go to the official Android Documentation at their website.