10 Major Challenges That Every Android App Programmer Faces

Developing apps for the Android gives a set of choice to developers, and right to use to an ever-growing customer pedestal to the app proprietor. However, android developers face challenges in the development process. As all know, there is an enormous demand for app development in the mobile world, particularly for the Android podium. So therefore, day-by-day mobile app development companies are getting an amplified demand for Android app development. In addition, to hold their conviction, android application developers should put effort on it, and they should ensure delivering a star app to their clients. However, developing an Android app is never so easy, as it sounds to be.

Similar to any other software-development activity, even mobile app development has its own place of issues and challenges. Few come on the way without any notice, while some are known obstacles. The Android podium poses enormous opportunities for Android app developers if they understand its limitation and problem, and be ready to face the challenges waiting on their way.

Let us have a look at some of the definite problems faced by all Android app programmers:

Hardware disintegration: Several versions of Android working system are available on different devices. Timely upgrades change the version of Android OS that runs on the device. Each device has diverse features with esteem to keyboard forms, screen size, controls, etc., making it a development outlandish. So almost all the app developers are tiresome to focus on the most-recent versions only, due to these, developers are trailing their probable customers who are using the grown-up versions.

Development of groundbreaking app: There is enormous antagonism in the mobile app marketplace and sincerely, it is very packed out. Thus, there is an invariable pressure to create apps, which are noticed. After all, you do not want to get mislaid.

Mobile device declaration: Each Android device has its individual features in stipulations of demonstrating size and screen resolutions. Hence, according to their resolution, developing an app is rigid for the developers. Developing an app which works fine on all the existing Android devices makes it economically heavier and throbbing in terms of charge.

Concerning with user: To stay alive in the ever-developing mobile app marketplace, one has to be pioneering and imaginative. It is very important for mobile app developers to unite with the consumer/user. In addition, they should frequently take their criticism and resolution issues/bugs at the original to create a responsive bond with the users. In categorize to make the end-users feel contented mobile app developers have to be more available.

Sanctuary problems: Owing to the hardware and software breakdown, is liable to strengthen the application further. To compose matters not as good as, different conventional release basis for software. Disintegration on Android makes it complicated to turn out fixes so many campaigns stay susceptible. It’s firm to keep clientele glad and keep conviction while sanctuary problem lingo is unchanging speedily.

Lack of official documentation: Apple’s severe ascendancy is noticeable by the difference while no such supremacy accessible in Android Application. The major motive is outstanding toward the detail of need of superiority make sure regulations at the same time as uploading application in Google Store.

Software disintegration: There are too numerous versions of the Android operating system in exchange. This means that developers cannot just spotlight on the majority of fresh versions of the OS; not everybody has upgraded. It is not simple for users to improve their operating systems, and carriers have little inducement to do so.

Usage of third party API: The 3rd party API is a device reliant, and it restricts the procedure of apps across special devices. The cross-platform IDE and SDK limit Android developers to use single API for the different device versions.

Lack Of Google’s Right: Google has taken an intentionally liberal deportment when it comes to the Android OS. Open foundation code provides a low fence to access for app developers, which can be an approval and a nuisance. A group of developers would like to observe Google police the network enhanced, implementing meticulous standards and an app appraisal process. If Android provided widespread UI strategy like Apple’s, then improved apps are available consequently.

Market Research Cost: Considerate the closing stage to users is a key to Android app development, but can involve a lot of research and assembly it, is expensive for developers. For a mobile app to be victorious, widespread marketing is a significant aspect. Advertising an app efficiently can pretense an altogether dissimilar challenge for developers, as they need to control roles from developers to marketers.

Conclusion

Achieving the customer delight is a challenging task in this competitive mobile app market and swiftly changes in technology and hardware. Hence, Android app developers have to focus on the continual improvement in their development skills.

 

An Introduction to Forensics Data Acquisition From Android Mobile Devices

The role that a Digital Forensics Investigator (DFI) is rife with continuous learning opportunities, especially as technology expands and proliferates into every corner of communications, entertainment and business. As a DFI, we deal with a daily onslaught of new devices. Many of these devices, like the cell phone or tablet, use common operating systems that we need to be familiar with. Certainly, the Android OS is predominant in the tablet and cell phone industry. Given the predominance of the Android OS in the mobile device market, DFIs will run into Android devices in the course of many investigations. While there are several models that suggest approaches to acquiring data from Android devices, this article introduces four viable methods that the DFI should consider when evidence gathering from Android devices.

A Bit of History of the Android OS

