【原创】从命令行创建比亚迪模拟器到使用官方sdk+as的模拟器界面工具列表显示并直接运行比亚迪模拟器(不修改原有sdk)

吐槽

开发比亚迪车载就必须使用比亚迪的android sdk,导致频繁切换,导致模拟器啥的出现了很多问题。
于是打算改成官方系统,然后提取出比亚迪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

avd.ini.encoding=UTF-8
path=d:\avd
target=android-25
image.png

找到config.ini 修改参数,因为默认创建的分辨率太小了,不是横屏的。

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:296668016462ad7706360105af76ae00
hw.device.manufacturer=User
hw.device.name=BYD1
hw.gps=yes
hw.gpu.enabled=yes
hw.gpu.mode=auto
hw.initialOrientation=landscape
hw.keyboard=yes
hw.lcd.density=320
hw.lcd.height=1920
hw.lcd.width=1080
hw.mainKeys=no
hw.ramSize=1536
hw.sdCard=yes
hw.sensors.orientation=yes
hw.sensors.proximity=yes
hw.trackBall=no
image.sysdir.1=D:\luozheng\MyProject\dingzhi\chezai\doc\byd-auto_sdk_windows\system-images\android-25\x86_64\
runtime.network.latency=none
runtime.network.speed=full
sdcard.size=100M
showDeviceFrame=no
skin.dynamic=yes
skin.name=1920x1080
skin.path=_no_skin
skin.path.backup=_no_skin
tag.display=Default
tag.id=default
vm.heapSize=192

image.sysdir.1=是关键的地方,这个路径方便以后操作

android list targets查看支持创建的设备列表 是识别当前目录优先

emulator -list-avds识别环境变量优先,哪怕到某个固定的sdk下输入此命令。



得切换到适合的路径里面执行,这里得切换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>

保持原有sdk不变,在自己的官方模拟器管理器ui界面直接运行

实现方式是修改config.ini,我发现直接修改里面的路径是不行的。还是只能固定放到这个目录下。

把比亚迪sdk/system-images/android-25/x86_64文件夹移动到自己的sdk/system-images/android-25/default/x86_64/下,然后复制下面完整的config.ini替换你自己的。

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

image.png

路径为什么不能修改,否则无法通过ui界面运行的原因无从得知,但是目前通过界面启动而不是命令行或者批处理启动的话是我探索的最好的方式了

image.png

总结

android list targets 查看支持创建的设备列表 是识别当前目录优先

emulator -list-avds 识别环境变量优先,哪怕到某个固定的sdk下输入此命令。

23:23 Emulator: [7912]:ERROR:android/android-emu/android/qt/qt_setup.cpp:28:Qt library not found at C:\Program Files\Android\android-sdk\emulator\lib64\qt\lib
23:23 Emulator: Could not launch 'C:\Program Files\Android\android-sdk\emulator/qemu/windows-x86_64/qemu-system-i386.exe': No such file or directory
23:23 Emulator: Process finished with exit code 2


得切换到适合的路径里面执行,这里得切换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>

avd识别的的优先级

首先是识别ANDROID_AVD_HOME
如果这个变量没有创建或者这个变量值指定的变量不存在则找ANDROID_SDK_HOME/.android/avd下面找
如果依然不存在,则从系统用户目录.android/avd目录寻找,
另外as启动的设备管理器默认也会在系统用户目录创建。

执行脚本

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了,可喜可贺了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,386评论 6 479
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,939评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,851评论 0 341
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,953评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,971评论 5 369
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,784评论 1 283
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,126评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,765评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,148评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,744评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,858评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,479评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,080评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,053评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,278评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,245评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,590评论 2 343

推荐阅读更多精彩内容

  • mean to add the formatted="false" attribute?.[ 46% 47325/...
    ProZoom阅读 2,689评论 0 3
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,483评论 25 707
  • 用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金 Cover 有什么料? 从这篇文章中你...
    hw1212阅读 12,691评论 2 59
  • 夜色正浓 游走风中 老屋 上雨旁风 今夜 我独宠
    夜书房阅读 223评论 0 0
  • 最近这段时间真是各种忙、烦。很多的琐事一大堆,想提出完善意见,但是对方不同意。今天总之是Mrs wang同意我的意...
    0233ea984dea阅读 2,253评论 0 9