G33K-TRICKS: android
Showing posts with label android. Show all posts
Showing posts with label android. Show all posts

Friday, October 27, 2023

Understanding Workspace ONE UEM: Your Privacy in the VMware Intelligent Hub


Are You Being Watched Over by Your Company Using WorkspaceONE Intelligent Hub?

In the age of smartphones and digital connectivity, the lines between our personal and professional lives have blurred. Many companies now encourage or even require their employees to use their personal mobile devices for work-related tasks. It's convenient, cost-effective, and promotes flexibility in today's fast-paced business world. However, the rise of bring-your-own-device (BYOD) policies and mobile working has given rise to concerns about privacy and security. One solution that businesses turn to for managing this mobile workforce is Workspace ONE Unified Endpoint Management (UEM), often accessed through the Intelligent Hub app. But what exactly can Workspace ONE UEM see on your mobile device, and should you be concerned about your personal data when using it for work-related tasks?

Workspace ONE UEM and the Intelligent Hub

WorkspaceONE UEM, formerly known as AirWatch, is an enterprise mobility management (EMM) platform developed by VMware. It's designed to help businesses manage and secure mobile devices, applications, and data. The Intelligent Hub is the user-facing app that allows employees to access company resources and manage work-related tasks on their mobile devices. It can be installed on various platforms, including Android and iOS.

Workspace ONE offers a range of features that benefit both businesses and employees. These features include secure application management, mobile device management, and data protection. However, with such power comes a natural concern about how much visibility and control a company has over the personal devices of its employees.


The Balancing Act: Security vs. Privacy

When you enroll your personal device in your company's Workspace ONE UEM program, you're essentially granting the organization certain rights to manage and secure the device. The level of control and visibility a company has over your device varies based on the policies and configurations set by your organization. This is where the balancing act between security and privacy comes into play.


Here are some key aspects to consider:


1. Compliance Policies:

Workspace ONE UEM allows organizations to set compliance policies for enrolled devices. These policies may include requirements for encryption, passcode complexity, and security updates. The company can ensure that your device complies with these policies, which is essential for protecting sensitive company data.

2. Application Management:

Employers can deploy, manage, and update enterprise apps on your device. They may also have the ability to whitelist or blacklist certain apps. This helps ensure that only approved apps are used for work-related tasks.

3. Remote Management:

In the event that your device is lost or stolen, Workspace ONE UEM allows your company's IT department to remotely lock or wipe the device to protect sensitive data. This feature is crucial for data security.

4. Device Information:

Your company can access device details, such as the model, operating system, serial number, and hardware specifications. This information helps with device inventory and management.

5. Content Distribution:

Employers can distribute and manage documents, files, or resources to your device, making it easier to access important work-related materials.

6. VPN Configuration:

Your company can configure and manage VPN connections on your device, ensuring secure access to the organization's network.

7. Network and Connectivity:

IT administrators can manage Wi-Fi profiles and network settings on your device, which is essential for ensuring secure connections.

8. Reporting and Analytics:

Workspace ONE UEM provides the ability to generate reports on device usage, security compliance, and other relevant metrics, which can help organizations track and improve their mobile management strategies.

Privacy Concerns and User Awareness

With this array of capabilities, it's natural to have concerns about privacy when enrolling your personal device in Workspace ONE UEM. However, it's essential to understand that organizations typically operate within the boundaries set by their mobile device management (MDM) policies and relevant regulations. They are also often committed to respecting your privacy while ensuring the security of company data.

To address these concerns and maintain a balance between security and privacy, here are some best practices and points to consider:

1. Clear Policies:

Employers should have clear BYOD policies in place. These policies should outline the extent of monitoring and control over personal devices and should be communicated to employees.

2. Consent:

Employees should be asked to give their explicit consent before enrolling their personal devices. This ensures that employees are aware of what is being monitored and controlled.

3. Separation of Work and Personal Data:

Workspace ONE UEM can often separate work-related data and applications from personal data on the device, preserving your privacy.

4. Remote Wipe Procedures:

Employers should establish clear procedures for remote device wipe and ensure they are only used when necessary, such as in the case of a lost or stolen device.

5. Limited Data Access:

Workspace ONE UEM can be configured to restrict access to specific device data, such as personal photos, contacts, or messages, depending on company policies.

6. Regular Auditing:

Companies should regularly audit and review their MDM policies to ensure they are in compliance with privacy regulations and respect user privacy.

7. Employee Education:

Employers should educate employees about the capabilities of Workspace ONE UEM and the importance of following security policies.

Conclusion

So, are you being watched over by your company using Workspace ONE UEM's Intelligent Hub? The answer is yes, but within certain boundaries. Employers have the ability to manage and secure devices to protect sensitive company data, but they are also committed to respecting employee privacy.

To ensure a fair and transparent balance between security and privacy, it's crucial for organizations to establish clear policies, seek employee consent, and educate their workforce about the capabilities of Workspace ONE UEM. This way, employees can enjoy the benefits of mobile working while trusting that their personal data remains private and secure.

Remember that the specifics of what an organization can see and control on your device will depend on your employer's policies and configurations. It's always a good practice to have an open dialogue with your employer about any privacy concerns you may have when enrolling your personal device in a company's mobile device management program.

