The Android SDK comes with a comprehensive set of developer tools that include libraries, handset emulator based on QEMU, a debugger, sample code, documentation and tutorials. Although Eclipse is the only officially supported IDE, IntelliJ IDEA, as well as NetBeans IDE fully support Android development. The only problem I always had with Mac and Android combo is not being able to transfer data between these devices fast enough. Thanks MacDroid for filling this gap. Overall rating 4.5. Based on 56 reviews. Manage data between Android and Mac computer. Bluestacks Android Emulator for Mac OS. There are certain emulators that are easy to install.
Setting up Android Studio takes just a few clicks.
First, be sure you download the latest version of Android Studio.
Windows
To install Android Studio on Windows, proceed as follows:
- If you downloaded an
.exe
file (recommended), double-click to launch it.If you downloaded a
.zip
file, unpack the ZIP, copy the android-studio folder into your Program Files folder, and then open the android-studio > bin folder and launchstudio64.exe
(for 64-bit machines) orstudio.exe
(for 32-bit machines). - Follow the setup wizard in Android Studio and install any SDK packages that it recommends.
That's it.The following video shows each step of the setup procedure when using the recommended.exe
download.
As new tools and other APIs become available, Android Studio tells youwith a pop-up, or you can check for updates by clicking Help >Check for Update.
Mac
To install Android Studio on your Mac, proceed as follows:
- Launch the Android Studio DMG file.
- Drag and drop Android Studio into the Applications folder, then launch Android Studio.
- Select whether you want to import previous Android Studio settings, then click OK.
- The Android Studio Setup Wizard guides you through the rest of the setup, which includes downloading Android SDK components that are required for development.
That's it.The following video shows each step of the recommended setup procedure.
As new tools and other APIs become available, Android Studio tells youwith a pop-up, or you can check for updates by clicking Android Studio> Check for Updates.
Note: If you use Android Studio on macOS Mojave or later, you might see a prompt to allow the IDE to access your calendar, contacts, or photos. This prompt is caused by new privacy protection mechanisms for applications that access files under the home directory. So, if your project includes files and libraries in your home directory, and you see this prompt, you can select Don't Allow.
Linux
To install Android Studio on Linux, proceed as follows:
- Unpack the
.zip
file you downloaded to an appropriate location for your applications, such as within/usr/local/
for your user profile, or/opt/
for shared users.If you're using a 64-bit version of Linux, make sure you first install the required libraries for 64-bit machines.
- To launch Android Studio, open a terminal, navigate to the
android-studio/bin/
directory, and executestudio.sh
. - Select whether you want to import previous Android Studio settings or not, then click OK.
- The Android Studio Setup Wizard guides you through the rest of the setup, which includes downloading Android SDK components that are required for development.
Tip:To make Android Studio available in your list of applications, selectTools > Create Desktop Entry from the Android Studio menu bar.
Required libraries for 64-bit machines
If you are running a 64-bit version of Ubuntu, you need to install some 32-bitlibraries with the following command:
If you are running 64-bit Fedora, the command is:
That's it.The following video shows each step of the recommended setup procedure.
As new tools and other APIs become available, Android Studio tells youwith a pop-up, or you can check for updates by clicking Help >Check for Update.
Chrome OS
Follow these steps to install Android Studio on Chrome OS:
- If you haven't already done so, install Linux for Chrome OS.
- Open the Files app and locate the DEB package you downloaded in theDownloads folder under My files.
Right-click the DEB package and select Install with Linux (Beta).
- If you have installed Android Studio before, select whether you want toimport previous Android Studio settings, then click OK.
The Android Studio Setup Wizard guides you through the rest of thesetup, which includes downloading Android SDK components that arerequired for development.
After installation is complete, launch Android Studio either from theLauncher, or from the Chrome OS Linux terminal by running
studio.sh
inthe default installation directory:/opt/android-studio/bin/studio.sh
That's it. As new tools and other APIs become available, Android Studio tells youwith a pop-up, or you can check for updates by clicking Help >Check for Update.
Note: Android Studio on Chrome OS currently supports deploying your app only toa connected hardware device. To learn more, read Run apps on a hardwaredevice.Starting in Android 8.0, Android devices use randomized MAC addresses when probingfor new networks while not currently associated with a network. In Android9, you can enable a developer option (it'sdisabled by default) to cause the device to use a randomized MAC addresswhen connecting to a Wi-Fi network.
In Android 10, MAC randomization is enabled by defaultfor client mode, SoftAp, and Wi-Fi Direct.
MAC randomization prevents listeners from using MAC addresses to build a historyof device activity, thus increasing user privacy.
Additionally, MAC addresses are randomized as part ofWi-Fi Aware andWi-Fi RTT operations.
Implementation
To implement MAC randomization on your device:
Work with a Wi-Fi chip vendor to implement the following HAL methods:
IWifiStaIface#setMacAddress
: Configures the MAC address of theinterface. The default implementation brings the interface down, changesthe MAC address, and brings the interface back up.IWifiStaIface#getFactoryMacAddress
: Gets the factory MAC ofwlan0
using anioctl
call.ISupplicantP2pIface#setMacRandomization
: Sets P2P MAC randomizationon/off in the supplicant.
Set
config_wifi_connected_mac_randomization_supported
totrue
in the Settingsconfig.xml
(this can be done in a devicecustom overlay).- This flag is used to control whether client-mode MAC randomization isenabled.
Set
config_wifi_p2p_mac_randomization_supported
totrue
in the Settingsconfig.xml
(this can be done in a devicecustom overlay).- This flag is used to control whether Wi-Fi direct MAC randomization isenabled.
Test your implementation using the methods described inValidation.
The System UI must:
- Have an option to enable or disable randomization for each SSID.
- Have MAC randomization enabled by default for all newly added networks.
Use thereference implementation of Settings UI to implement new prompts.
Devices running Android 9 or lower might not havesupport for Wi-Fi MAC randomization. When upgrading such devices to Android10, the Wi-Fi MAC randomization feature can be disabledby setting the WIFI_HIDL_FEATURE_DISABLE_AP_MAC_RANDOMIZATION
flag to true inthe Wi-Fi vendor HAL make file.
Validation
To validate that the feature is working as intended, run both an integrationtest (ACTS) and a manual test.
To run an integration test, use the ACTS file,WifiMacRandomizationTest.py
, located intools/test/connectivity/acts/tests/google/wifi
, to verify that the device usesthe randomized MAC address and correctly stores the randomized MAC address foreach network.
To run a manual test:
- Verify that MAC randomization is enabled on the device by checking that
config_wifi_connected_mac_randomization_supported
is set totrue
in thedevice overlay. - Connect to a Wi-Fi network.
- Tap the network to go to the Network details page. Verify that MACrandomization is turned on. Verify that the MAC address displayed is arandomized MAC, which has the locally generated bit set to 1 and themulticast bit set to 0.
- Turn MAC randomization off. Connect to the same network and verifythat the factory MAC is being used.
- Delete the network by tapping Forget on the Network details page.
Connect to the same network and verify that the same randomized MACaddress is being used.
Note: Randomized MAC addresses are generated per SSID and are persistent.
To test MAC randomization on a pre-Android 10 device(capable of supporting MAC randomization) upgrading to Android10 or higher:
- Have at least one saved network on a device runningAndroid 9 or lower.
- Flash the Android 10 system image.
- In the Wi-Fi picker, verify that MAC randomization is turned off for allsaved networks.
- Turn MAC randomization on. Connect to the same network and verifythat the randomized MAC is being used.