2015-12-03 10 views
19

Używam Unity 5.2.2p2, Facebook Unity SDK 7.2.2 i wtyczki Android IAB Prime 2.9. Kiedy mogę skompilować mojej aplikacji i uruchomić go na urządzeniu, w ADB logów widzę to:ActivityNotFoundException przy korzystaniu z wtyczki Facebooka z 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. 

Jednak w aktywach/pliku plugins/Android/AndroidManifest.xml, mam następujące definicje:

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

To nie ma dla mnie żadnego sensu. To działało i nie jestem pewien, dlaczego tak się nie dzieje.

+1

Jeśli usuniesz wtyczkę IAB, czy ją skompiluje? Dołączony manifest wygląda dobrze (choć nie jest kompletny - może coś jest nie tak z inną częścią)? Z powodzeniem wcześniej korzystałem z wcześniejszych wersji obu wtyczek. – eAi

Odpowiedz

9

Chcę tylko odpowiedzieć, że udało mi się to naprawić. To jedna z tych rzeczy Unity, w których musisz odinstalować wszystkie swoje wtyczki i ponownie je zainstalować. Znajdź każdy plik związany z obydwoma wtyczkami, usuń je, zainstaluj je po jednym na raz.

Ponadto, z nową integracją Smoola w wersji 2.9, jeśli nie używasz Smoola, wtyczka ładuje się mimo wszystko i sprawdza dostęp do Internetu. To wymaga uprawnienia, które nie jest zawarte w manifeście ACCESS_NETWORK_STATE.

Powiązane problemy