Disclaimer:
The information provided in this blog is intended for general informational purposes only. It is not legal advice or a comprehensive guide to the specific features and functionalities of Workspace ONE Unified Endpoint Management (UEM) or the Intelligent Hub app.

The capabilities and policies related to WorkspaceONE UEM may vary from one organization to another. The level of control and visibility that an organization has over personal devices enrolled in their Workspace ONE UEM program depends on the specific policies and configurations set by the organization, as well as any applicable laws and regulations.

Readers should be aware that while Workspace ONE UEM is designed to help organizations manage and secure mobile devices, it should be used in accordance with applicable privacy regulations and with respect for user privacy. Employees are encouraged to consult with their employers and IT departments for detailed information about the specific policies and practices in place within their organizations.

The blog content is not a substitute for professional legal or IT advice. Any action taken based on the information provided in this blog is at the reader's own discretion and risk. As a author, I do not assume any responsibility for any consequences that may arise from the use or interpretation of this information. Readers are encouraged to seek guidance from relevant legal and IT professionals for their specific circumstances and concerns.

Friday, April 28, 2023

Understanding the Importance of the Google's EMM EnterpriseID and how to find EnterpriseID



Understanding the Importance of the EnterpriseID in Google's EMM Program and locate EnterpriseID


As more and more organizations adopt mobile devices and cloud-based services, managing and securing these devices has become a top priority. Google's Enterprise Mobility Management (EMM) program offers a solution for managing mobile devices and apps in the enterprise. One of the key elements of this program is the EnterpriseID, which is a unique identifier assigned to each organization that enrolls in EMM.
Google EMM EnterpriseID

So what exactly is an EnterpriseID, and why is it important for EMM?
An EnterpriseID is a unique identifier that is assigned to an organization when they enroll in Google's EMM program. This ID is used to identify the organization within Google's systems and is required for managing devices and deploying apps through EMM.

Why is the EnterpriseID important for EMM? There are a few reasons:

Device management: The EnterpriseID is used to manage devices in EMM. When devices are enrolled in EMM, they are associated with the organization's EnterpriseID. This allows administrators to manage these devices and apply policies and configurations to them.

App deployment: The EnterpriseID is also used to deploy apps to devices in EMM. When an app is deployed through EMM, it is associated with the organization's EnterpriseID. This allows administrators to control which apps are available to users and ensure that only authorized apps are installed on company-owned devices.

API integration: The EnterpriseID is used to set up the Google Mobile Management (GMM) API, which allows EMM administrators to manage devices and apps programmatically. This API is used to integrate EMM with other enterprise systems, such as helpdesk and inventory management tools.

Now that we understand why the EnterpriseID is important, let's take a look at how to find it. If you are the administrator of an organization that has enrolled in Google's EMM program, you can find the EnterpriseID in the Google Cloud Console or the Google Admin Console.

To find the EnterpriseID in the Google Cloud Console, follow these steps:

  • Log in to the Google Cloud Console with your EMM administrator account.
  • In the left-hand navigation menu, click on "IAM & Admin."
  • Click on "Settings" in the submenu that appears.
  • Under "Organization Settings," you should see your EnterpriseID listed.

To find the EnterpriseID in the Google Admin Console, follow these steps:


  • Log in to the Google Admin Console with your EMM administrator account.
  • In the left-hand navigation menu, click on "Billing."
  • Under "Subscriptions," you should see your EnterpriseID listed next to your EMM subscription.
  • If you do not have access to either the Google Cloud Console or the Google Admin Console, you may need to contact your EMM administrator or Google Workspace support for assistance in finding your EnterpriseID.

In conclusion, the EnterpriseID is a critical component of Google's EMM program. It is used to manage devices, deploy apps, and integrate EMM with other enterprise systems. By understanding what an EnterpriseID is and how to find it, EMM administrators can ensure that their organization's mobile devices and apps are secure and effectively managed.

Sunday, February 12, 2023

Top 10 Tricks that Android User You should know


Top 10 Awesome Tricks that Android User Should Know

Lets go through the tricks quickly:

awesome Tricks that Android


Enable System UI Tuner: This feature allows you to customize the status bar icons, add a battery percentage indicator, rearrange the quick settings tiles, and more. To enable it, go to "Settings" > "System" > "About phone" and tap the "Build number" several times until you see a message saying "You are now a developer." Then, go back to "Settings" > "System" and you should see a new option for "System UI Tuner."


Take advantage of Google Lens: Google Lens is a feature that uses your camera to recognize objects and provide information about them. Simply launch the Google Lens app and point your camera at an object or text to get started.


Use Google Maps street view: This feature allows you to explore locations as if you were actually there. Simply open Google Maps and search for a location, then tap on the "Street View" option to see a 360-degree panoramic view.


Automate tasks with Tasker: Tasker is an app that allows you to automate tasks and actions on your Android device. For example, you can set it up to turn off Wi-Fi when you leave home, turn on your music player when you plug in headphones, and more.


Enable Google Now on Tap: Google Now on Tap allows you to quickly search for information related to what's on your screen without leaving the app you're in. Simply long-press the home button and Google Now on Tap will analyze the screen and provide relevant information.


