網站首頁 編程語言 正文
最近需要將 unity 導出工程 嵌入到 android 工程
環境
1,android studio 2021.1.1.1
2, unity 2021.2.4
新建android 工程
1,
2,
導出 unity 工程
1,
2,導出結果 unityLibrary 就是我們想要的結果 launcher 暫時用不上
3, 在android 工程中
4,選擇unitylibarary 目錄
5,
6,更改 app gradle配置文件:
implementation project(path:':unityLibrary')
implementation fileTree(dir: project(':unityLibrary').getProjectDir().toString()+('\\libs'), include: ['*.jar', '*.aar'])
ndk {
abiFilters 'armeabi-v7a', 'arm64-v8a'
}
7,刪除manifest配置
8, 在 gradle.property 添加配置 不加這個會報錯
unityStreamingAssets=.unity3d, google-services-desktop.json, google-services.json, GoogleService-Info.plist
9,添加 value值 不加也會掛掉
<string name="game_view_content_description">Game view</string>
10,調用
Button myBtn= findViewById(R.id.button);
myBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this,UnityPlayerActivity.class);
startActivity(intent);
}
});
android c# 互相調用
android 調用 c#
package com.xingame.unitycallandroid;
import android.os.Bundle;
import android.widget.Toast;
import com.unity3d.player.UnityPlayer;
public class MainActivity extends UnityPlayerActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//setContentView(R.layout.activity_main);
}
//unity調用Android
public void UnityCallAndroid () {
Toast.makeText(this,"unity調用android成功", Toast.LENGTH_LONG).show();
AndroidCallUnity();
}
//android調用unity
public void AndroidCallUnity () {
//第1個參數為Unity場景中用于接收android消息的對象名稱
//第2個參數為對象上的腳本的一個成員方法名稱(腳本名稱不限制)
//第3個參數為unity方法的參數
UnityPlayer.UnitySendMessage("receiveObj", "UnityMethod", "This is args.");
}
}
c# 調用 java
private void OnBtnClickHandler()
{
using (jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer")){
using (jo = jc.GetStatic<AndroidJavaObject>("currentActivity")){
jo.Call("UnityCallAndroid");
}
}
}
原文鏈接:https://blog.csdn.net/ithinking110/article/details/124753728
相關推薦
- 2022-11-24 AOP?Redis自定義注解實現細粒度接口IP訪問限制_Redis
- 2022-08-11 C#中using關鍵字的使用方法示例_C#教程
- 2022-11-10 C語言枚舉與聯合體深入詳解_C 語言
- 2022-07-02 C語言細致講解線程同步的集中方式_C 語言
- 2022-08-10 pandas中read_sql使用參數進行數據查詢的實現_python
- 2022-07-16 ssh遠程連接docker
- 2022-07-18 Element-UI:el-table導出為excel
- 2023-07-26 node基于express+mongodb項目的整體結構搭建和邏輯抽離
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支