【原创】从命令行创建比亚迪模拟器到使用官方sdkas的模拟器界面工具列表显示并直接运行比亚迪模拟器(不修改原有sdk)
简书链接:【原创】从命令行创建比亚迪模拟器到使用官方sdkas的模拟器界面工具列表显示并直接运行比亚迪模拟器(不修改原有sdk)
文章字数:1513,阅读全文大约需要6分钟
吐槽
开发比亚迪车载demo就必须使用比亚迪的android sdk因为里面有一些所谓的sdk以及魔改api,这将导致频繁切换,导致模拟器啥的出现了很多问题。
于是打算改成官方系统,然后提取出比亚迪android.jar中的sdk api出来,然后还能在自己的sdk模拟器上运行,经过一步一步探索,终于成功了。
开始撸
首先去比亚迪官方下载sdk工具包,然后切换到tools
目录
android create avd -n bydavd12345 -c 200M -p d:/avd -k system-images;android-25;default;x86_64
emulator -avd bydavd12345
1 | avd.ini.encoding=UTF-8 |
找到config.ini 修改参数,因为默认创建的分辨率太小了,不是横屏的。
1 | AvdId=BYD1 |
1 |
|
1 | 得切换到适合的路径里面执行,这里得切换emulator文件所在目录执行才行,光设置环境变量执行是没用的。 |
D:\avd>emulator @BYDAVD_LZ
[4912]:ERROR:android/android-emu/android/qt/qt_setup.cpp:28:Qt library not found at ..\emulator\lib64\qt
\lib
Could not launch ‘D:\avd..\emulator\qemu\windows-x86_64\qemu-system-x86_64.exe’: No such file or
directory
D:\avd>
1 |
|
AvdId=BYD1
PlayStore.enabled=false
abi.type=x86_64
avd.ini.displayname=BYD1
avd.ini.encoding=UTF-8
disk.dataPartition.size=800M
fastboot.forceColdBoot=no
hw.accelerometer=yes
hw.arc=false
hw.audioInput=yes
hw.battery=yes
hw.camera.back=virtualscene
hw.camera.front=emulated
hw.cpu.arch=x86_64
hw.cpu.ncore=4
hw.dPad=no
hw.device.hash2=MD5:939e2e20a04a4c645e5130616c6ff5b5
hw.device.manufacturer=Google
hw.device.name=Nexus 9
hw.gps=yes
hw.gpu.enabled=yes
hw.gpu.mode=auto
hw.initialOrientation=landscape
hw.keyboard=yes
hw.lcd.density=320
hw.lcd.height=1536
hw.lcd.width=2048
hw.mainKeys=no
hw.ramSize=1536
hw.sdCard=no
hw.sensors.orientation=yes
hw.sensors.proximity=no
hw.trackBall=no
#image.sysdir.1=D:\luozheng\MyProject\dingzhi\chezai\doc\byd-auto_sdk_windows\system-images\android-25\x86_64
image.sysdir.1=system-images\android-25\default\x86_64
runtime.network.latency=none
runtime.network.speed=full
sdcard.path=d:\avd\sdcard.img
sdcard.size=200 MB
showDeviceFrame=no
skin.dynamic=yes
skin.name=1920x1080
skin.path=_no_skin
skin.path.backup=_no_skin
tag.display=
tag.id=default
vm.heapSize=192
1 |
|
echo by qssq666
set /p name=请输入模拟器名称:
echo 在d判创建%name%….
echo 执行创建
android create avd -n %name% -c 200M -p d:/avd/%name%.avd -k system-images;android-25;default;x86_64
echo 查询模拟器列表
emulator emulator -list-avds
echo 启动比亚迪模拟器中….
emulator -avd %name%
pause
::Abstracted LCD density: A value used to rou
::hw.lcd.density [160]:
::LCD color depth: Color bit depth of emulate
::hw.lcd.depth [16]:
::LCD pixel height:
::hw.lcd.height [640]:
::LCD pixel width:
::hw.lcd.width [320]:
一个东西被虐待就了就会产生进化(**逆境变异**),我就是这样的,我讨厌这种频繁的操作,于是产生了有一步进化,这一步进化可以避免修改sdk导致电脑某些问题不生效或者其它打开项目总是切换sdk提示的问题,这一次进化实现了可以在任何电脑拷贝一个模拟器文件和一个jar sdk几十kb,从之前的几个g瞬间效率提升百倍,呵呵。
#### 最简单的配置方式
使用从android sdk提取出来的东西重新整理一个只包含比亚迪的api的jar,然后把比亚迪模拟器镜像替换一下 ```system-images```,替换虽然会影响原来模拟器某个系统版本的测试,但是总的来说,不用切换sdk了,可喜可贺了。