Use Google Keep for quick notes: Google Keep is a simple note-taking app that integrates with other Google services, making it easy to access your notes from anywhere. You can create text, voice, and image notes, and set reminders to keep track of what you need to do.


Set custom ringtones and notifications: You can set custom ringtones and notifications for individual contacts, making it easy to know who's calling or texting without looking at your phone. Simply go to "Contacts" > select the contact > "Edit" > "Ringtone" or "Notification tone" to set a custom sound.


Use two apps at once with App Twin: Some Android devices support App Twin, which allows you to run two instances of the same app on one device. This is useful if you want to run two WhatsApp accounts, for example. The feature may be located in the settings under "Dual apps" or "App twin," depending on your device.


Control your phone with your voice: You can use voice commands to control your phone, such as making calls, sending texts, and more. Simply say "Ok Google" to activate the Google Assistant and start using voice commands.


Manage apps with Android's App Info: You can access Android's App Info to see which apps are using the most data, battery, and storage, and to force stop or uninstall apps as needed. To access it, go to "Settings" > "Apps" and select the app you want to manage. From there, you can view its usage stats, clear its cache, and more. 

Sunday, January 29, 2023

[Explained] Android App directories and methods to access these directories


Android App directories and methods to be used to access these app directories 


Have you ever wonder why there are so many directories in your Android Phone and what purpose they do serve. As, Android, basically uses Linux as a base platform, it's likely to have Linux like file system structure. Let's take a quick dive into what are those different Android Application Directories in your Android mobile phone and then I've also mentioned the methods that can be used in your android application to access the data from these directories.


Android App Directory



We have 'apps' directory which is self explanatory. The data for the application that are pre-installed or the ones that you would install would sit in this folders. 

APPLICATIONS:
/data/app/* - This is for the users application Installation space 
/data/app/*/base.apk - Space for Android default or preinstalled system apps
/data/app/*/lib//*.so - Space for Shared Libraries(so = shared object similar to dll)
/data/app/*/oat//base.[art|odex|vdex] - Space of compiled executable code that we installed
/data/dalvik-cache//*.[art|dex|oat|vdex] - Space of compiled executable code only for preinstalled apps
/data/misc/profiles/cur///primary.prof - Androd RunTime Profile (refer: https://source.android.com/devices/bootloader/boot-image-profiles)
/data/misc/profiles/ref//primary.prof - Androd RunTime Profile (refer: https://source.android.com/devices/bootloader/boot-image-profiles


Next is user directory under Internal Storage

Internal Storage:
/data/user[_de]/<user_id>/<pkg> - To fetch data from this path use getDataDir()
/data/user[_de]/<user_id>/<pkg>/files - To fetch data from this path use getFilesDir()
/data/user[_de]/<user_id>/<pkg>/[code_]cache - To fetch data from this path use getCacheDir() or getCodeCacheDir()
/data/user[_de]/<user_id>/<pkg>/databases - To fetch data from this path use getDatabasePath()
/data/user[_de]/<user_id>/<pkg>/no_backup - To fetch data from this path use getNoBackupFilesDir()
/data/user[_de]/<user_id>/<pkg>/shared_prefs - To fetch data from this path use getSharedPreferences()

Next is external storage and directories present in external path like SDCard

External Storage:

