Unity3d 与android studio通信

Android Studio与Unity3D实现交互通信开发 概述 Unity开发过程中,需要用到某些java库或者java接口实现比较方便,这时候就需要用到unity3D与AndroidStudio交互开发,由AndroidStudio生成集成的包,导入到unity3D后使用. 但是之前一直没搞清楚,如何实现java和c#的通信和调用,很多旧的方法都是导入jar包,导入mainfest.xml等,导了一大堆东西出来,调用的时候还特麻烦,最近参考其他大佬的方... 阅读详情

unity3d 2018.3.5 与android 通信。

unity3d 与android 通信 有很多同学 不太熟悉 android 开发 记录一下

1, 安装 android studio

官网 下载: https://developer.android.google.cn/studio

无脑安装 一路 next .

创建工程

创建一个空的工程 。 这个工程没有啥用 起啥名字 也无关紧要。
在这里插入图片描述

2,创建 android lib

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

将unity3d 的 classes.jar 拖入 libs:

unity3d 安装目录 Editor\Data\PlaybackEngines\AndroidPlayer\Variations\mono\Release\Classes.jar

创建脚本:

在这里插入图片描述

在这里插入图片描述

插入代码:

package com.test.libs;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;

import com.unity3d.player.UnityPlayer;
//这个就是unity3d 包
import   com.unity3d.player.UnityPlayerActivity;

//android 里面每一个界面 都是一个activity 所以启动一个 界面
public class MainActivity extends UnityPlayerActivity
{

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    }

    public  int  Add (int a ,int   b)
    {
         /// java 掉 c# 代码
         //Gloable 哪个物体
         ///JavaCall哪个方法
         //hello  参数
        UnityPlayer.UnitySendMessage("Gloable","JavaCall","hello");
        return   a + b ;

    }

    public  static int  Add2 (int a ,int   b)
    {
         /// java 掉 c# 代码
         //Gloable 哪个物体
         ///JavaCall哪个方法
         //hello  参数
        UnityPlayer.UnitySendMessage("Gloable","JavaCall","hello");
        return   a + b ;

    }



}

填写配置文件

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
<font color=blue > blue </font>

    ***#######注意这里换成自己的 包名***
     package="com.test.libs"
      android:versionCode="1"
      android:versionName="1.0" >

      <application>

        android:allowBackup="true"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:icon="@drawable/app_icon">

 **#######注意这里换成自己的 包名**
        <activity android:name="com.test.libs.MainActivity">
      <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
          </intent-filter>
      <meta-data android:name="unityplayer.UnityActivity" android:value="true" />
    </activity>
      </application>
    </manifest>

build 出来

在这里插入图片描述

在这里插入图片描述

编译出来东西 变成 zip 将libs 里面的classes.jar删除然后在换成 .aar

在这里插入图片描述

在这里插入图片描述

unity3d 工程

创建脚本

 using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class TestMyLib : MonoBehaviour
{

    AndroidJavaObject jo;
    // Start is called before the first frame update
    void Start()
    {

     

    }

    public   void   JavaCall(string  tmpStr)
    {

        Debug.Log("android  call  C#  =="+ tmpStr);
    }

    // Update is called once per frame
    void Update()
    {

        Touch[] touches = Input.touches;

        if(touches.Length  > 0)
        {

            Touch touch = Input.GetTouch(0);

            if (touch.phase == TouchPhase.Began)
            {

                AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer");

                jo = jc.GetStatic<AndroidJavaObject>("currentActivity");

                //调用java 类里面的 add 方法   并传参数  1,2 
               var  tmp=  jo.Call<int>("Add", 1, 2);

                Debug.Log("C# 调用  android2222 ==="+tmp);

            }


        }

        
    }
}

工程设置

在这里插入图片描述

plugins 里面 必须建立 Andoird 这个文件夹 不然调用不到。

真机上 查看

插上 usb 线 andorid studio 自带 logcat 可以查看 log 日志
在这里插入图片描述

总结

配置麻烦 调用简单

