Scringo合并错误



我试图在我自己的Scringo聊天项目中使用,并且在合并清单文件时遇到了错误。我得到这个:

    Description Resource    Path    Location    Type
[/home/mihai/Dropbox/Freelancing/2014-03-10, Man App/workspace_with_adds/ManApp/AndroidManifest.xml:45, /home/mihai/Dropbox/Freelancing/2014-03-10, Man App/workspace_with_adds/Scringo/AndroidManifest.xml:53] Trying to merge incompatible /manifest/application/activity[@name=com.facebook.LoginActivity] element:
  <activity
--    @android:name="com.facebook.LoginActivity"
--    @android:screenOrientation="portrait"
--    @android:windowSoftInputMode="adjustPan">
  <activity
++    @android:configChanges="orientation|keyboardHidden|screenSize"
++    @android:name="com.facebook.LoginActivity">
++</activity>
[/home/mihai/Dropbox/Freelancing/2014-03-10, Man App/workspace_with_adds/ManApp/AndroidManifest.xml:64, /home/mihai/Dropbox/Freelancing/2014-03-10, Man App/workspace_with_adds/Scringo/AndroidManifest.xml:57] Trying to merge incompatible /manifest/application/meta-data[@name=com.facebook.sdk.ApplicationId] element:
  <meta-data
      @android:name="com.facebook.sdk.ApplicationId"
--    @android:value="@string/app_id">
  <meta-data
      @android:name="com.facebook.sdk.ApplicationId"
++    @android:value="@string/replace_this_facebook_app_id">
    ManApp      line 1  Android Manifest Merger Problem

我知道我有两个活动相同(facebook一个)和两个元数据相同,所以我的问题是哪一个我删除或我如何处理这个?

我试着从我的主清单中删除这两个,然后从Scringo清单,我总是得到这个错误时,试图使用facebook登录:

    05-16 09:14:57.902: E/AndroidRuntime(2588): FATAL EXCEPTION: main
05-16 09:14:57.902: E/AndroidRuntime(2588): Process: com.manapp, PID: 2588
05-16 09:14:57.902: E/AndroidRuntime(2588): java.lang.RuntimeException: Unable to resume activity {com.manapp/com.facebook.LoginActivity}: java.lang.IllegalArgumentException: Argument 'applicationId' cannot be null or empty
05-16 09:14:57.902: E/AndroidRuntime(2588):     at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2788)
05-16 09:14:57.902: E/AndroidRuntime(2588):     at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2817)
05-16 09:14:57.902: E/AndroidRuntime(2588):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2250)
05-16 09:14:57.902: E/AndroidRuntime(2588):     at android.app.ActivityThread.access$800(ActivityThread.java:135)
05-16 09:14:57.902: E/AndroidRuntime(2588):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
05-16 09:14:57.902: E/AndroidRuntime(2588):     at android.os.Handler.dispatchMessage(Handler.java:102)
05-16 09:14:57.902: E/AndroidRuntime(2588):     at android.os.Looper.loop(Looper.java:136)
05-16 09:14:57.902: E/AndroidRuntime(2588):     at android.app.ActivityThread.main(ActivityThread.java:5017)
05-16 09:14:57.902: E/AndroidRuntime(2588):     at java.lang.reflect.Method.invokeNative(Native Method)
05-16 09:14:57.902: E/AndroidRuntime(2588):     at java.lang.reflect.Method.invoke(Method.java:515)
05-16 09:14:57.902: E/AndroidRuntime(2588):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
05-16 09:14:57.902: E/AndroidRuntime(2588):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
05-16 09:14:57.902: E/AndroidRuntime(2588):     at dalvik.system.NativeStart.main(Native Method)
05-16 09:14:57.902: E/AndroidRuntime(2588): Caused by: java.lang.IllegalArgumentException: Argument 'applicationId' cannot be null or empty
05-16 09:14:57.902: E/AndroidRuntime(2588):     at com.facebook.internal.Validate.notNullOrEmpty(Validate.java:67)
05-16 09:14:57.902: E/AndroidRuntime(2588):     at com.facebook.widget.WebDialog$BuilderBase.<init>(WebDialog.java:447)
05-16 09:14:57.902: E/AndroidRuntime(2588):     at com.facebook.widget.WebDialog$Builder.<init>(WebDialog.java:559)
05-16 09:14:57.902: E/AndroidRuntime(2588):     at com.facebook.AuthorizationClient$AuthDialogBuilder.<init>(AuthorizationClient.java:1015)
05-16 09:14:57.902: E/AndroidRuntime(2588):     at com.facebook.AuthorizationClient$WebViewAuthHandler.tryAuthorize(AuthorizationClient.java:632)
05-16 09:14:57.902: E/AndroidRuntime(2588):     at com.facebook.AuthorizationClient.tryCurrentHandler(AuthorizationClient.java:268)
05-16 09:14:57.902: E/AndroidRuntime(2588):     at com.facebook.AuthorizationClient.tryNextHandler(AuthorizationClient.java:234)
05-16 09:14:57.902: E/AndroidRuntime(2588):     at com.facebook.AuthorizationClient.authorize(AuthorizationClient.java:157)
05-16 09:14:57.902: E/AndroidRuntime(2588):     at com.facebook.AuthorizationClient.startOrContinueAuth(AuthorizationClient.java:138)
05-16 09:14:57.902: E/AndroidRuntime(2588):     at com.facebook.LoginActivity.onResume(LoginActivity.java:117)
05-16 09:14:57.902: E/AndroidRuntime(2588):     at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1192)
05-16 09:14:57.902: E/AndroidRuntime(2588):     at android.app.Activity.performResume(Activity.java:5310)
05-16 09:14:57.902: E/AndroidRuntime(2588):     at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2778)
05-16 09:14:57.902: E/AndroidRuntime(2588):     ... 12 more

我在项目的字符串文件中有一个应用程序id,在scringo字符串项目中有一个,我已经将值更改为没有使用。

唯一似乎总是工作的是我已经拥有的facebook图像共享。更奇怪的是,如果我去分享一些东西,然后尝试登录,我不再得到错误,它工作得很好。

有什么想法可能是问题和如何解决这个问题吗?

我今天在我的项目中添加了以下内容后遇到了同样的问题。属性文件:

manifestmerger.enabled=true

我能够通过从Scringo AndroidManifest.xml文件中删除冲突行来解决问题。换句话说,如果删除以下行:

<activity
    @android:configChanges="orientation|keyboardHidden|screenSize"
    @android:name="com.facebook.LoginActivity" />

,

<meta-data
    @android:name="com.facebook.sdk.ApplicationId"
    @android:value="@string/replace_this_facebook_app_id" />

从你的Scringo AndroidManifest.xml错误应该消失。请注意,我在结尾添加了"/"(结束标签),因为这就是我的列表方式;也许您在其他地方有结束标记。此外,我确实必须删除一些在我的Scringo AndroidManifest.xml中重复的权限。

我发现关于将这个页面的manifest合并设置为true的部分很有帮助:http://www.scringo.com/docs/buzztouch/android-integration/

最新更新