Android’s first commercial release was in September, 2008 with version 1.0. Android is the open source and ‘free to use’ operating system for mobile devices developed by Google. Importantly, early on, Google and other hardware companies formed the “Open Handset Alliance” (OHA) in 2007 to foster and support the growth of the Android in the marketplace. The OHA now consists of 84 hardware companies including giants like Samsung, HTC, and Motorola (to name a few). This alliance was established to compete with companies who had their own market offerings, such as competitive devices offered by Apple, Microsoft (Windows Phone 10 – which is now reportedly dead to the market), and Blackberry (which has ceased making hardware). Regardless if an OS is defunct or not, the DFI must know about the various versions of multiple operating system platforms, especially if their forensics focus is in a particular realm, such as mobile devices.

Linux and Android

The current iteration of the Android OS is based on Linux. Keep in mind that “based on Linux” does not mean the usual Linux apps will always run on an Android and, conversely, the Android apps that you might enjoy (or are familiar with) will not necessarily run on your Linux desktop. But Linux is not Android. To clarify the point, please note that Google selected the Linux kernel, the essential part of the Linux operating system, to manage the hardware chipset processing so that Google’s developers wouldn’t have to be concerned with the specifics of how processing occurs on a given set of hardware. This allows their developers to focus on the broader operating system layer and the user interface features of the Android OS.

A Large Market Share

The Android OS has a substantial market share of the mobile device market, primarily due to its open-source nature. An excess of 328 million Android devices were shipped as of the third quarter in 2016. And, according to netwmarketshare.com, the Android operating system had the bulk of installations in 2017 — nearly 67% — as of this writing.

As a DFI, we can expect to encounter Android-based hardware in the course of a typical investigation. Due to the open source nature of the Android OS in conjunction with the varied hardware platforms from Samsung, Motorola, HTC, etc., the variety of combinations between hardware type and OS implementation presents an additional challenge. Consider that Android is currently at version 7.1.1, yet each phone manufacturer and mobile device supplier will typically modify the OS for the specific hardware and service offerings, giving an additional layer of complexity for the DFI, since the approach to data acquisition may vary.

Before we dig deeper into additional attributes of the Android OS that complicate the approach to data acquisition, let’s look at the concept of a ROM version that will be applied to an Android device. As an overview, a ROM (Read Only Memory) program is low-level programming that is close to the kernel level, and the unique ROM program is often called firmware. If you think in terms of a tablet in contrast to a cell phone, the tablet will have different ROM programming as contrasted to a cell phone, since hardware features between the tablet and cell phone will be different, even if both hardware devices are from the same hardware manufacturer. Complicating the need for more specifics in the ROM program, add in the specific requirements of cell service carriers (Verizon, AT&T, etc.).

While there are commonalities of acquiring data from a cell phone, not all Android devices are equal, especially in light that there are fourteen major Android OS releases on the market (from versions 1.0 to 7.1.1), multiple carriers with model-specific ROMs, and additional countless custom user-complied editions (customer ROMs). The ‘customer compiled editions’ are also model-specific ROMs. In general, the ROM-level updates applied to each wireless device will contain operating and system basic applications that works for a particular hardware device, for a given vendor (for example your Samsung S7 from Verizon), and for a particular implementation.

Even though there is no ‘silver bullet’ solution to investigating any Android device, the forensics investigation of an Android device should follow the same general process for the collection of evidence, requiring a structured process and approach that address the investigation, seizure, isolation, acquisition, examination and analysis, and reporting for any digital evidence. When a request to examine a device is received, the DFI starts with planning and preparation to include the requisite method of acquiring devices, the necessary paperwork to support and document the chain of custody, the development of a purpose statement for the examination, the detailing of the device model (and other specific attributes of the acquired hardware), and a list or description of the information the requestor is seeking to acquire.

Unique Challenges of Acquisition

Mobile devices, including cell phones, tablets, etc., face unique challenges during evidence seizure. Since battery life is limited on mobile devices and it is not typically recommended that a charger be inserted into a device, the isolation stage of evidence gathering can be a critical state in acquiring the device. Confounding proper acquisition, the cellular data, WiFi connectivity, and Bluetooth connectivity should also be included in the investigator’s focus during acquisition. Android has many security features built into the phone. The lock-screen feature can be set as PIN, password, drawing a pattern, facial recognition, location recognition, trusted-device recognition, and biometrics such as finger prints. An estimated 70% of users do use some type of security protection on their phone. Critically, there is available software that the user may have downloaded, which can give them the ability to wipe the phone remotely, complicating acquisition.

