[Unity3D] Unity3D连接安卓设备调试unity程序

2023-11-19

目录

一、手机开启调试模式,确保adb能检测到手机

目的:确保adb能检测到手机,通过adb devices命令能够呈现如下效果

常见问题:

二、unity配置工作

目的:配置unity中Build Settings界面与Player Settings界面的参数,能够通过Build打出一个APK包

三、链接unity与安卓程序

目的:unity Console窗口与Profiler窗口能够监听到程序的Debug信息

常见问题:

四、链接Visual Studio与安卓程序

目的:VS2019能够对程序进行断点调试

常见问题:

五、安卓模拟器调试程序

目的:将模拟器与VS调试程序

常见问题:



一、手机开启调试模式,确保adb能检测到手机

目的:确保adb能检测到手机,通过adb devices命令能够呈现如下效果

步骤:

1、手机用数据线连接电脑,确保打开USB调试模式,保持手机在整个过程中保持解锁与亮屏

2、在你的安卓SDK配置目录下找到platform-tools文件夹,通过输入框打开cmd程序

3、输入adb devices,输出窗口中存在目标安卓设备这一步骤即完成。

注意点:

如果设备中存在多个安卓SDK的话,确保ADB是UNITY所关联的SDK中的,SDK路径可以通过

Edit->Preferences->External Tools 中查询

常见问题:

1、输入命令后依旧检测不到设备

可尝试方法:

(1) 用管理员权限运行CMD,再跳转到platform-tools文件夹后执行之后的步骤。

(2) 输入adb kill-server 命令关闭adb服务,再通过adb start-server 命令重启adb服务,后再执行步骤3。

(3) 部分手机在输入adb devices命令后会询问是否允许设备调试,确认之后再重新尝试命令。

二、unity配置工作

示例中的unity版本:2018.1.9f1

目的:配置unity中Build Settings界面与Player Settings界面的参数,能够通过Build打出一个APK包

Build Setting:

 参数解释:

Build System:

Internal(默认): unity内置的打包程序,只需要SDK的支持,但不能导出工程,APK所需的签名会要求在Player Settings界面中设置。

Gradle : 一般用于将UNITY工程导出为安卓工程,对安卓系统有更深的交互需求的时候才会使用到。

这两个选项影响都不大,Internal打包的时候会用到unity所配置的SDK,Gradle导出安卓工程后,在最终打包时SDK版本的不同会有影响,所以保证SDK版本一致即可。

Development Build:

开启调试模式,不勾不行。

Autoconnect Profiler:

自动开启Profiler,当用Build And Run打包,打完包后推送程序到手机上时会自动打开Profiler窗口。不勾的话可以自己去Window->Analysis->Profiler打开。

script Debugging:

调试script脚本用,勾上后可以在外部编译器中调试脚本代码

Run Device(Build And Run选项需要):

项目要运行的设备,第一步中ADB检测到的安卓设备都会在这里列出,这里选择你的安卓设备

Player Settings:

最主要的是Company Name(公司名),Product Name(程序名),以及Package Name(包名)

Product Name或Package Name在下一步链接的时候会用到

部分安卓机子可能要调整这些参数(次要,只要能打出包来就不需要动这个参数)

 Minimum API Level (最低兼容安卓API版本)

Target API Level(目标安卓API版本)

Target Architectures(安卓设备的架构)

三、链接unity与安卓程序

目的:unity Console窗口与Profiler窗口能够监听到程序的Debug信息

步骤:

 下面讲的是只打包的情况,你可以通过Build And Run 跳过1、2小步,等待手机程序启动。

1、点击Build 将安卓包打包出来,并将其安装到你的安卓设备上

2、回到你的ADB目录下打开CMD,运行以下命令 

adb forward tcp:34999 localabstract:Unity-com.test.test

其中 34999 可以改为任何你的电脑中空闲的端口号,com.test.test 改为第二步骤中提到的ProductName或者PackageName

该步骤是将你的手机程序与PC之间建立一个通讯通道,程序的Debug消息都会通过这个通道返回到Unity中

运行命令后,你就可以在Console界面和Profiler界面切换调试信息获取的对象

3、切换了信息获取的对象后,在安卓设备上运行你的程序,看能否获取到你的程序的信息。

常见问题:

1、Console界面和Profiler界面切换不了信息获取对象

可以尝试:1、确保防火墙没有禁用你的tcp端口,可以使用telnet命令访问这个端口,看能否接通

                  2、确保adb命令里面,你的ProductName或者PackageName填写正确

