Conflict between vuforia plugin and prime31 facebook plugin for android on unity

試著忘記壹切 提交于 2019-12-10 18:37:49

问题


Really emergent as client needs it these days. T_T

I have both vuforia plugin and prime31 facebook plugin in my android app on unity. The difficulty lies in the androidmanifest.xml file. Both of them take the role of MAIN and LAUNCHER activites. But in api, it seems one will always override the other. Is there anyway to make them work together ? Some people have already posted this issue online but no efficient method exists. Really appreciate your help !!~~

My AndroidManifest.xml is as the following:

<?xml version="1.0" encoding="utf-8"?>
<manifest
    xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.unity3d.player"
    android:installLocation="preferExternal"
    android:theme="@android:style/Theme.NoTitleBar"
    android:versionCode="1"
    android:versionName="1.0">
    <uses-feature android:name="android.hardware.camera" />
    <supports-screens
        android:smallScreens="true"
        android:normalScreens="true"
        android:largeScreens="true"
        android:xlargeScreens="true"
        android:anyDensity="true"/>


    <uses-permission android:name="android.permission.CAMERA" />


    <application
        android:icon="@drawable/app_icon"
        android:label="@string/app_name"
        android:debuggable="true">
        <activity android:name="com.prime31.UnityPlayerProxyActivity" android:screenOrientation="portrait"
                  android:launchMode="singleTask"
                  android:label="@string/app_name"
                  android:taskAffinity="com.prime31.UnityPlayerProxyActivity"
                  android:configChanges="fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen"
                  >
            <intent-filter>
                <action android:name="com.prime31.UnityPlayerProxyActivity"/>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name="com.prime31.UnityPlayerActivity" android:screenOrientation="portrait"
                  android:launchMode="singleTask"
                  android:label="@string/app_name"
                  android:configChanges="fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen">
        </activity>
        <activity android:name="com.prime31.UnityPlayerNativeActivity" android:screenOrientation="portrait"
                  android:launchMode="singleTask"
                  android:label="@string/app_name"
                  android:configChanges="fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen">
            <meta-data android:name="unityplayer.ForwardNativeEventsToDalvik" android:value="true" />
        </activity>

            <activity android:name="com.prime31.EtceteraProxyActivity" android:configChanges="orientation|screenLayout|screenSize|smallestScreenSize"></activity>
            <activity android:name="com.prime31.WebViewActivity" android:configChanges="keyboardHidden|orientation"
    ></activity>
        <activity android:name="com.qualcomm.QCARUnityPlayer.QCARPlayerProxyActivity"
                  android:label="@string/app_name"
                  android:screenOrientation="portrait"
                  android:taskAffinity="com.qualcomm.QCARUnityPlayer.QCARPlayerProxyActivity"
                  android:configChanges="fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen"
                  >
                    <intent-filter>
                        <action android:name="com.qualcomm.QCARUnityPlayer.QCARPlayerProxyActivity"/>
                        <action android:name="android.intent.action.MAIN" />
                        <category android:name="android.intent.category.DEFAULT" />
                    </intent-filter>
        </activity>
        <activity android:name="com.qualcomm.QCARUnityPlayer.QCARPlayerActivity"
                  android:label="@string/app_name"
                  android:screenOrientation="portrait"
                  android:configChanges="fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen">
        </activity>
        <activity android:name="com.qualcomm.QCARUnityPlayer.QCARPlayerNativeActivity"
                  android:label="@string/app_name"
                  android:screenOrientation="portrait"
                  android:configChanges="fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen">
            <meta-data android:name="android.app.lib_name" android:value="unity" />
            <meta-data android:name="unityplayer.ForwardNativeEventsToDalvik" android:value="false" />
        </activity>
        <activity android:name="com.unity3d.player.VideoPlayer"
                  android:label="@string/app_name"
                  android:screenOrientation="portrait"
                  android:configChanges="fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen">
        </activity>
            <activity android:name="com.prime31.P31VideoPlayerActivity" android:configChanges="keyboard|keyboardHidden|orientation"></activity>
            <receiver android:name="com.prime31.AlarmManagerReceiver"></receiver>
            <activity android:name="com.flurry.android.FlurryFullscreenTakeoverActivity" android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode"/>
            <activity android:name="com.facebook.LoginActivity"></activity>
            <meta-data android:name="com.facebook.sdk.ApplicationId" android:value="\ 393271930801839"/>

        <meta-data android:name="com.prime31.FlurryPlugin" android:value="UnityPlayerActivityProxy"/>
        <meta-data android:name="com.prime31.FacebookPlugin" android:value="UnityPlayerActivityProxy"/>
</application>

        <uses-permission android:name="android.permission.INTERNET"/>
        <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
        <uses-permission android:name="android.permission.GET_TASKS"/>
            <uses-permission android:name="android.permission.INTERNET"/>
            <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
            <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

</manifest>

回答1:


There is no easy way of doing this. You will have to meddle with the java side of things.

The following url should help you out with this

https://gist.github.com/prime31/0908e6100d7e228f1add/raw/a5d96177c8d8fde548068d2a15de49acdb2023ec/Android+Activity+Sharing




回答2:


You can find the unity-classes.jar from this path : Unity/Editor/Data/PlaybackEngines/androidplayer/bin

for reference please follow : http://forum.unity3d.com/threads/classes-jar-missing.250970/



来源:https://stackoverflow.com/questions/19940179/conflict-between-vuforia-plugin-and-prime31-facebook-plugin-for-android-on-unity

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!