/storage/emulated/obb/<pkg>/*.obb - Shared by multi-users, exposed in following view)

/storage/emulated/<user_id>/Android/obb/<pkg>/*.<pkg>.obb - To fetch data from this path use getObbDirs()

/storage/emulated/<user_id>/Android/media/<pkg> - To fetch data from this path use getExternalMediaDirs()

/storage/emulated/<user_id>/Android/data/<pkg>/ - To fetch data from this path use getExternalMediaDirs()

/storage/emulated/<user_id>/Android/data/<pkg>/files To fetch data from this path use getExternalFilesDirs()

/storage/emulated/<user_id>/Android/data/<pkg>/[code_]cache - To fetch data from this path use getExternalCacheDirs()



 TLDR, here it is in Tabular format for quick reference.

Android Apps directory and Description

Sunday, November 13, 2022

[Solved] Xiaomi Redmi Phone Rebooting from Fastboot Mode Or Rebooting from Recovery Mode



If you found this page while looking for a solution to a problem of your Xiaomi Phone getting switched off automatically while in Fastboot mode or While in Recovery Mode. You are absolutely at the right place.
Here is a basic and important info how to resolve this issue.

What is fastboot mode?


If you have not heard it before, in easy words fastboot mode is used for installing the ROM images (OS package files in other words). Usually, installing OS images is also called as Flashing.
For Flashing a mobile, "fastboot.bin" tool from Android is required. Flashing is capable of wiping the complete phones data as the new OS image will be written over the previous image data.

The Fastboot screen on usual Xiaomi phones look like:

Xiaomi Redmi Fastboot Mode


You can switch to Fastboot mode by Pressing Power Key and Volume Down Key


What is Recovery mode?

You can switch to Recovery Mode by pressing Power Key and Volume Up key and leave the Power Key when you seen the MIUI logo on the screen.

Recovery Mode is used for Zip files from OEMs or Update the OS version or firmware version. You can also use for deleting Userdata or do a factory Reset of your phone.

Recovery does not use command line tool instead it itself can flash the files which can be kept in the phone memory (if phones memory has partition available) or file can be kept in external SD card.

Recovery Mode on Xiaomi phones :




So, coming back to our original problem. If device is keep on rebooting automatically if you are in recovery mode or fastboot mode. Major of the issues that occur is due to Power key. As explained earlier, we use Power key for performing switching the device to Recovery or Fastboot mdoe.
On a regular basis, we tend to use Power key more often then any other keys on your phone. The key press button keys have limited life shelf like any other electronic devices. After certain period of time they stop working as they are intended to do so. 
Do not want to bring in here the concept of planned obsolescence. But its good read if you want to understand more how consumers are being  forced to upgrade or buy new item. A good read here:

Again, coming back to our topic, if your device is continuously rebooting, say after around 10 to 14 seconds when in fastboot mode that means the power key on device is in pressed state thus sending a Reboot signal to the device. Same happens when your device is in Recovery Mode. Your phone reboots and you continue to worry if the problem is with OS.
While you struggle to find out what and where exactly the problem is, your battery might get drained out and then you are out of options now. With drained battery, you can neither check further nor you can reflash new OS.
I've been into this situation. My phone's battery was dead and if I connect the phone to PC or Power Charger, it would start charge and before the charging  could even initiates, the phone reboots again. That is more of a frustation over an ongoing frustation. Either you need to have another phone which can charge your phones battery or some external universal charger that can charge the battery.
After digging a lot, I found a way to charge the battery atleast. So that I could confirm that, problem is because of Power Button and not because of corrupted OS.

While trying to do all of this , I tried flashing a complete OS image using the Xiaomi flash and that deleted everything from my phone including OS, so phone was just rebooting in fastboot mode.
Word of caution, I will not be responsible for any data loss in case you follow the steps. Please proceed if you understand the consequences.

To start with, I am assuming you have fastboot.exe on your system. If not, please refer this: https://wiki.lineageos.org/adb_fastboot_guide





You need to goto device fastboot mode (as given in this screenshot )
And quickly need to flash the TWRP Recovery Image.
In my case - I renamed the file to recoveryb.img

The command to flash is:

fastboot flash recovery <path to recoveryb.img/recoveryb.img


The file size is around 14MB so it would be flashed quickly before your phone switches off or reboot.
Even if your battery is dead you can flash via fastboot.



You can search for Fastboot flash recovery image on XDA forum. Please do drop a comment if you are not able to fine the fastboot.zip file, I can find and share with you.

Alternately, you can double click and run the flash_recovery.bat file to flash the TWRP recovery image when phone is in Fastboot mode.
Once flashing is done,  you will start seeing the MIUI logo.
Now, Connect your phone to a charger and you can remove the battery and connect it back while holding Power key and volume up key.
This will take you to TWRP recovery screen (as device was flashed with TWRP recovery image)
Quickly at bottom of the screen press up or down to move to some other page in recovery screen.
It seems, for me Power button had no impact on Recovery screen and I was able to charge the phone to 100% in recovery mode.
You would notice that phone is charging at the top right , where battery percentage is append with "+" symbol

Let the phone charge completely to be on the safer side.
Meanwhile, you can download the complete OS for your phone from MIUI.com
and keep it in SDCARD


Once phone is completely charged or charge is greater than 80%. Keep the sdcard inside the phone.
Press the Power key and volume up key to go to TWRP recovery screen.
Click on Install button.
Select the SDCARD path where OS zip image is kept (remember flashing the complete image will make you loose your all data)

And select Yes to start the phone flashing.
Now your phone has a proper OS image which is supposed to boot properly.

But if phone continues to boot again and again from MIUI logo screen.
That confirms something is wrong with the power button of the device.

Go to nearest mobile repair shop and get the power button replaced.
He might argue that the issue is with OS or flashing but as you have done your homework, ask him to replace the button blindly. It just would cost you few bucks. There you go, you will have your phone working afterwards for sure.

Friday, September 9, 2022

How to Uninstall VMware Intelligent Hub from Android


What is WorkspaceOne Intelligent Hub

And Removing VMware WorkspaceOne Intelligent Hub from Android phones

Let's start with the basic question, what WorkspaceOne Intelligent Hub is and what does it do?

How to uninstall workspaceOne Intelligent Hub
Well, it's not easy to get this one answered in short. It would require its own post. But anyways, I will try to summarise it in a short way. Please do comment if you are looking for a complete post on it. I've seen multiple reviews on Google Playstore where many users have asked, "I've installed Intelligent Hub but how to remove this app" or "can someone help to uninstall this app, I am not able to remove the Intelligent Hub".

So, lets start first with, what VMware WorkspaceOne Hub is -  WorkspaceOne Intelligent Hub is a Mobile Device Management application for Android phones and it falls under an umbrella term called Enterprise Mobility Management (EMM) app. Similar apps are also available on different Platforms like iOS, Windows and different companies have their own client application created. For example, Microsoft has InTune, IBM has MaaS360, Ivanti got MobileIron and there are many more. This client app allows organizations to securely enable employees to use their mobile phones and the applications on them. EMM apps help IT department of a company to control the device (not as in actual control but manage the device settings, applications, etc). They can deploy and remove the applications on the phone remotely. They also can deploy restrictions on the device like Not allowing a user to open Camera or to open Playstore app etc. Thus, managing the device to increase the productivity of the workforce. Most of the device users are either being requested by the company to install the Hub app from Google playstore OR the company's IT department itself would install the app and have it enrolled for the user. 

Why can't you uninstall Hub?

The moment you try to enrol the phone with Intelligent Hub, the app would request certain permission which I will be discussing later in the article, which is the cause of the issue. Be it company-owned mobile devices (i.e. Corporate Owned) or your personal device (i.e. Bring Your Own Device - BYOD), the day you do not want to use this app, you will have to unenrol yourself from the Intelligent Hub application first. Point to note here is unenroling from the Hub app will not uninstall the app.

Although, it's just a 100MB-150MB app, but no one would want an app that just sits on device ideally and consume space. You try to go to Settings > Apps > Find Hub. Here, what you find is, Uninstall Option is Disabled. This is what annoys everyone, why would an App which is installed by you, does not get uninstall.

And you would ask, why I am not able to uninstall it from my Android mobile. The simple reason is - it's Google (of course because Android is from Google) and your company's IT Admin does not want you to uninstall it from the phone.  But if you have a mobile enrolled in a specific mode you should be able to. Let's look into it further.



Why Google, because the MDM app is using the capabilities which Google has provided in the Android OS. The whole ecosystem is designed by Google in a certain way so that IT dept. or the WorkspaceOne UEM console Admins can managed it.
When you install any MDM application be it Android Intelligent Hub or some other MDM app onto your mobile, during the initial setup, the application would request certain permissions. Among these permissions, there is one that would ask you to set the application as Device Administrator
I am sure, you should be able to recall the below screen when the app was getting configured and you had to choose the Activate option.

Now another question arises, what is Device Admin? Let's do a small quick dive into it before proceeding. 

As the name suggests, Device Admin applications are the ones that have control of the device.

For example, "Google Find my Device" will be pre-installed on every Google Playstore supported device and this app will be de-facto a Device Admin. As the app has elevated permission already given by Android OS, this app is capable of ringing the device and locating the device without user's intervention. That is the only reason, we are able to find the device even if the mobile screen is locked and no one is using it.

You can see the same on your mobile phone under the Settings > Security & Location > Advanced > Device Admin App .  The Find My Device app is set as Device Admin with a Tick mark. The Tick suggests that the listed app is Device Admin and Un-tick refers that the app is installed but not set as Device Admin.

Steps to Uninstall Intelligent Hub from Android phones

So, if you want to Uninstall the Intelligent Hub from your mobile and if your phone is enrolled with and Android Legacy mode of enrolment called Device Admin mode, you just need to perform the below steps. For more details, you can check this guide from Google on Legacy Deprecation.

Go to Settings > Security & Location > Advanced > Device admin apps

Untick or Disable the WorkspaceOne Intelligent Hub

On the next screen, select "Deactivate this device admin app"

Go to Settings > Applications & notifications > Search for Hub and click on Uninstall





Device admin app screen


When you cannot Uninstall Android Hub

There is one more real-time scenario when you see Hub is installed on the device but the option to "Deactivate this device Admin app" is Disabled (Grayed out). This is the case, where the mobile was enrolled in Work Managed or Device Owner mode or Corporate Owner Personally Enabled (COPE). You can confirm this by launching the Hub app and clicking on "This device" option. If you are seeing "Work Managed" or Corporate Owner Personally Enabled as in the below screenshot, you can be sure that the Hub app is Device Owner app and your Company or IT department is in complete control of the mobile phone. 


     WorkspaceOne Intelligent Hub Account screen
WorkspaceOne Intelligent hub This Device screen




For the Work Managed and Corporate Owner Personally Enabled (COPE) enrolled mobile, the OS does not want you to un-enroll the device on your own and it does not want you to Uninstall the Device admin app too as the mobile device, in this case, would usually be owned by the company.
Hence, when you go to Device admin settings on your mobile device, you would find the setting as Disabled for you to click.



Work Managed enrolled Device Admin screen



As the option is grayed-out , you will not be able un-install the Hub app. If your Company IT Admin has permitted you to see and launch Hub, you can try launching the Hub app. From the Account screen, tap on This Device option and then tap on the Enrollment option. You would find Unenroll Hub if IT admin has kept the option enabled. If it's enabled by mistake, try not to click on it. Click it in Work Managed Mode or Corporate Owner Personally Enabled device would factory reset the device. This is expected Designed behaviour.


 Hub Account Screen WorkspaceOne Intelligent hub This Device screenUnenroll Hub



If you like to understand more about Work Managed mode, you can take a quick read on my earlier post - difference between Work Managed and Work Profile modes. You can also take a look into How to install and uninstall the Test DPC App on mobiles.

It should be noted that the above information is applicable for other MDM android apps like IBM Mass360, Miradore, MobileIron, and other widely used MDM applications. There might be a small change in the way the app is installed or configured on the mobile phones but the process of uninstalling these types of apps, once they become device Admin, is the same.
Hope, you'd find this article useful and learned something new. 

Also, if you have any more questions with respect to what happens to your personal data when VMware WorkspaceOne Hub installed, you can go through this FAQ page directly from VMware - 

Please do comment below if you have any questions or suggestions.


If Privacy is important to you, you might be interested to learn if you are being watched via Intelligent Hub: https://g33ktricks.blogspot.com/2023/10/privacy-concerns-with-intelligent-hub.html



Incoming searches:

How to uninstall VMware Intelligent hub

Uninstall steps for VMware Intelligent hub

Sunday, July 17, 2022

Small Size Test Apks


List of Smallest Apks for Test
Often we require some test apps to install on device just to see if installation is working fine.

You can run adb command  - adb install <apk> to install apps from command line if you have Android SDK installed. You can download them directly from the links here or you can search and get them from Google play store and install them from the mobile's File Manager.



Here is the list of Small Size Test Apks

1. Chhotu- The Smallest APK

Playstore link:

https://play.google.com/store/apps/details?id=a.i

Size of app: 2.4k


2. Smallest App - 4G Switch and Network Info


2nd on the list is Info app with size slightly more than above . It's just 2.8KB and displays information like SIM cards, IMEI number, phone number, current network etc.

Playstore link:






3. I'm small app

Playstore link:

https://play.google.com/store/apps/details?id=com.vkopitsa.droid.smallapp

Size: 3.38 KB


4. Smallest app

Playstore link:

https://play.google.com/store/apps/details?id=z.m

Size: 3k









Sunday, May 23, 2021

Complete List of ADB shell Commands for Android mobile


List of adb shell commands
ADB SHELL COMMANDS LIST


Firstly, what is ADB?

Android Debug Bridge(adb) is a command-line tool that lets you communicate with an Android device. The adb command facilitates a variety of device actions, such as installing and debugging apps, and it provides access to a Unix shell that you can use to run a variety of commands on a device. It is a client-server program that includes three components:

A customer, which sends commands. The customer runs on your development machine. You can bring a customer from a command- line terminal by issuing an adb command.
A daemon( adbd), which runs commands on a device. The daemon runs as a background process on each device.
A garçon, which manages communication between the customer and the daemon. The garçon runs as a background process on your development machine.
adb is included in the Android SDK Platform- Tools package. You can download this package with the SDK Manager, which installs it atandroid_sdk/ platform- tools. Or if you want the standalone Android SDK Platform- Tools package, you can download it then

adb is included in the Android SDK Platform-Tools package. You can download this package with the SDK Manager, which installs it at android_sdk/platform-tools/. Or if you want the standalone Android SDK Platform-Tools package, you can download it here.

For information on connecting a device for use over ADB, including how to use the Connection Assistant to troubleshoot common problems, see Run apps on a hardware device.


  • Below is the comprehensive List of ADB commands that are used regularly
    adb sideload

  • adb shell settings
  • adb shell dumpsys
  • adb shell wm
  • adb shell dumpsys battery
  • adb shell pm
  • adb shell input keyevent <>
  • adb shell input text
  • adb shell input tap
  • adb shell cat
  • adb shell top
  • adb shell ifconfig
  • adb shell screenrecord
  • adb shell screencap
  • adb shell mount
  • adb shell date
  • adb shell netstat
  • adb shell ps
  • adb install
    • adb uninstall
    • adb root
    • adb pull
    • adb push
    • adb shell am
    • adb shell ping


adb sideload

adb sideload ota_file.zip

Updating Phones OTA Images manually via command.

Prior to this need to take phone to recovery mode (adb reboot recovery)


adb shell dumpsys iphonesubinfo

adb shell dumpsys iphonesubinfo

Get Android device IMEI (Only for Android 4.4 or lower, otherwise needs ROOT permission)


adb shell getprop

adb shell getprop

Get Android system properties info.


adb shell getprop ro.build.version.sdk

Get SDK API level.


adb shell getprop ro.build.version.security_patch

Get Android security patch version.


adb shell getprop ro.board.platform

Get SOC info.


adb shell getprop ro.build.version.release

Get Android version info.

  

adb shell getprop ro.vendor.product.model

Get Android device model.


adb shell getprop ro.product.manufacturer

Get Android device manufacturer.

 

adb shell getprop ro.serialno

Get ADB serial number.


adb shell getprop ro.oem_unlock_supported

Get OEM unlock status.


adb shell getprop ro.bootimage.build.fingerprint

Get Android device build fingerprint.


adb shell getprop ro.boot.wifimacaddr

Get WiFi MAC Address



adb shell settings

adb shell settings list system

Android Settings provider (system namespace)


adb shell settings get system volume_system

Get current system volume level in Android.


adb shell settings get system notification_sound

Get current system notification sound in Android.

 

adb shell settings list secure

Android Settings provider (secure namespace)


adb shell settings get secure android_id

Find Android Device Identifier(Device Id)


adb shell settings get secure bluetooth_address

Find Bluetooth MAC address in android.

 

adb shell settings list global

Android Settings provider (global namespace)


adb shell settings get global mobile_data

Get current mobile data status in Android.


adb shell settings get global wifi_on

Get current WiFi status in Android.



adb shell pm

adb shell pm list packages

Get List of Installed Apps in Android.


adb shell pm list packages -s

Get list of System apps


Other params:

-d : Disabled apps

-e : Enabled apps

-u : Uninstalled apps


adb shell pm list packages -3

lists 3rd-Party apps


adb shell pm list packages <keywords>

Keyword filtering


adb shell pm path <package-name>

Get the APK path on the device's filesystem


adb shell pm uninstall <package name>

-k - keeps the app data and cache as is on mobile

e.g. adb shell pm uninstall -k --user 0 com.facebook.appmanager



adb shell pm disable-user --user 0 <package name>

to disable a system app on your Android mobile device



adb shell pm hide -user 0 <package name>

to hide an app from device


adb shell pm create-user <username>

to create another user on the device


adb shell pm remove-user <user_id>

to remove another user on the device



adb shell wm

adb shell wm density

Get screen physical density in Android


adb shell wm size

Get screen physical size in Android


adb shell dumpsys battery

adb shell dumpsys battery

Get battery info in Android.


Current Battery Service state:

 AC powered: false

 USB powered: true

 Wireless powered: false

 Max charging current: 500000

 Max charging voltage: 5000000

 Charge counter: 3367082

 status: 2

 health: 2

 present: true

 level: 98

 scale: 100

 voltage: 4393

 temperature: 325

 technology: Li-ion


adb shell pm

adb shell pm list packages

Get List of Installed Apps in Android.


adb shell pm list packages -s

System apps


adb shell pm list packages -3

3rd-Party apps


adb shell pm list packages <keywords>

Keyword filtering


adb shell pm path <package-name>

Get the APK path on the device's filesystem.


adb shell pm list features

lists phone features



adb shell input keyevent

adb shell input keyevent [--longpress] <key code number or name>

Control Keypress events on Android


Android KeyEvent Constants


adb shell input keyevent 187

KEYCODE_APP_SWITCH


adb shell input keyevent 3

KEYCODE_HOME


adb shell input keyevent 84

KEYCODE_SEARCH

 

adb shell input keyevent 219

KEYCODE_ASSIST


adb shell input keyevent 231

Voice Assist key


adb shell input keyevent 5

KEYCODE_CALL


adb shell input keyevent 6

KEYCODE_ENDCALL


adb shell input keyevent 7

KEYCODE_0 


adb shell input keyevent 16

KEYCODE_9


adb shell input keyevent 29

KEYCODE_A


adb shell input keyevent 54

KEYCODE_Z


adb shell input keyevent 66

KEYCODE_ENTER


adb shell input keyevent 67

KEYCODE_DEL


adb shell input keyevent 24

KEYCODE_VOLUME_UP


adb shell input keyevent 25

KEYCODE_VOLUME_DOWN


adb shell input keyevent 164

toggle MUTE the speaker


adb shell input keyevent 91

toggle MUTE the microphone


adb shell input keyevent --longpress 26

Long PRESS power key


adb shell input keyevent 26

KEYCODE_POWER


adb shell input keyevent 27

KEYCODE_CAMERA

 

adb shell input keyevent 223

Lock screen.

 

adb shell input keyevent 224

Wakes up the device.



adb shell input text

adb shell input text <string>

Sending Keyboard input to your Android device.


adb shell input text Nexus


adb shell input text ADB%sInstaller

Tips: %s means SPACE, replace spaces with %s



adb shell input tap

adb shell input tap <x> <y>

Simulate a touchscreen tap X,Y position.


adb shell input tap 620 1300

To find the exact X,Y position go to "Settings" > "Developer Options" > Check the option "Pointer location"


adb shell cat

adb shell cat /proc/cpuinfo

CPU Info


adb shell cat /proc/meminfo

RAM Info


adb shell top

adb shell top

The top command allows users to monitor processes and system resource usage on Linux.


adb shell ifconfig

adb shell ifconfig

Display or configure network interface


adb shell ifconfig wlan0

WiFi Connection Info



adb shell screenrecord

adb shell screenrecord /sdcard/test.mp4

Records the device's display to a .mp4 file


adb pull /sdcard/test.mp4

Download test.mp4 file from Android Device.


adb shell screenrecord [options] <filename>


Options:


--size WIDTHxHEIGHT

  Set the video size, e.g. "1280x720". Default is the device's main

  display resolution (if supported), 1280x720 if not. For best results,

  use a size supported by the AVC encoder.


--bit-rate RATE

  Set the video bit rate, in bits per second. Value may be specified as

  bits or megabits, e.g. '4000000' is equivalent to '4M'. Default 20Mbps.


--bugreport

  Add additional information, such as a timestamp overlay, that is helpful

  in videos captured to illustrate bugs.


--time-limit TIME

  Set the maximum recording time, in seconds. Default / maximum is 180.


--verbose

  Display interesting information on stdout.



adb shell screencap

adb shell screencap -d 0 /sdcard/test.png

Take a screenshot on Android


adb shell pull /sdcard/test.png

Download test.png file from Android Device.



adb shell mount

adb shell mount

Mount new filesystem(s) on directories. With no arguments, display existing mounts.


mount [-afFrsvw] [-t TYPE] [-o OPTION,] [[DEVICE] DIR]


-a   mount all entries in /etc/fstab (with -t, only entries of that TYPE)

-O   only mount -a entries that have this option

-f   fake it (don't actually mount)

-r   read only (same as -o ro)

-w   read/write (default, same as -o rw)

-t   specify filesystem type

-v   verbose


OPTIONS is a comma separated list of options, which can also be supplied as --longopts.


This mount autodetects loopback mounts (a file on a directory) and bind mounts (file on file, directory on directory), so you don't need to say --bind or --loop. You can also "mount -a /path" to mount everything in /etc/fstab under /path, even if it's noauto


adb shell date

adb shell date

Get the current datetime


adb shell netstat

adb shell netstat

Display networking information. Default is netsat -tuwx


-r routing table

-a all sockets (not just connected)

-l listening server sockets

-t TCP sockets

-u UDP sockets

-w raw sockets

-x unix sockets

-e extended info

-n don't resolve names

-W wide display

-p PID/Program name of sockets



adb shell ps

adb shell ps

List processes running in the android 


Which processes to show (selections may be comma separated lists):


-A   All processes

-a   Processes with terminals that aren't session leaders

-d   All processes that aren't session leaders

-e   Same as -A

-g   Belonging to GROUPs

-G   Belonging to real GROUPs (before sgid)

-p   PIDs (--pid)

-P   Parent PIDs (--ppid)

-s   In session IDs

-t   Attached to selected TTYs

-T   Show threads

-u   Owned by USERs

-U   Owned by real USERs (before suid)


Output modifiers:


-k   Sort FIELDs in +increasing or -decreasting order (--sort)

-M   Measure field widths (expanding as necessary)

-n   Show numeric USER and GROUP

-w   Wide output (don't truncate fields)


adb install

adb install test.apk

app installation


install [-lrtsdg] [--instant] <PACKAGE-NAME>

install-multiple [-lrtsdpg] [--instant] PACKAGE...push package(s) to the device and install them


-l: forward lock application

-r: replace existing application

-t: allow test packages

-s: install application on sdcard

-d: allow version code downgrade (debuggable packages only)

-p: partial application install (install-multiple only)

-g: grant all runtime permissions

--instant: cause the app to be installed as an ephemeral install app


adb uninstall

adb uninstall <PACKAGE-NAME>

remove this app package from the device



adb root

adb root

restart adbd with root permissions


adb unroot

restart adbd without root permissions


-k: keep the data and cache directories



adb pull

adb pull /sdcard/test.png

copy files/dirs from device


-a: preserve file timestamp and mode


adb push

adb push test.png /sdcard/test.png

copy local files/directories to device


--sync: only push files that are newer on the host than the device


adb shell am

adb shell am

Activity manager (activity) commands


adb shell am start -n com.android.vending/com.google.android.finsky.activities.MainActivity

Launch Google Play Store



adb shell ping

adb shell ping www.yahoo.com

pings www.yahoo.com



adb shell ls

adb shell ls

list directory contents


adb shell ls -s 

print size of each file


adb shell ls -R 

list subdirectories recursively


Other Generic Commands commonly used:

adb reboot-recovery (reboot device into recovery mode)

adb reboot fastboot (reboot device into fastboot mode)
adb reboot bootloader  - Reboots the device to the bootloader
adb shell screencap -p "/path/to/screenshot.png" (capture screenshot)
adb shell screenrecord "/path/to/record.mp4" (record device screen)
adb backup -apk -all -f backup.ab (backup settings and apps)
adb backup -apk -shared -all -f backup.ab (backup settings, apps and shared storage)
adb backup -apk -nosystem -all -f backup.ab (backup only non-system apps)
adb restore backup.ab (restore a previous backup)
adb shell am start|startservice|broadcast <INTENT>[<COMPONENT>]
-a <ACTION> e.g. android.intent.action.VIEW
-c <CATEGORY> e.g. android.intent.category.LAUNCHER
 (start activity intent)

adb shell am start -a android.intent.action.VIEW -d URL (open URL)
adb shell am start -t image/* -a android.intent.action.VIEW (opens gallery)

adb shell permissions groups (list permission groups definitions)
adb shell list permissions -g -r (list permissions details)

adb shell ip -o a - To get list of all IP Address

adb shell ip addr show wlan0 - 

adb shell "svc data disable" - Disables the Mobile Data

adb shell "svc data enable" - Enables the Mobile Data

adb shell ip addr show wlan0 - Shows Wlan0 IP config.

Output:

11: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000

    link/ether aa:84:17:9c:df:1b brd ff:ff:ff:ff:ff:ff

    inet 192.168.0.27/24 brd 192.168.0.255 scope global wlan0

       valid_lft forever preferred_lft forever

    inet6 fe80::a884:17ff:fe9c:df1b/64 scope link 

       valid_lft forever preferred_lft forever


adb shell getevents  (tool runs on the device and provides information about input devices and a live dump of kernel input events)