关于unity调用AS安卓的真机Debug测试

本文介绍了一个用于Unity项目的字符串扩展类,该类提供了一系列实用功能,如将字符串以Toast形式展示、转换为Java字符串等。通过简单的调用即可实现跨平台操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.代码篇

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
/// <summary>
/// Discription:A String Extension Powered byMemoryC 
/// Functions: extension a string text to showAsToast, toJavaString, or Speak out
/// CopyRight:MemoryC
/// Time:2017.02.15
/// </>
/// </summary>
public static class MemoryCString
{

#if UNITY_ANDROID
    /// <summary>
    /// Show String as Toast.
    /// </summary>
    /// <param name="text">Text.</param>
    /// <param name="activity">Activity.</param>
    public static void showAsToast(this string text, AndroidJavaObject activity = null)
    {
        Debug.Log(text);
       
        if (activity == null)
        {
            AndroidJavaClass UnityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
            activity = UnityPlayer.GetStatic<AndroidJavaObject>("currentActivity");
        }
        AndroidJavaClass Toast = new AndroidJavaClass("android.widget.Toast");
        AndroidJavaObject context = activity.Call<AndroidJavaObject>("getApplicationContext");
        activity.Call("runOnUiThread", new AndroidJavaRunnable(() =>
        {
            AndroidJavaObject javaString = new AndroidJavaObject("java.lang.String", text);
            Toast.CallStatic<AndroidJavaObject>("makeText", context, javaString, Toast.GetStatic<int>("LENGTH_SHORT")).Call("show");
        }
            ));
    }

    public static AndroidJavaObject toJavaString(this string CSharpString)
    {
        return new AndroidJavaObject("java.lang.String", CSharpString);
    }
#endif

}

2.这是一个底层的封装好的代码

使用案例如下:

在任何类当中,定义


string aa=//value;
aa.showAsToast();

就可以在真机下方显示

### Unity Android 真机测试命令行操作 为了通过命令行执行 Unity 的 Android 应用程序到真实设备上进行测试,可以按照以下方法实现。此过程涉及构建 APK 文件并将其安装到连接的 Android 设备上。 #### 构建项目而不链接目标 Unity 使用 Unreal Build Tool 提供了一个 `-nolink` 命令行选项来编译目标而无需链接它[^1]。然而,在 Unity 中,这一功能并不直接适用,因为它是针对 Unreal Engine 工具链设计的功能。不过,可以通过其他方式完成类似的无链接调试流程。 对于 Android 平台上的真机测试,以下是具体的操作: #### 设置开发环境 确保已配置好 Android SDK 和 NDK 路径,并且 ADB (Android Debug Bridge) 可用于命令行工具中。这通常需要设置 `ANDROID_HOME` 或者将 ADB 添加至系统的 PATH 环境变量中。 #### 编辑器脚本自动化打包 创建一个自定义编辑器脚本来自动处理构建过程: ```csharp using UnityEditor; using UnityEngine; public class BuildScript { public static void PerformBuild() { string path = EditorUtility.SaveFolderPanel("Choose Location of Built Project", "", ""); if (!string.IsNullOrEmpty(path)) { BuildPipeline.BuildPlayer( new[] { "Assets/Scenes/MainScene.unity" }, // 场景列表 $"{path}/MyGame.apk", BuildTarget.Android, BuildOptions.None); Debug.Log($"APK built successfully at: {path}"); } } } ``` 运行上述脚本会生成指定路径下的 `.apk` 文件。 #### 安装应用到设备 利用 ADB 将刚刚生成的应用部署到物理设备上: ```bash adb devices # 列出当前连接的所有设备 adb install /path/to/output/apk/file.apk # 替换为实际文件位置 ``` 如果一切正常,则该应用程序应该已经成功加载到了您的手机或其他硬件终端之上。 #### 启动与日志查看 启动刚安装好的 APP ,并通过 adb shell 查看实时输出的日志信息以便于排查错误或者监控性能表现。 ```bash adb logcat | grep unity ``` 以上就是关于如何借助 CMD 来实施 Unity 开发中的 Android 实体装置检测的相关指导说明。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值