Unity与Andriod交互错误合集

一、无法调用安卓中的方法no non-static method with name=‘’

报错如下,。在保证代码中的方法名没有问题,并且调用的方法名的返回值和传递的参数等都没有问题的情况下,
第一、查看在Unity项目中jar包存放的位置是否正确,需要放在Assets\Plugins\Android目录下
第二、查看在Android 中的方法类是否继承正确,如下二图中,是错误的。需要继承UnityPlayerActivity类,才能在Unity中调用
Unity与Andriod交互错误合集_第1张图片

Unity与Andriod交互错误合集_第2张图片
(图2)

二、 报错为过时的API等错误,是在Android打jar时,将class的内容也打进包中。

所以出现了重复的类
报错详情如下:
在这里插入图片描述

Unity与Andriod交互错误合集_第3张图片

具体原因:

Unity与Andriod交互错误合集_第4张图片
解决方案:
1、如果只是BuildConfig.class文件内容重复,只需在Android工程中的build.gradle文件中加以下一段代码即可。
Unity与Andriod交互错误合集_第5张图片
//不生成BuildConfig类

  libraryVariants.all {
        generateBuildConfigProvider?.get()?.enabled = false
    }

2、如果还报类似的错误,原因是将Unity的Class.jar包也打入进来了,还是当前文件中,在dependencies区块内
将lib中引用的class后的代码注释掉、且加compileOnly files(‘libs/classes.jar’)
// implementation files(‘libs\classes.jar’)

dependencies {
    compileOnly files('libs/classes.jar')  //只在编译有效,不打入包中
   // implementation files('libs\\classes.jar')
}

·
·

三、Android studio报错乱码解决方案

在android studio项目中依次点击Help --> Edit Custom VM Options
在配置文件中加入以下代码。

-Dconsole.encoding=UTF-8
-Dfile.encoding=UTF-8

然后重启IDE,操作:File --> Restart IDE。
操作完成后,重新build,引发报错,报错显示就会正常。

·
·

四、打包安卓APK 时报错:WARNING:enableR8

版本:Unity 2020.3.3f1c1

Configure project :launcher
WARNING: The option ‘android.enableR8’ is deprecated and should not be used anymore.
It will be removed in a future version of the Android Gradle plugin, and will no longer allow you to disable R8

解决方案:勾选custom base gradle template
Unity与Andriod交互错误合集_第6张图片
在安卓文件目录下找到baseProjectTemplate.gradle这个文件
Unity与Andriod交互错误合集_第7张图片
修改为3.4即可:在2020.3.7版本后会被修复
Unity与Andriod交互错误合集_第8张图片

你可能感兴趣的:(错误集合,unity,android)