網站首頁 編程語言 正文
最近需要將 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-05-04 python運算符+條件結構+循環結構_python
- 2022-11-15 Python文件讀寫及常用文件的打開方式_python
- 2022-05-14 Centos8安裝docker報錯(錯誤提示:All?mirrors?were?tried)的問題_
- 2023-01-12 pandas中的DataFrame數據遍歷解讀_python
- 2022-02-02 Ant Design Pro在使用TreeSelect樹選擇組件時,報錯未注冊
- 2022-11-06 golang?RPC包原理和使用詳細介紹_Golang
- 2022-09-20 Go泛型實戰教程之如何在結構體中使用泛型_Golang
- 2022-08-30 C語言淺析函數的用法_C 語言
- 最近更新
-
- 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同步修改后的遠程分支