-
Download commandline tools from https://developer.android.com/studio (You will find "Command line tools only" section at the bottom of the page)
-
Place this in
~/Android/sdk/cmdline-tools/latest
(the latest forlder should contain the contents of cmdline-tools that you downloaded above with the bin and lib directories) -
Then download the sdk using the cmdline-tools you downloaded
cd ~/Android/sdk/cmdline-tools/latest/bin # this downloads android sdk and places everything in the ~/Android/sdk dir ./bin/sdkmanager "system-images;android-32;google_apis;x86_64" "platform-tools" "build-tools;33.0.2" "platforms;android-33-ext5" "emulator" --sdk_root=$HOME/Android/sdk
-
Set
ANDROID_HOME
and expose paths of downloaded sdk executablesecho 'export ANDROID_HOME=$HOME/Android/sdk' >> ~/.zshrc echo 'export PATH=${PATH}:$ANDROID_HOME/cmdline-tools/latest/bin:$ANDROID_HOME/platform-tools:$ANDROID_HOME/emulator' >> ~/.zshrc
-
Now you may create an emulator
avdmanager create avd -n <EMULATOR_NAME> -k "system-images;android-32;google_apis;x86_64" -d pixel_7_pro # pixel_7_pro is the id of the device but you can select whichever you prefer by choosing from `avdmanager list``
-
Feel free to use the config below (it has higher ramSize, enabled hardware buttons and some other optimisations for better DX)
Last active
November 22, 2023 12:15
-
-
Save madhums/dd335b8c9aefdc8bc42babe1f4cc5fa2 to your computer and use it in GitHub Desktop.
install android sdk on linux (without installing android studio)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# ~/.android/avd/<NAME_OF_AVD>/config.ini | |
PlayStore.enabled = no | |
abi.type = x86_64 | |
avd.id = <build> | |
avd.ini.encoding = UTF-8 | |
avd.name = <build> | |
disk.cachePartition = yes | |
disk.cachePartition.size = 66MB | |
disk.dataPartition.path = <temp> | |
disk.dataPartition.size = 6442450944 | |
disk.systemPartition.size = 0 | |
disk.vendorPartition.size = 0 | |
fastboot.forceChosenSnapshotBoot = no | |
fastboot.forceColdBoot = no | |
fastboot.forceFastBoot = yes | |
hw.accelerometer = yes | |
hw.accelerometer_uncalibrated = yes | |
hw.arc = no | |
hw.arc.autologin = no | |
hw.audioInput = no | |
hw.audioOutput = yes | |
hw.battery = yes | |
hw.camera.back = emulated | |
hw.camera.front = none | |
hw.cpu.arch = x86_64 | |
hw.cpu.ncore = 4 | |
hw.dPad = no | |
hw.device.hash2 = MD5:a8abfd3536f3d35e4ba2041a7b99f40e | |
hw.device.manufacturer = Google | |
hw.device.name = pixel_7_pro | |
hw.display1.density = 0 | |
hw.display1.flag = 0 | |
hw.display1.height = 0 | |
hw.display1.width = 0 | |
hw.display1.xOffset = -1 | |
hw.display1.yOffset = -1 | |
hw.display2.density = 0 | |
hw.display2.flag = 0 | |
hw.display2.height = 0 | |
hw.display2.width = 0 | |
hw.display2.xOffset = -1 | |
hw.display2.yOffset = -1 | |
hw.display3.density = 0 | |
hw.display3.flag = 0 | |
hw.display3.height = 0 | |
hw.display3.width = 0 | |
hw.display3.xOffset = -1 | |
hw.display3.yOffset = -1 | |
hw.displayRegion.0.1.height = 0 | |
hw.displayRegion.0.1.width = 0 | |
hw.displayRegion.0.1.xOffset = -1 | |
hw.displayRegion.0.1.yOffset = -1 | |
hw.displayRegion.0.2.height = 0 | |
hw.displayRegion.0.2.width = 0 | |
hw.displayRegion.0.2.xOffset = -1 | |
hw.displayRegion.0.2.yOffset = -1 | |
hw.displayRegion.0.3.height = 0 | |
hw.displayRegion.0.3.width = 0 | |
hw.displayRegion.0.3.xOffset = -1 | |
hw.displayRegion.0.3.yOffset = -1 | |
hw.gltransport = pipe | |
hw.gltransport.asg.dataRingSize = 32768 | |
hw.gltransport.asg.writeBufferSize = 1048576 | |
hw.gltransport.asg.writeStepSize = 4096 | |
hw.gltransport.drawFlushInterval = 800 | |
hw.gps = yes | |
hw.gpu.enabled = yes | |
hw.gpu.mode = auto | |
hw.gsmModem = yes | |
hw.gyroscope = yes | |
hw.initialOrientation = portrait | |
hw.keyboard = yes | |
hw.keyboard.charmap = qwerty2 | |
hw.keyboard.lid = yes | |
hw.lcd.backlight = yes | |
hw.lcd.circular = false | |
hw.lcd.density = 560 | |
hw.lcd.depth = 16 | |
hw.lcd.height = 3120 | |
hw.lcd.vsync = 60 | |
hw.lcd.width = 1440 | |
hw.mainKeys = yes | |
hw.multi_display_window = no | |
hw.ramSize = 4096M | |
hw.rotaryInput = no | |
hw.screen = multi-touch | |
hw.sdCard = yes | |
hw.sensor.hinge = no | |
hw.sensor.hinge.count = 0 | |
hw.sensor.hinge.fold_to_displayRegion.0.1_at_posture = 1 | |
hw.sensor.hinge.sub_type = 0 | |
hw.sensor.hinge.type = 0 | |
hw.sensor.roll = no | |
hw.sensor.roll.count = 0 | |
hw.sensor.roll.resize_to_displayRegion.0.1_at_posture = 6 | |
hw.sensor.roll.resize_to_displayRegion.0.2_at_posture = 6 | |
hw.sensor.roll.resize_to_displayRegion.0.3_at_posture = 6 | |
hw.sensors.gyroscope_uncalibrated = yes | |
hw.sensors.heart_rate = no | |
hw.sensors.humidity = yes | |
hw.sensors.light = yes | |
hw.sensors.magnetic_field = yes | |
hw.sensors.magnetic_field_uncalibrated = yes | |
hw.sensors.orientation = yes | |
hw.sensors.pressure = yes | |
hw.sensors.proximity = yes | |
hw.sensors.rgbclight = no | |
hw.sensors.temperature = yes | |
hw.sensors.wrist_tilt = no | |
hw.trackBall = no | |
hw.useext4 = yes | |
image.sysdir.1 = system-images/android-32/google_apis/x86_64/ | |
kernel.newDeviceNaming = autodetect | |
kernel.supportsYaffs2 = autodetect | |
runtime.network.latency = none | |
runtime.network.speed = full | |
sdcard.size = 512 MB | |
showDeviceFrame = yes | |
tag.display = Google APIs | |
tag.id = google_apis | |
test.delayAdbTillBootComplete = 0 | |
test.monitorAdb = 0 | |
test.quitAfterBootTimeOut = -1 | |
vm.heapSize = 1024M |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment