AndroidStudio 2020北极狐
Unity 2019.4.19f1c1
打开AS2020,新建 安卓 项目选择 Phone and Tablet - Empty Activity
改名字
Name:Application_test
Package Name:com.example.application_test
这里的Application_test与下文的testAndroid安卓项目名字对不上,以testAndroid为准
新建Android Library在Project视图下
选中然后鼠标右键-New Model
如果不是Android Library而是 选择新建的Phone&Tablet,最后导出的是apk,而不是aar
导入classes.jarC:Program FilesUnityHubEditor2019.4.19f1c1EditorDataPlaybackEnginesAndroidPlayerVariationsmonoReleaseClasses
classes.jar文件路径Unity对应版本安装路径EditorDataPlaybackEnginesAndroidPlayerVariationsmonoReleaseClasses文件夹里的
classes.jar
复制classes.jar文件
在AndroidStudio 里找到该项目 ,对应的 applibs文件夹,选中该文件夹
ctrl+v粘贴
OK
文件导入到 对应的libs下
添加该classes.jar为Library
导入代码
这两个文件 在 参考资料 1 的项目ALLSRC.zip中
ALLSRC.zipDemoApplication.zip
ALLSRCDemoApplicationAndroidUnityDemoLibsrcmainjavacomnewgamestudiounitydemolib
文件夹路径中
把
AndroidUnityDemo.class
UnityPlayerActivity.classUnityPlayerActivity类的文件路径。
C:Program FilesUnityHubEditor2019.4.19f1c1EditorDataPlaybackEnginesAndroidPlayerSourcecomunity3dplayer
UnityPlayerActivity.java
这2个文件复制粘贴到如下图所示的文件夹中
由于
MainActivity.class被我重命名为
MainActivity_test
MainActivity_test .java
package com.example.testlib;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.Toast;
import com.example.testlib.UnityPlayerActivity;
public class MainActivity_test extends UnityPlayerActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Toast.makeText(this, "MainActivity_test -> onCreate", Toast.LENGTH_SHORT).show();
}
}
更改AndroidManifest.xml文件
默认是这样的
改为
如果 安卓项目 的这个 Android Library和本文的不一样,需要注意一下这里
package="com.example.testlib"
android:name="com.example.testlib.MainActivity_test"
构建.aar文件先点右边 的 同步按钮,再点 左边Build 按钮
选中UnityToAndroid-debug.aar
对安卓项目导出的.aar文件进行设置
改为.zip文件
下图有1个错误 ,已经用红大红框和叉叉 标记出来
删除libs文件夹里的classes.jar文件即可
libs文件夹里面为空
解压AndroidManifest.xml,然后.zip文件改为.aar文件
把这两个文件.aar和.xml文件 复制粘贴 到新建项目 的 文件夹路径,如果没有,就新建文件夹
Assets/Plugins/Android
Unity中构建场景和脚本场景新建2个UI
新建空物体挂载脚本testBtn.cs
这里的testBtn.OnBtnClick
和UnityAndroidDemo1.OnClick一致
testBtn.cs和UnityAndroidDemo1.cs一致
UnityAndroidDemo1.cs挂载在Unity Hierarchy视图的 MainCamera物体上
来自参考资料1
ALLSRC.zipUnityAAR.zip
ALLSRCUnityAARAssetsscripts
UnityAndroidDemo1.cs
逻辑图 Unity打包安卓问题 闪退 闪退原因1unity支持安卓版本不对,相关资料2
闪退原因2unity项目
AssetsPluginsAndroid
文件路径没有AndroidManifest.xml
报错Gradle build failedclasses.jar文件位置不对
CommandInvokationFailure: Gradle build failed.没有运行.aar文件
Unity工程项目中
AssetsPluginsAndroid
只有classes.jar和AndroidManifest.xml,没有.aar文件。
最好不要这样做,确保.aar文件设置正确。
相关资料:1.[Unity][Android]2021AndroidStudio安卓相互调用(1) 2.[Unity][Android]打包安卓项目真机测试 3.[Unity][Android]安卓与Unity项目交互——传递参数
4.
参考资料:1.
Unity2018、2019和安卓通信,基于AAR包优化 ALLSRC.zip2.
3.


![[Unity][Android]安卓项目导出AAR文件Unity项目交互 [Unity][Android]安卓项目导出AAR文件Unity项目交互](http://www.mshxw.com/aiimages/31/424402.png)