java 调用 c#

     /// java 掉 c# 代码
     //Gloable 哪个物体
     ///JavaCall哪个方法
     //hello  参数
    UnityPlayer.UnitySendMessage("Gloable","JavaCall","hello");

c# 调用 java

//前面两句是死的 就得这么写
//查找 类
AndroidJavaClass jc = new AndroidJavaClass(“com.unity3d.player.UnityPlayer”);
//查找activity 实例
jo = jc.GetStatic(“currentActivity”);
//这句才调用
//调用java 类里面的 add 方法 并传参数 1,2
var tmp= jo.Call(“Add”, 1, 2);

基于Unity3D与Android的车载3D桌面开发实战:从模型优化到系统集成 3D实时渲染技术通过构建虚拟三维空间与模型,为用户提供沉浸式的视觉与交互体验,其核心原理在于图形管线对顶点、纹理与光照的计算。这项技术在提升信息呈现维度与用户参与感方面具有重要价值,广泛应用于游戏、仿真与数字孪生等领域。在嵌入式与移动场景中,如智能座舱系统,开发者常面临性能约束与系统集成的挑战。本文聚焦于利用Unity3D引擎与Android原生开发框架,打造高性能的车载3D桌面应用。内容涵盖从工业模型(如SolidWorks导出格式)的减面、展UV等优化处理,到在车机环境下进行Draw Call合并、LO 阅读详情

相关推荐

Unity与原生交互之AndroidStudio篇——Unity导出Android工程,导入AndroidStudio打包APK全流程

或(1)首先的问题:该错误是。

枫叶的博客 1万+

Android客户端与Unity服务器端进行Socket通讯

一、Android客户端 创建可缓存线程池:Executors.newCachedThreadPool();该方法返回的是一个ExecutorService接口,而这个接口继承Executor接口,Executor只包含一个execute()。 execute()方法的参数为一个Runnable,返回值为void。 Message类:获取Message对象的最好方法是调...

该用户还没想到好的昵称的博客 2355

AndroidStudio与Unity3D进行Socket通讯

AndroidStudio与Unity3D进行Socket通讯,互发信息,具体文档http://blog.sina.com.cn/s/blog_1322690230102y4t0.html

unity3d 2018 3.5f3 shader graph 学习指南

shader graph 是unity比较具有革命性的工具之一。在这之前,视觉开发者不得不面对晦涩难懂逻辑复杂着色器编程语言,而有了shadergraph,只需模块化的设置和连接就能实现各种复杂的效果,简直酷炫的不行。本文记录我个人的学习过程和知识重点。 我使用的unity3d版本是unity 2018.3f5 安装shader graph 1,工具栏-> window -> pack...

失业求捞! 768

AndroidStudio 3.0 与 Unity3d 2017交互

(Android SDK的接入一般分为两种) 1)一种是把Unity的工程导出google project的形式进行接入 2)另一种是通过把Android的工程做成Plugins的形式进行接入

android studio2.2版 3D 飞机急速飞行游戏

网上下载整理成android studio2.2版 3D飞机急速飞行游戏。很粗略的模型,可以在android studio2.2版正常运行!由于仅仅是个人爱好整理,所以下载分就1分。谢谢支持!

Unity与AndroidStuido方法简单交互

一、导入unity class.jar包 和UnityPlayerActivity.java脚本 1.class.jar参考地址:Editor\Data\PlaybackEngines\AndroidPlayer\Variations\mono\Release\Classes 2.新版本的Unity的UnityPlayerActivity在别的文件夹参考:Editor\2019.3.15f1\Editor\Data\PlaybackEngines\AndroidPlayer\Sourc...

qq_42345116的博客 2362

基于Codex平台构建AI技能:抖音爆款分析与带货视频生成实战

这次我们来看一个基于 Codex 平台构建 AI 技能(Skill)的实战项目。核心目标很直接:利用 AI 能力,自动化分析抖音平台的爆款内容,并生成可用于带货的视频。这听起来像是内容创作领域的“自动化流水线”,它解决的核心痛点是:人工分析爆款、撰写脚本、制作视频的效率瓶颈。 对于技术开发者和内容创作者而言,这个项目的价值在于将“内容策略分析”和“视频内容生成”两个环节通过 Codex 的 Skill 机制串联起来,形成一个可定制、可批量执行的自动化工作流。我们最关心的几个问题包括:这个方案的技术门槛高不高

