命令行安装并运行Android Emulator

FsTy 提交于 周一, 06/18/2018 - 21:09

     经过无数次的电脑重启,一周时间的反复尝试,终于有所收获。推荐采用版本为Android 4.4的模拟器安装MIT AI2 Companion来实时调试。启动速度能接受,运行速度也不慢。吐血的是高版本(6,7,7.1)动不动就蓝屏,实在是打击人。

1.http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 下载Java SE Development Kit 8u171并安装,X64,86都行,现在觉得86的也不错。

2.配置环境,指定 JAVA_HOME。我一般是批处理中指定,懒得去设置系统变量了。反正大部分操作都在CMD命令行中。

SET JAVA_HOME=D:\JDK1.8
SET PATH=%PATH%;%JAVA_HOME%\bin;

3.https://developer.android.com/studio/#downloads   下载Command line tools only 包,当前是  sdk-tools-windows-4333796.zip

4.解压后得到tools目录。对,只要这个目录就可以了。红色框的目录都是后面安装,或者生成的。

5.tools\bin\sdkmanager --update       #升级一下。

6.tools\bin\sdkmanager --licenses    #先提前接受几个协议

7.tools\bin\sdkmanager --no_https  --proxy="socks" --proxy_host="127.0.0.1" --proxy_port="1080" emulator

   过程长,慢慢等待,若没有代理,那命令行就是这样的:

   tools\bin\sdkmanager --no_https  emulator

 关于sdkmanager :   https://developer.android.com/studio/command-line/sdkmanager

8.tools\bin\sdkmanager --no_https  --proxy="socks" --proxy_host="127.0.0.1" --proxy_port="1080" platform-tools

9.tools\bin\sdkmanager --no_https  --proxy="socks" --proxy_host="127.0.0.1" --proxy_port="1080" --install "system-images;android-19;default;x86"

  各平台与api版本关系: https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels

  并且: tools\bin\sdkmanager --list 能看到所有。

10.mkdir  platforms   #纯属凑行,可以不输入试试。

11.tools\bin\avdmanager create avd -n emulator  -k "system-images;android-19;default;x86"  -d 7 -c 128M -p avd -f

在avd目录创建名为emulator的虚拟机。

avdmanager 参考: https://developer.android.com/studio/command-line/avdmanager 

-c 128M  创建128M的sd卡。M大写啊~~~~~~~~~~~ MIT AI2 Companion 需要sd卡保存文件。

-p avd 当前目录\avd\ 生成sdcard.img  config.ini  userdata.img几个文件。

-d 7    The optional device definition to use. Can be a device index  or id.  参考: tools\bin\avdmanager create avd -help  和  tools\bin\avdmanager list

          id:7 是 "Nexus 4"     Name: Nexus 4    OEM : Google

12.chcp 65001
     echo hw.keyboard=yes>>avd\config.ini
     echo disk.dataPartition.size=1024m>>avd\config.ini

     末尾加2行,hw.keyboard=yes 电脑键盘能在模拟器里面输入了!!!!!!!!!

13. call tools\bin\sdkmanager  --no_https  --proxy="socks" --proxy_host="127.0.0.1" --proxy_port="1080"  --install extras;intel;Hardware_Accelerated_Execution_Manager

       extras\intel\Hardware_Accelerated_Execution_Manager\silent_install.bat 安装HAEM。

   不放心再去运行extras\intel\Hardware_Accelerated_Execution_Manager\intelhaxm-android.exe 看看是否已经安装了。

  

14. emulator\emulator.exe  -avd emulator  -verbose -no-snapshot -timezone Asia/Shanghai

若提示:

emulator: Android emulator version 27.2.9.0 (build_id 4773671) (CL:18fc969f023e3b369b34b08db237dd9addfe100a)
emulator: Found AVD name 'emulator'
emulator: Found AVD target architecture: x86
emulator: argv[0]: 'emulator\emulator.exe'; program directory: 'E:\aiStarter\android-sdk\emulator'
emulator: Cannot find system image path. Please define ANDROID_SDK_ROOT
emulator: Auto-config: -engine classic (based on configuration)
PANIC: Cannot find AVD system path. Please define ANDROID_SDK_ROOT

    记得    mkdir  platforms 。

     emulator 参考:  https://developer.android.com/studio/run/emulator-commandline

     首次运行,要生成 userdata-qemu.img等, 还是要2~3分钟的。 加上 -no-boot-anim 好像启动时间也差不多。

     

    看到这个界面的感觉真好。

 

 

