2015-12-03 7 views
19

Ich benutze Unity 5.2.2p2, Facebook Unity SDK 7.2.2 und das Prime31 Android IAB-Plugin 2.9. Wenn ich meine Anwendung zu kompilieren und es auf einem Gerät laufen, in der adb logs ich sehe:ActivityNotFoundException bei Verwendung von Facebook Plugin mit Unity

I/Unity (18149): AndroidJavaException: android.content.ActivityNotFoundException: Unable to find explicit activity class {com.-----.----/com.facebook.unity.FBUnityLoginActivity}; have you declared this activity in your AndroidManifest.xml? 
I/Unity (18149): at UnityEngine.AndroidJNISafe.CheckException() [0x00000] in <filename unknown>:0 
I/Unity (18149): at UnityEngine.AndroidJNISafe.CallStaticVoidMethod (IntPtr clazz, IntPtr methodID, UnityEngine.jvalue[] args) [0x00000] in <filename unknown>:0 
I/Unity (18149): at UnityEngine.AndroidJavaObject._CallStatic (System.String methodName, System.Object[] args) [0x00000] in <filename unknown>:0 
I/Unity (18149): at UnityEngine.AndroidJavaObject.CallStatic (System.String methodName, System.Object[] args) [0x00000] in <filename unknown>:0 
I/Unity (18149): at Facebook.Unity.Mobile.Android.FBJavaClass.CallStatic (System.String methodName, System.Object[] args) [0x00000] in <filename unknown>:0 
I/Unity (18149): at Facebook.Unity.Mobile.Android.AndroidFacebook.CallFB (System.String method, System.String args) [0x00000] in <filename unknown>:0 
I/Unity (18149): at Facebook.Unity. 

jedoch in der Assets/Plugins/Android/AndroidManifest.xml Datei, habe ich die folgenden Definitionen bekommt:

<activity android:configChanges="locale|fontScale|keyboard|keyboardHidden|mcc|mnc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|touchscreen|uiMode" android:label="@string/app_name" android:launchMode="singleTask" android:name="com.unity3d.player.UnityPlayerActivity" android:screenOrientation="sensorLandscape"> 
    <intent-filter> 
     <action android:name="android.intent.action.MAIN"/> 
     <category android:name="android.intent.category.LAUNCHER"/> 
     <category android:name="android.intent.category.LEANBACK_LAUNCHER"/> 
    </intent-filter> 
    <meta-data android:name="unityplayer.UnityActivity" android:value="true"/> 
</activity> 
<activity android:configChanges="locale|fontScale|keyboard|keyboardHidden|mcc|mnc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|touchscreen|uiMode" android:name="com.facebook.unity.FBUnityLoginActivity" android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen"/> 
<activity android:configChanges="locale|fontScale|keyboard|keyboardHidden|mcc|mnc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|touchscreen|uiMode" android:name="com.facebook.unity.FBUnityDialogsActivity" android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen"/> 
<activity android:configChanges="keyboardHidden|orientation" android:name="com.facebook.LoginActivity" android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen"/> 
<activity android:exported="true" android:name="com.facebook.unity.FBUnityAppLinkActivity"/> 
<activity android:exported="true" android:name="com.facebook.unity.FBUnityDeepLinkingActivity"/> 
<activity android:name="com.facebook.unity.FBUnityGameRequestActivity"/> 
<activity android:name="com.facebook.unity.FBUnityCreateGameGroupActivity"/> 
<activity android:name="com.facebook.unity.FBUnityJoinGameGroupActivity"/> 
<activity android:name="com.facebook.unity.AppInviteDialogActivity"/> 
<meta-data android:name="com.facebook.sdk.ApplicationId" android:value="fb1234removed"/> 
<provider android:authorities="com.facebook.app.FacebookContentProvider1234removed" android:exported="true" android:name="com.facebook.FacebookContentProvider"/> 
<activity android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|screenSize" android:label="@string/app_name" android:name="com.facebook.FacebookActivity" android:theme="@android:style/Theme.Translucent.NoTitleBar"/> 
<activity android:configChanges="keyboard|keyboardHidden|layoutDirection|orientation|screenLayout|screenSize|uiMode" android:name="com.prime31.GoogleIABProxyActivity" android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen"/> 

Es macht keinen Sinn für mich. Das hat früher funktioniert, und ich bin nicht sicher, warum es nicht mehr funktioniert.

+1

Wenn Sie das IAB-Plugin entfernen, baut es? Das Manifest, das Sie eingefügt haben, sieht gut aus (obwohl es nicht vollständig ist - vielleicht stimmt etwas mit einem anderen Teil nicht)? Ich habe frühere Versionen der beiden Plugins erfolgreich zusammen genutzt. – eAi

Antwort

9

Ich möchte nur antworten, dass ich es geschafft habe, es zu beheben. Es ist eines dieser Unity-Dinge, wo Sie alle Ihre Plugins deinstallieren und neu installieren müssen. Finde jede einzelne Datei, die zu beiden Plugins gehört, lösche sie und installiere sie einzeln nacheinander.

Darüber hinaus, mit der neuen Smoola Integration in 2.9, wenn Sie nicht mit Smoola, lädt das Plugin sowieso und prüft für den Internetzugang. Dies benötigt die ACCESS_NETWORK_STATE-Berechtigung, die das Manifest Prime31 nicht enthält.