从清单中删除LoginActivity-适用于Android 3.0的Facebook SDK
我注意到Facebook SDK 3.0必须在清单文件中声明LoginActivity从清单中删除LoginActivity-适用于Android 3.0的Facebook SDK,android,facebook,Android,Facebook,我注意到Facebook SDK 3.0必须在清单文件中声明LoginActivity <activity android:name="com.facebook.LoginActivity" android:label="@string/app_name" /> <meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/applicationId" />
<activity android:name="com.facebook.LoginActivity"
android:label="@string/app_name" />
<meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/applicationId" />
当Facebook SDK必须依赖此声明时,这似乎是一种糟糕的做法。我想知道是否有办法将其从清单文件中删除
<activity android:name="com.facebook.LoginActivity"
android:label="@string/app_name" />
<meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/applicationId" />
关于缺少applicationId,我可以通过修改一些函数、LoginButton构造函数和会话构造函数在代码中传递它。使用正式构建堆栈时,需要引用清单中的每个活动(需要启动)。这确实是违反直觉的,因为人们会期望从包含的库中继承这些东西
一个称为“清单合并”的过程现在可以通过构建堆栈和。由于新的构建系统仍在运行中,您只需等待它正式推出即可。正如错误所示,请在清单中声明如下:
<activity android:name="com.facebook.LoginActivity"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:label="@string/app_name" />
您有没有理由不将其包含在清单中?因为客户端项目必须在清单中声明它。这是一个依赖项。没错,但您还需要在清单中声明internet权限(另一个依赖项),并且首先需要将SDK添加到应用程序中。是否有任何细节阻止您在清单中包含另一个活动?但是如何管理启动器活动呢?清单合并在ADT/Eclipse中也起作用。您只需将此行添加到非库项目的project.properties
文件:manifestmerge.enabled=true
@SandeepMaram乐于帮助您的答案与问题无关。@AlvaroSantisteban您为什么这样认为?