=========================================reinstall.bat===========================================

chcp 65001
cd %~dp0
cd ..
cd ..

SET JAVA_HOME=%cd%\jdk1.8
SET PATH=%PATH%;%JAVA_HOME%\bin;
SET JAVA_TOOL_OPTIONS="-Dfile.encoding=UTF-8"

cd  aiStarter\android-sdk

rmdir /s/q avd

cmd /c tools\bin\sdkmanager --update

cmd /c tools\bin\sdkmanager --no_https  --proxy="socks" --proxy_host="127.0.0.1" --proxy_port="1080" --install "system-images;android-19;default;x86"
cmd /c tools\bin\sdkmanager --no_https  --proxy="socks" --proxy_host="127.0.0.1" --proxy_port="1080" emulator
cmd /c tools\bin\sdkmanager --no_https  --proxy="socks" --proxy_host="127.0.0.1" --proxy_port="1080" platform-tools
cmd /c tools\bin\sdkmanager --no_https  --proxy="socks" --proxy_host="127.0.0.1" --proxy_port="1080"  extras;intel;Hardware_Accelerated_Execution_Manager
mkdir  platforms

pause

rem  create emulator avd........................................

cmd /c tools\bin\avdmanager create avd -n emulator  -k "system-images;android-19;default;x86"  -d 7 -c 128M -p avd -f 

echo hw.keyboard=yes>> avd\config.ini
rem echo disk.dataPartition.size=1024m>> avd\config.ini

rem  install  Intel HAXM..........................................
call extras\intel\Hardware_Accelerated_Execution_Manager\silent_install.bat

rem kill adb ..........................................................
call taskkill /f /im adb.exe

rem start  emulator...............................................
cmd /c emulator\emulator.exe  -avd emulator  -verbose -no-snapshot -timezone Asia/Shanghai 

pause

====================================init.bat=====================================================

chcp 65001
cd %~dp0
cd ..
cd ..

SET JAVA_HOME=%cd%\jdk1.8
SET PATH=%PATH%;%JAVA_HOME%\bin;
SET JAVA_TOOL_OPTIONS="-Dfile.encoding=UTF-8"

cd  aiStarter\android-sdk

rem create emulator.ini
rem  ======================
rem  avd.ini.encoding=UTF-8
rem  path=.\avd
rem  target=android-19
rem =======================

echo avd.ini.encoding=UTF-8>emulator.ini
echo path^=%CD%\android-sdk\avd>>emulator.ini
echo target=android-19>>emulator.ini

rem move emulator.ini to  ~\.android\avd 
move /y  emulator.ini %UserProfile%\.android\avd\

rem  install  Intel HAXM..........................................
call extras\intel\Hardware_Accelerated_Execution_Manager\silent_install.bat

rem kill adb ..........................................................
call taskkill /f /im adb.exe

rem start  emulator...............................................
cmd /c emulator\emulator.exe  -noskin  -avd emulator -no-boot-anim -verbose -no-snapshot -timezone Asia/Shanghai 

====================================reavd.bat=================================================

chcp 65001
cd %~dp0
cd ..
cd ..

SET JAVA_HOME=%cd%\jdk1.8
SET PATH=%PATH%;%JAVA_HOME%\bin;
SET JAVA_TOOL_OPTIONS="-Dfile.encoding=UTF-8"

cd  aiStarter\android-sdk

rmdir /s/q avd

rem  create emulator avd........................................

cmd /c tools\bin\avdmanager -v create avd -n emulator -k "system-images;android-19;default;x86"  -d 7 -c 124M -p avd -f

echo hw.keyboard=yes>> avd\config.ini
echo disk.dataPartition.size=512m>> avd\config.ini

rem  install  Intel HAXM..........................................
cmd /c extras\intel\Hardware_Accelerated_Execution_Manager\silent_install.bat

rem kill adb ..........................................................
call taskkill /f /im adb.exe

rem start  emulator...............................................
cmd /c emulator\emulator.exe  -avd emulator -no-boot-anim -verbose -no-snapshot

pause