四、链接Visual Studio与安卓程序

示例中使用的VS版本:VS2019 Community

该步骤并不需要第三步骤完成,理论上只要你的unity打包出Debug包就可以用VS进行断点调试

目的:VS2019能够对程序进行断点调试

步骤:

1、VS安装unity调试组件

打开VS,在工具-》获取工具和功能 界面中勾选Unity模块

2, Unity设置调试工具

Edit->Preferences->External Tools 中External Script Editor中选择你的VS

3、链接你的程序

保持adb devices能够检测到你的设备,将unity打的包安装到你的设备上并运行。

回到VS,选择 调试-》附加Unity调试程序

在列出的项目中选择AndroidPlayer

如果成功的话调试程序就会运行,这时你就可以和平时一样调试程序了。

常见问题:

1、Unity实例中没有我的项目

可以尝试:(1) 确保adb devices能检测到你的设备。

                 (2) 确保是用Development Build打包出来的

2、选择Unity实例后编译器附加不上去

可以尝试:(1)重启unity

                  (2)重启adb服务

另外:VS的调试和Unity的调试是相互独立的,可以依照需求配合使用

五、安卓模拟器调试程序

示例中使用的模拟器:夜神模拟器

目的:将模拟器与VS调试程序

步骤:

1,打开模拟器里,安卓操作系统的USB调试选项

2,打开模拟器文件所在位置,寻找到该目录下的nox_adb.exe 

提示: 

nox_adb的版本需要与你打包APK所使用的adb版本一致;
先将打包使用的adb 覆盖nox_adb确保后续操作无误;

3,在导航栏中输入cmd,打开cmd窗口,并执行命令:

nox_adb.exe connect 127.0.0.1:62001

 检查该adb所连接的程序:

4,运行你所导入到模拟器里面的APP,用VS附加Unity调试查看VS有无检测到调试接口

提示:如果想链接Unity可以直接按照【链接unity与安卓程序】操作

常见问题:

1、Unity实例中没有我的项目:

        可以尝试:(1)检查电脑USB接口中有没有连到其他手机设备,如果有就断开

                          (2)nox_adb.exe devices 检测设备链接状态,如果是offlin 尝试
                                

nox_adb.exe kill-server

2、nox_adb连接不上:

        可以尝试:(1)检查nox_adb版本是否与打包所使用的adb版本一致

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

[Unity3D] Unity3D连接安卓设备调试unity程序 的相关文章