weixin_29054399的博客 487

【Unity3D日常开发】Unity3D与Android的交互通信(Android Studio3.0版本)

一、前言 这篇文章主要讲的是如何使用Android Studio与Unity的交互通信。主要内容有如何在Android Studio创建工程,如何设置,以及如何导出。以及在Unity调用Android的方法。 二、参考资料 Unity与Android通信 https://blog.youkuaiyun.com/qq_33747722/article/details/53390198 Unity和Androi...

优快云博客专家,Unity3D高级软件工程师,《Unity 3D从入门到实战》作者。 3910

AnyLogic 8.8.3 最新版安装指南:从下载到配置的完整流程(附Java环境设置技巧)

本文提供了AnyLogic 8.8.3最新版从下载到配置的完整安装指南,重点解决了跨平台(Windows、macOS、Linux)部署中的常见问题。核心内容详细讲解了Java开发环境(JDK)的精准配置技巧,包括版本选择、系统环境变量设置与验证,确保为仿真建模工作奠定稳固基础。

efc1234567的博客 762

基于PyTorch的BP神经网络PID控制器动态调参实战

本文详细介绍了基于PyTorch的BP神经网络PID控制器动态调参实战,结合BP神经网络的自适应能力和PID控制算法的经典优势,实现工业控制中的高效参数调整。通过PyTorch实现BP-PID融合架构,包括网络设计、损失函数优化及动态调参技巧,显著提升控制性能,适用于温度控制、电机控制等场景。

weixin_29094775的博客 523

unity3d5 android,Unity3d 5.x 和Android通信-Android Studio(AAR)

最近在折腾用Android Studio替代Eclipse处理和Unity3d通信的问题,由于对Android Studio的不了解,踩了不少坑,特留笔记一篇。踩过坑之后,总结就一个字:同嗯,是你以为的那个意思,就是相同的意思,相同是指Unity3d和Android Studio的有些参数要配置一样,具体是1.包名要相同2.minSdkVersion和targetSdkVersion要分别相同An...

weixin_39620151的博客 142

如何在huggingface上申请下载使用llama2/3模型

huggingface-cli download --resume-download 模型名称 --local-dir 存放模型的位置 --local-dir-use-symlinks False --resume-download --token token序列号xxxxxxx。登录huggingface,在模型详情页面上,找到这个表单,填写内容,提交申请。需要使用梯子,country填写梯子的位置吧(比如美国)等待一小时左右,会有邮件通知。

a61022706的博客 1万+

【Unity3d】Unity5与Android交互通信(使用Android Studio2.4)

本篇主要讲解搭建Unity与Android交互通信的环境,以及如何在Unity脚本中调用Android工程中的方法。 假设你已经了解了Android Studio创建工程的操作,并且配置好了Android Studio的环境和Unity导出apk的环境。

IT_yanghui的博客 1047

VPI与Matlab协同仿真:相干光通信接收端DSP算法全解析

本文详细解析了如何利用VPI与Matlab协同仿真,构建完整的相干光通信接收端DSP算法处理闭环。重点介绍了从VPI导出数据后,在Matlab中实现时钟恢复、偏振解复用和载波相位估计等核心算法的步骤与原理,并阐述了如何通过误码率计算完成仿真验证,为相干光通信系统算法研究与验证提供了高效实用的方法。

ll5678的博客 611

Godot4 TileMap分层绘制全攻略:解决角色、树木遮挡混乱,打造正确视觉层级

本文详细介绍了Godot4 TileMap分层绘制技术,通过图层管理和Y-Sort功能解决2D游戏中角色与物体的遮挡问题。从基础图层设置到高级优化策略,帮助开发者打造符合自然视觉规律的场景层次,提升游戏沉浸感。特别针对TileMap和TileSet的使用提供了实用技巧和代码示例。

weixin_28717411的博客 513

