参考链接:
https://blog.csdn.net/qq_38513810/article/details/82664947?depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-2&utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-2
Android Studio下载:
http://www.android-studio.org
unity版本:2018.3.8
Android Studio版本:3.6.2
1. 新建安卓工程,注意最低SDK最好和unity一样
2.新建一个library,注意此处的Package name要和unity的一致
3.在这个library下新建一个Activity
4.将unity安装目录EditorDataPlaybackEnginesAndroidPlayerVariationsmonoReleaseClasses下的classes.jar复制,选中libs目录粘贴,导入这个jar包
5.修改library下的MainActivity.java和AndroidManifest.xml
1 package com.example.mylibrary; 2 3 import android.os.Bundle; 4 import com.unity3d.player.*; 5 6 public class MainActivity extends UnityPlayerActivity { 7 8 private int count = 1; 9 10 @Override 11 protected void onCreate(Bundle savedInstanceState) { 12 super.onCreate(savedInstanceState); 13 //setContentView(R.layout.activity_main); 14 } 15 16 public void UnityCallAndroid() { 17 UnityPlayer.UnitySendMessage("Canvas", "AndroidCallUnity", "hello" + count); 18 count++; 19 } 20 }
1 <?xml version="1.0" encoding="utf-8"?> 2 <manifest xmlns:android="http://schemas.android.com/apk/res/android" 3 package="com.example.mylibrary"> 4 5 <application> 6 <activity android:name=".MainActivity"> 7 <intent-filter> 8 <action android:name="android.intent.action.MAIN" /> 9 10 <category android:name="android.intent.category.LAUNCHER" /> 11 </intent-filter> 12 </activity> 13 </application> 14 15 </manifest>
6.选中library,Build一下,然后将生成的这3个东西放到unity中
7.添加这个脚本到Canvas上,然后打包,注意包名要一致,还有Build System的设置
1 using System.Collections; 2 using System.Collections.Generic; 3 using UnityEngine; 4 using UnityEngine.UI; 5 6 public class TestSDK : MonoBehaviour 7 { 8 AndroidJavaClass jc; 9 AndroidJavaObject jo; 10 public Text text; 11 12 // Start is called before the first frame update 13 void Start() 14 { 15 jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); 16 jo = jc.GetStatic<AndroidJavaObject>("currentActivity"); 17 } 18 19 public void OnBtnClick() 20 { 21 jo.Call("UnityCallAndroid"); 22 } 23 24 public void AndroidCallUnity(string str) 25 { 26 text.text = str; 27 } 28 }
问题:
1.
解決:
https://blog.csdn.net/burmem/article/details/80447642?depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-2&utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-2
2.Gradle下载速度慢
解决:
https://www.jianshu.com/p/338860fc4921