It is unlikely during the seizure of the mobile device that the screen will be unlocked. If the device is not locked, the DFI’s examination will be easier because the DFI can change the settings in the phone promptly. If access is allowed to the cell phone, disable the lock-screen and change the screen timeout to its maximum value (which can be up to 30 minutes for some devices). Keep in mind that of key importance is to isolate the phone from any Internet connections to prevent remote wiping of the device. Place the phone in Airplane mode. Attach an external power supply to the phone after it has been placed in a static-free bag designed to block radiofrequency signals. Once secure, you should later be able to enable USB debugging, which will allow the Android Debug Bridge (ADB) that can provide good data capture. While it may be important to examine the artifacts of RAM on a mobile device, this is unlikely to happen.

Acquiring the Android Data

Copying a hard-drive from a desktop or laptop computer in a forensically-sound manner is trivial as compared to the data extraction methods needed for mobile device data acquisition. Generally, DFIs have ready physical access to a hard-drive with no barriers, allowing for a hardware copy or software bit stream image to be created. Mobile devices have their data stored inside of the phone in difficult-to-reach places. Extraction of data through the USB port can be a challenge, but can be accomplished with care and luck on Android devices.

After the Android device has been seized and is secure, it is time to examine the phone. There are several data acquisition methods available for Android and they differ drastically. This article introduces and discusses four of the primary ways to approach data acquisition. These five methods are noted and summarized below:

1. Send the device to the manufacturer: You can send the device to the manufacturer for data extraction, which will cost extra time and money, but may be necessary if you do not have the particular skill set for a given device nor the time to learn. In particular, as noted earlier, Android has a plethora of OS versions based on the manufacturer and ROM version, adding to the complexity of acquisition. Manufacturer’s generally make this service available to government agencies and law enforcement for most domestic devices, so if you’re an independent contractor, you will need to check with the manufacturer or gain support from the organization that you are working with. Also, the manufacturer investigation option may not be available for several international models (like the many no-name Chinese phones that proliferate the market – think of the ‘disposable phone’).

2. Direct physical acquisition of the data. One of rules of a DFI investigation is to never to alter the data. The physical acquisition of data from a cell phone must take into account the same strict processes of verifying and documenting that the physical method used will not alter any data on the device. Further, once the device is connected, the running of hash totals is necessary. Physical acquisition allows the DFI to obtain a full image of the device using a USB cord and forensic software (at this point, you should be thinking of write blocks to prevent any altering of the data). Connecting to a cell phone and grabbing an image just isn’t as clean and clear as pulling data from a hard drive on a desktop computer. The problem is that depending on your selected forensic acquisition tool, the particular make and model of the phone, the carrier, the Android OS version, the user’s settings on the phone, the root status of the device, the lock status, if the PIN code is known, and if the USB debugging option is enabled on the device, you may not be able to acquire the data from the device under investigation. Simply put, physical acquisition ends up in the realm of ‘just trying it’ to see what you get and may appear to the court (or opposing side) as an unstructured way to gather data, which can place the data acquisition at risk.