Unity2018、2019和安卓通信,基于AAR包优化

说明和优点 Unity高版本以后,把UnityPlayActivity.java从jar包分离了出来; Unity集成了安卓打包的全部环境,包括SDK、OpenJava,默认会下载一个最新的Platform编译平台 classes.jar包和UnityPlayActivity.java文件位置 \Unity\Hub\Editor\2019.4.6f1\Editor\Data\PlaybackEngines\AndroidPlayer\Variations\mono\Release\Classes \Uni

Unity3d 攻城师一枚 1732

人工智能机器学习基础篇】——深入详解强化学习 基础知识,理解马尔可夫决策过程(MDP)、策略、价值函数等关键概念

人工智能机器学习基础篇】——深入详解强化学习 基础知识,理解马尔可夫决策过程(MDP)、策略、价值函数等关键概念

编程技术探索者,分享C/C++、C#、Java、数据库等开发经验,聚焦实战技巧与AI兴趣,助力编程爱好者成长。 1927

Unity3D入门(三) : Android和Unity3D交互 - Android调用Unity

介绍Android如何和Unity3D进行交互

朱豪凯的博客 3440

C#实现鼠标点击任意绝对位置(附完整源码)

C#实现鼠标点击任意绝对位置(附完整源码)

希望我的博客,能帮上你解决学习中工作中所遇到的问题 481

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

Unity与AS|对象与Json互转,字符串转枚举

      Unity 3D与Android Studio通过Socket传输消息时,需要对Json数据进行处理。当有枚举数据时,对象转Json需要枚举转字符串,解析Json需要字符串转枚举。 一、Unity3D      public enum NetApiID      {            NetApiID_Invaild = 0,            ...

该用户还没想到好的昵称的博客 1530

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Unity3D与Android的交互通信

推荐阅读 优快云主页 GitHub开源地址 Unity3D插件分享 简书地址 我的个人博客 QQ群:1040082875   大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有用记得一键三连哦。 一、前言 这篇文章主要讲的是如何使用Android Studio与Unity的交互通信。主要内容有如何在Android Studio创建工程,如何设置,以及如何导出。以及在Unity调用Android的方法。 二、参考资料 Unity与Android通信 blo.

大灰狼的小绵羊哥哥的博客 2699

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

bmobpay php,Unity与Android通信达到游戏支付功能

在这里介绍使用Android Studio调用Bmob SDK,接而实现Unity与Android通信达到游戏支付功能下载Bmob 支付SDK,在这里我使用的是BmobPay_v3.0.3版本,可以到点击打开链接下载最新版本下载页面1.将下载好的Bmob解压,找到BmobPay_v3.0.3_160621.jar文件,将其拖动到libs文件目录下,点击右键选择add in library2.选择如...

weixin_28965731的博客 229

AndroidStudio利用反射打包aar放到Unity3D调用,无需加载unity依赖,含重启等示例测试

Unity3D版本:2019.4.5 AndroidStudio版本:4.0 1,随意在工程中建立一个Android Library,名字按照自己规则来就行 2,新加折射类 package com.yadong.mylibrary; import android.app.Activity; import android.app.AlarmManager; import android.app.PendingIntent; import android.content.ClipData; i..

Tel17610887670的博客 453

Android Studio 和 Unity 之间实现代码交互aar模式

AS 和 Unity 之间通信学习笔记

重新开始 497

Unity3d与Android简单通讯(完整流程版)

前情提要:身为一名伟大的游戏客户端开发人员(苦逼的搬砖工人),接SDK应该是我们技能树中比较基础的一个技能点,就从简单的Unity3d与Android通讯开始伟大的航海之路吧!!准备工作:Unity(这里使用的是2017.3版本),Android Studio(3.0版本),其它环境例如Android SDK、JDK等自行配置,这里不再赘述。华丽丽的正式开始啦~~~把大象装进冰箱的第一步:打开冰箱...

Zz240210048的博客 2311
上一篇: 什么是人工智能 and 怎么学习它
下一篇: 白话监督学习和无监督学习
ithinking110
博客等级 码龄14年 54粉丝 52原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值