开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 3479|回复: 4
收起左侧

[火山安卓源码] 【day9】如何给火山程序添加图标?

[复制链接]

结帖率:0% (0/1)
发表于 2019-6-29 18:11:32 | 显示全部楼层 |阅读模式   广东省深圳市

如果我们不对项目设置图标,则我们看到最终生成的app的图标为默认的机器人图标,事实上,我们是可以设置火山app自定义的图标的。你只需要准备一个jpg或png等的图标文件即可。

本例程相对上一个例程代码上没有做什么修改,但是设置好了程序的图标,图标文件放在项目文件夹seticon_day9\src\icon\chat.jpg文件夹下的chat.jpg文件。

设置方法很简单,点击菜单的项目-当前项目属性,在程序图标一栏选择图标路径即可,尽量是英文路径,避免出现报错,若报错,可以考虑下是不是含有中文的问题。

然后附上咱们的源码下载地址:


链接:https://pan.baidu.com/s/1jmK456l8ewn32-aXyM4nNg
提取码:f374


上面讲的比较简单,就不多说什么了,大家看源码效果就好。

下面我来讲一个今天遇到的无法在调试时把app推送安装到夜神模拟器的问题和解决方案。

首先我们需要了解到,将app推送到模拟器是什么原理。其实是通过安卓的adb工具来推送的。adb这款工具在安卓的sdk包的tools中,可以通过它来使用命令行的方式调试一些安卓程序,获取一些高级的信息。在火山程序中的应用,应该仅仅是用来连接模拟器和推送app。

在火山app的调试窗口我们可以看到例如连接到设备:127.0.0.1:62001这样的提示。这个地址即为设备的本地连接地址。62001表示夜神模拟器的默认端口地址,其他模拟器有其他的地址。但夜神模拟器也不仅仅只有62001这个端口地址,这里还有些坑和需要了解的知识,后面我会详述。

在火山中可以在工具-选项-安卓项目管理器-全局-欲连接到的设备地址一栏填入62001来表示夜神模拟器。如果留空这里的设置,则默认查找目前在线的设备来推送,当然如果你只有一个模拟器设备的话,推送的自然是正确的了。

我这次遇到的问题是,夜神模拟器提醒我升级软件,我进行了升级,升级完成后我发现在调试火山程序时提示连接失败了,说找不到设备。我想我明明开着夜神模拟器呀?怎么会连接不成功呢。

经过查资料和测试,最后发现的原因是,adb的版本在夜神模拟器里提供的跟在安卓adk提供的不一样

首先我们使用cmd(我用的是管理员模式,下同)进入安卓的adb所在目录:voldev\plugins\vprj_android\sdk\android\platform-tools,这里面有个adb.exe,前面是火山程序的安装路径,大家按自己电脑的来。

输入命令:

  1. adb version
复制代码

显示的版本号为1.0.39(你可能是其他的显示),而我来到夜神模拟器的安装目录:Nox\bin,前面的部分为夜神模拟器的安装路径,大家按自己的来。

输入下述两个命令:

  1. adb version
  2. nox_adb version
复制代码

显示的版本结果均为1.0.36,这里就表示不一样了。

最后经过测试的确是版本不同的原因(吐槽一句adb还真是有点儿傻傻的)。

解决方案是把大家的版本号变成一样即可。

我这里是修改的安卓sdk中的adb.exe,首先添加.bak后缀名把原有的备份,以防万一,然后把夜神模拟器安装bin目录中的adb.exe复制过来。

此时已经可以正常用火山IDE来调试app了。



同时我也发现了另外一个事情,就是这次正常连接后,看到火山的调试窗口显示的端口信息不再是62001了。而是62025。为什么呢。

首先本质原因是因为我的打开的模拟器是多开的。夜神模拟器是支持多开的,我新建了一个用来做课程演示用。如果你打开的模拟器是它安装时默认创建的那个,通常来讲端口就是62001,如果打开的是你新建的后面的多开的模拟器,则端口可能会有变化。

可以通过下述cmd命令来查看当前的模拟器端口和地址(先进入adb的目录或将adb目录加入环境变量):

  1. adb devices
复制代码

我们可以看到会展示地址为127.0.0.1:62025。

我们可以用下述命令来连接到该端口地址:

  1. adb connect 127.0.0.1:62025
复制代码

如果你现在确实打开着这台模拟器的话,则会返回结果:

  1. already connected to 127.0.0.1:62025
复制代码

我们还可以用系统端口查询的方法来知道现在是什么端口被占用着,后面这些命令不需要进入adb目录或使用adb,用的是系统自带的程序,我们可以用这里学到的知识来查询其他端口的占用情况。

如果查看现在电脑上所有端口的占用情况,可以用如下命令:

  1. netstat -ano
复制代码

如果需要实现我们上述的查询目的,首先我们需要打开任务管理器,比如夜神模拟器,在进程选项卡,找到NoxVMHandel Frontend这个名称,然后打开PID列的显示,获取它的PID,比如本例为13736。

然后在cmd中输入如下代码来查询:

  1. netstat -ano|findstr "13736"|findstr "ESTABLISHED
复制代码

用来查找含有13736以及ESTABLISHED那一行,因为打开该端口被占用时,状态为ESTABLISHED。我们可以看到返回:

  1. TCP    127.0.0.1:62025        127.0.0.1:54625        ESTABLISHED     13736
复制代码

其中每一列分别表示的含义为:协议,本地地址,外部地址,状态,PID,其中这个本地地址就是adb要连接的地址了。

此处仅做研究和了解,不是重点知识,大家看个故事看一看即可。


结帖率:36% (5/14)
发表于 2020-3-6 09:55:08 | 显示全部楼层   重庆市重庆市
  英文 看不懂  爱国
回复 支持 反对

使用道具 举报

发表于 2020-2-27 13:21:33 | 显示全部楼层   **
常识性的知识经常看看也不错
回复 支持 反对

使用道具 举报

发表于 2019-7-25 13:28:20 | 显示全部楼层   河南省郑州市
感谢楼主分享!!
回复 支持 反对

使用道具 举报

发表于 2019-7-25 06:04:52 | 显示全部楼层   北京市北京市

回帖奖励 +5 枚 精币

感谢楼主分享!!!!!!!!!!!!!!!!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表