在已经拆我的应用程序为2个不同的模块(一module和的 application一个),我不得不添加tools:node="replace"的<application>节点,因为我是有清单合并的问题(与Facebook和火力地堡).
自从我这样做以来,一切正常但我的应用程序现在在运行时因此异常而崩溃: The Facebook sdk must be initialized before calling activateApp
但是我正在这样初始化应用程序(在类扩展中Application):
FacebookSdk.setApplicationId(getString(R.string.facebook_app_id));
AppEventsLogger.activateApp(this); // this = instance of Application
Run Code Online (Sandbox Code Playgroud)
我以前什么都没改过,以前它工作得很好,但现在我得到了这个崩溃.我不知道该怎么做......没有发现任何关于这个可以帮助我.
谢谢你的帮助.
编辑:这是相关的清单:
<?xml version="1.0" encoding="utf-8"?>
<manifest package="package"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" >
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.FLASHLIGHT" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<uses-permission android:name="package.permissions.C2D_MESSAGE" />
<permission android:name="package.permissions.C2D_MESSAGE" android:protectionLevel="signature" />
<application
android:name=".application.MyApplication"
android:allowBackup="true"
android:icon="@mipmap/app_icon"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/Theme"
tools:node="replace" >
<meta-data
android:name="com.facebook.sdk.ApplicationId"
android:value="@string/facebook_app_id" />
<provider android:authorities="com.facebook.app.FacebookContentProvider#############"
android:name="com.facebook.FacebookContentProvider"
android:exported="true"/>
<provider
android:name="android.support.v4.content.FileProvider"
android:authorities="${applicationId}.provider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/provider_paths"/>
</provider>
</application>
</manifest>
Run Code Online (Sandbox Code Playgroud)