3. JTAG forensics (a variation of physical acquisition noted above). As a definition, JTAG (Joint Test Action Group) forensics is a more advanced way of data acquisition. It is essentially a physical method that involves cabling and connecting to Test Access Ports (TAPs) on the device and using processing instructions to invoke a transfer of the raw data stored in memory. Raw data is pulled directly from the connected device using a special JTAG cable. This is considered to be low-level data acquisition since there is no conversion or interpretation and is similar to a bit-copy that is done when acquiring evidence from a desktop or laptop computer hard drive. JTAG acquisition can often be done for locked, damaged and inaccessible (locked) devices. Since it is a low-level copy, if the device was encrypted (whether by the user or by the particular manufacturer, such as Samsung and some Nexus devices), the acquired data will still need to be decrypted. But since Google decided to do away with whole-device encryption with the Android OS 5.0 release, the whole-device encryption limitation is a bit narrowed, unless the user has determined to encrypt their device. After JTAG data is acquired from an Android device, the acquired data can be further inspected and analyzed with tools such as 3zx (link: http://z3x-team.com/ ) or Belkasoft (link: https://belkasoft.com/ ). Using JTAG tools will automatically extract key digital forensic artifacts including call logs, contacts, location data, browsing history and a lot more.

4. Chip-off acquisition. This acquisition technique requires the removal of memory chips from the device. Produces raw binary dumps. Again, this is considered an advanced, low-level acquisition and will require de-soldering of memory chips using highly specialized tools to remove the chips and other specialized devices to read the chips. Like the JTAG forensics noted above, the DFI risks that the chip contents are encrypted. But if the information is not encrypted, a bit copy can be extracted as a raw image. The DFI will need to contend with block address remapping, fragmentation and, if present, encryption. Also, several Android device manufacturers, like Samsung, enforce encryption which cannot be bypassed during or after chip-off acquisition has been completed, even if the correct passcode is known. Due to the access issues with encrypted devices, chip off is limited to unencrypted devices.

5. Over-the-air Data Acquisition. We are each aware that Google has mastered data collection. Google is known for maintaining massive amounts from cell phones, tablets, laptops, computers and other devices from various operating system types. If the user has a Google account, the DFI can access, download, and analyze all information for the given user under their Google user account, with proper permission from Google. This involves downloading information from the user’s Google Account. Currently, there are no full cloud backups available to Android users. Data that can be examined include Gmail, contact information, Google Drive data (which can be very revealing), synced Chrome tabs, browser bookmarks, passwords, a list of registered Android devices, (where location history for each device can be reviewed), and much more.

The five methods noted above is not a comprehensive list. An often-repeated note surfaces about data acquisition – when working on a mobile device, proper and accurate documentation is essential. Further, documentation of the processes and procedures used as well as adhering to the chain of custody processes that you’ve established will ensure that evidence collected will be ‘forensically sound.’

Conclusion

As discussed in this article, mobile device forensics, and in particular the Android OS, is different from the traditional digital forensic processes used for laptop and desktop computers. While the personal computer is easily secured, storage can be readily copied, and the device can be stored, safe acquisition of mobile devices and data can be and often is problematic. A structured approach to acquiring the mobile device and a planned approach for data acquisition is necessary. As noted above, the five methods introduced will allow the DFI to gain access to the device. However, there are several additional methods not discussed in this article. Additional research and tool use by the DFI will be necessary.

 

Android Application Development Solutions – Where Did It All Start?

When Apple was first founded by Steve Jobs, Steve Wozniak and Ronald Wayne in April 1976, to develop and sell personal computers, the technology was astounding, and nothing like anything we had seen before. With digital technology so advanced, people were convinced that no other competitor would ever compare. Then something quite remarkable happened when Android stepped up to the mark. Android, Inc. was founded in October 2003 by Andy Rubin, Rich Miner, Nick Sears and Chris White. The aim of Android was to develop…

“Smarter mobile devices that are more aware of its owner’s location and preferences”Andy Rubin

At this current time Android’s intentions were to create operating systems for digital cameras. However when Google acquired Android Inc for $50 million in July 2005, it was in question whether Google were planning to enter the mobile phone market, and they did! Google then developed a platform for mobile devices powered by the Linux Kernel, and has firmly rooted the Android brand as it is today. Since 2008 Android has had numerous updates to streamline improvements in its operating systems, and with its interface features and customer usability it’s definitely considered to be a force to be reckoned with!

In recent years Android has slowly been converting more and more iPhone consumers into Android customers, because of its elite functionality. Thanks to this, there has been a sudden surge in the needs and development of Android applications, but what does it take to make an Android app?

All apps have the ability to extend the functionality of the device it’s using within a certain technical area, so when it comes to Android application development solutions, all are written using the SDK (Software Development Kit). The SDK provides an extensive set of development tools which includes software libraries, a debugger, a handset emulator, documentation, a sample code and tutorials. Java is used as the main programming language as it has complete access to the Android APIs (Application Programming Interface). Other development tools are usually available like the Native Development Kit, the Google App Inventor which is a great visual environment for any trainee programmers, and of course a variety of cross-platform frameworks for mobile web applications.

Of course, if you’re a non-technical person and this sounds highly over whelming, then there are a range of IT companies in the digital world that would help you fulfil your vision, and build your Android App for you at a cost. Although the downside of this is that you may have to pay out a little extra to get what you want, on the plus side of things you will be working with a company that can provide a team of experts, which usually has an extensive background in Android application software development. Most services will abide by development guidelines and regulations, which guarantees that your Android application won’t contain any dodgy surprises. Also most IT companies will provide comprehensive application testing, security checks and also product support on launch, and in some cases thereafter.

Once your Android app is good to go, you can sell it on Google Play, where users can download it for a small fee or for free. Google play is the primary app store that is installed on all Android Devices that comply with Google’s compatibility requirements.