Unity2019.4.4与AndroidStudio3.5.2交互

以Android原生震动为例 ---> 

Unity 与Android 交互需要两个文件 :

1、classer.jar

2、UnityPlayerActivity.java

二、打开AndroidStudio开始创建工程

1、

2、

3、引入jar包 以及 java文件

4.UnityPlayerActivity.java里引入两个包

import com.unity3d.player.IUnityPlayerLifecycleEvents;
import com.unity3d.player.UnityPlayer;

如果无法引入,说明jar包没有导入完成,即上上图的add to Library

5、在MainActivity.java内书写震动代码 

6、配置AndroidManifest.xml 文件

7、gradle配置

8、build出aar

9、解压

10、导入Unity

11、写个Button来触发调用

12、C# 代码 

13、打包设置

14、打包测试运行结果(弹窗震动均成功)

15、关于另外两种打包方式,如果不加混淆,会导致找不到方法的错误,如下:

AndroidPlayer([email protected]:34999) AndroidJavaException: java.lang.NoSuchMethodError: no non-static method with name='CallShake' signature='([JI)V' in class Ljava.lang.Object;
java.lang.NoSuchMethodError: no non-static method with name='CallShake' signature='([JI)V' in class Ljava.lang.Object;

16、加混淆打包

文件内容:           -keep class com.unity.unitycallandroid.**{*;}

防止这个jar包被混淆

2020 /12/17 更新

最近发现了个比较好的方式,可以不用更改Unity里面AndroidManifest 里面的包名,直接添加需要的权限就行了。

其他方面处理起来和上面方法一样。注意:因为过去好久了 ,我改了android包名 com.unity.vibrate。

推荐使用这种方式:(过多的jar包处理起来方便)

代码截图如下

Unity调用

AndroidMainfest 如下:

猜你喜欢

转载自blog.csdn.net/LM514104/article/details/108518253
今日推荐