2015-12-03 12 views
19

Utilizzo Unity 5.2.2p2, Facebook Unity SDK 7.2.2 e il plug-in Android IAB di Prime31 2.9. Quando compilo la mia app ed eseguirlo su un dispositivo, nei registri adb vedo questo:ActivityNotFoundException quando si utilizza il plug-in di Facebook con 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. 

Tuttavia nel file Assets/Plugins/Android/AndroidManifest.xml, ho le seguenti definizioni:

<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"/> 

Non ha senso per me. Questo funzionava e non sono sicuro del motivo per cui non funziona più.

+1

Se si rimuove il plug-in IAB, viene generato? Il manifest che hai incluso sembra buono (anche se non è completo - forse c'è qualcosa di sbagliato in qualche altra parte di esso)? Ho usato le versioni precedenti di entrambi i plugin insieme con successo prima. – eAi

risposta

9

Voglio solo rispondere che sono riuscito a risolverlo. È una di quelle cose di Unity in cui devi solo disinstallare tutti i tuoi plug-in e reinstallarli di nuovo. Trova ogni singolo file relativo a entrambi i plugin, cancellali, installali uno alla volta.

Inoltre, con la nuova integrazione Smoola in 2.9, se non si utilizza Smoola, il plug-in carica comunque e controlla l'accesso a Internet. Ciò richiede l'autorizzazione ACCESS_NETWORK_STATE che il manifest Prime31 non include.

Problemi correlati