Unity 2019 Android与Unity通信 UnityPlayerActivity找不到相关问题记录

解决思路:

Unity2019.4.4与AndroidStudio3.5.2交互_LM514104的博客-CSDN博客

需将C:\Program Files\Unity\Editor\Data\PlaybackEngines\AndroidPlayer\Source\com\unity3d\player下的UnityPlayerActivity直接拖入安卓工程MainActivity(继承于UnityPlayerActivity)的目录下。

之后打包出的arr只需获取里面的AndroidManifest.xml和classes.jar

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.milk.unityandroidtalktest" >

    <uses-sdk
        android:minSdkVersion="19"
        android:targetSdkVersion="31" />

    <application>
        <activity
            android:name="com.milk.unityandroidtalktest.MainActivity"
            android:exported="true" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>

            <meta-data
                android:name="unityplayer.UnityActivity"
                android:value="true" />
        </activity>
    </application>

</manifest>

注意类似android:theme="@style/Theme.UnityAndroidTalkTest" 这种@style 或 @string 啥的 全部都要删除掉,不然会一直打包提示报错这些找不到了。 

 classes.jar里会有

需要删除BuildConfig.class(不然会报错存在相同类型冲突)

注意:凡是使用了这种方式自己去带入UnityPlayerActivity.class到自己的classes.jar包时,就意味着原本那些不会出现这个问题的Unity项目可能就会报错找不到 UnityPlayerActivity.class,因为你删除了C:\Program Files\Unity\Editor\Data\PlaybackEngines\AndroidPlayer\Source\com\unity3d\player下的UnityPlayerActivity.class,所以当发现其他项目打包有问题就说明要还原回去。我这边是直接把整个com\unity3d\player目录全部删了。(一般这个问题都会以闪退 打不开apk呈现出来,要仔细观察最顶端的Log日志才发现的。很蛋疼)

猜你喜欢

转载自blog.csdn.net/qq_39574690/article/details/120326031