随机推荐

  • 利用Redis bitmap签到功能

    1 简介 BitMap 存储的是连续的二进制数字 0 和 1 通过 bitmap 只需要一个 bit 位来表示某个元素对应的值或者状态 key 就是对应元素本身 我们知道 8 个 bit 可以组成一个 Byte 所以bitmap 本身会极大
  • 为什么程序员都喜欢安静?

    大家回顾一下上学期间 你在上晚自习想完成今天老师布置的作业 但是你的班级却非常的吵闹 跟置身在菜市场一样 你能专心完成作业吗 不受周围吵闹环境的影响吗 相信大部分的人都难以静下心来认真完成作业 有时候好不容易想到一个思路 结果旁边的人拍你一
  • Windows系统常用命令

    Windows常用命令 1 echo 用法 输出一个字符到终端 当加上 gt 后就可输出到文本文件 例如 echo 1 在终端显示一个1 echo 20 gt gt 1 txt 在当前目录下的1 txt文件后面追加一行数据值20 如果没有1
  • AT24C02芯片使用介绍

    AT24C02简介 AT24C02是一个2K位串行CMOS E2PROM 内部含有256个8位字节 有一个16字节页写缓冲器 该器件通过IIC总线接口进行操作 有专门的写保护功能 应用于AT24C02制造过程的先进CMOS技术实质上减少了器
  • 咬牙切齿的按钮

    先看效果 再看代码 查看更多 import url https fonts googleapis com css2 family Roboto wght 500 display swap root sz 9vmin on 4CAF50 of
  • ftp服务器性能对比,ftp服务器软件 性能对比

    ftp服务器软件 性能对比 内容精选 换一换 Java性能分析是鲲鹏性能分析工具的子工具 本章节以openEuler离线环境安装工具 登录 创建Guardian和分析任务 卸载工具为例 指导您快速上手Java性能优分析 由于root用户拥有
  • 机器学习毕设题目有哪些_毕设开源了,126个star,39个fork

    毕设题目 我是去年毕业的 软件工程专业 学校给的毕设题目是实现一个电影院订票系统 如图 嗯 题目一看很简单 其实就是实现一个web版的影票在线订票系统罢了 因此当天接到毕设后的我就大刀阔斧的准备开干了 技术方案选择 先说个大前提 我们学校评
  • c++动态数组(二)之allocator类

    new在灵活性上面一些局限性 以方便它将内存分配和对象构造组合在了一起 delete将内存释放和对象析构组合在一起 当分配一大块内存时 我们通常计划在这块内存上面按需构造对象 在这种情况下 我们希望内存分配和对象构造分离 这意味着我们可以分
  • Python学习之cookies及session用法

    当想利用Python在网页上发表评论的时候 需要一些账号密码登录的信息 这个时候用requests get 请求的话 账号密码全部会显示在网址上 这显然不科学 这个时候需要用post请求 可以这么理解 get是明文显示 post是非明文显示
  • cad等比例缩放快捷键_终于领会CAD缩放(放大与缩小)快捷键

    终于领会CAD缩放 放大与缩小 快捷键 日期 2019 10 09 19 15 01 浏览 9 核心提示 CAD缩放 放大与缩小 快捷键 这个非常简单 鼠标的中键也就是滚轮 双击两下中键图形会适合平面显示全部滚轮前后滚动是缩放 不需要什么快
  • error: “自定义函数XXX” must take exactly one argument

    主要问题在于 类里面的重载的二元运算符时 只需要一个参数 另一个参数由this指针传入 这里如果需要传入两个参数 需要放到类外定义 声明友元 访问私有数据和函数 如下 class myTask public myTask int a int
  • windbg remote stub方式远程调试

    windbg远程调试时 有两种方式 一种为remote session 另一种为remote stub 具体详情请google 我下面说说我在使用remote stub方式时遇到的一些困惑 按照教程 我在target machine启动了s
  • .NET C# 世界日期格式转换为yyyyMMdd

    本文分享了一个按照不同国家的语言生成相应时间格式的案例 有需要做国外网站或者多国语言网站的朋友可以参考一下 本文在引用 C DateTime ToString根据不同语言生成相应的时间格式 基础上做了一个Demo测试 旨在给更多有需要的人能
  • C++设计模式-State状态模式

    State状态模式作用 当一个对象的内在状态改变时允许改变其行为 这个对象看起来像是改变了其类 UML图如下 State类 抽象状态类 定义一个接口以封装与Context的一个特定状态相关的行为 ConcreteState类 具体状态 每一
  • Nodejs-Express框架

    1 认识Web框架 目前在Node中比较流行的Web服务器框架是express koa express早于koa出现 并且在Node社区中迅速流行起来 可以基于express快速 方便的开发自己的Web服务器 并且可以通过一些实用工具和中间
  • HttpResponse响应、render 响应、redirect 响应、JsonResponse 响应

    目录 HttpResponse介绍 常用属性 content 返回的内容 编辑 content type 返回给数据的MIME类型 status code 返回的HTTP响应状态码 render 返回网页 给网页传值 1 指名道姓方式传值
  • Mysql推荐书籍

    一 初级 1 MySQL必知必会 这本书英文原版名是很标题党的 Teach Yourself SQL in 10 Minutes 却是最好的数据库入门书 在Amazon上长期排在数据库销售榜首 建议想快速了解数据库原理和MySQL的新手阅读
  • sklearn机器学习:多项式朴素贝叶斯MultinomialNB

    多项式朴素贝叶斯MultinomialNB 多项式贝叶斯可能是除了高斯之外 最为人所知的贝叶斯算法了 它也是基于原始的贝叶斯 论 但假设概率分布是服从一个简单多项式分布 多项式分布来源于统计学中的多项式实验 这种实验可以具体解释为 实验包括
  • DDL语句--查看表

    查看表结构是指查看数据库中已经存在的表的定义 查看表结构的语句包括DESTRIBE语句和SHOW CREATE TABLE语句 通过这两个语句 可以查看表的字段名 字段的数据类型和完整性约束条件等 这篇博客将详细讲解查看表结构的方法 1 查
  • [Unity3D] Unity3D连接安卓设备调试unity程序

    目录 一 手机开启调试模式 确保adb能检测到手机 目的 确保adb能检测到手机 通过adb devices命令能够呈现如下效果 常见问题 二 unity配置工作 目的 配置unity中Build Settings界面与Player Set