在构建Android项目时,在Unity3D中合并清单文件问题

时间:2016-10-18 18:54:13

标签: android android-studio unity3d android-manifest

TL; DR

大家好我在Unity3D for Android上开发App。但是当我想构建Android项目时。错误显示Manifest文件冲突。我搜索了一段时间,这些冲突中的大部分都是版本冲突。我认为我已经通过手动更改minSDKVersion&所有Manifest文件中的targetSDKVersion。但是,我无法解决这个问题(总共3个错误),

  

(1)错误:[Temp / StagingArea / AndroidManifest-main.xml:36,/ Temp / PlacesArea / installer -libraries / anface-android-tod-2-4d / AndroidManifest.xml:6]尝试合并不兼容/manifest/application/activity[@name=com.facebook.FacebookActivity]元素:

     

UnityEditor.HostView:OnGUI()

     

(2)CommandInvokationFailure:无法合并android清单。有关详细信息,请参阅控制台。   /Library/Java/JavaVirtualMachines/jdk1.8.0_40.jdk/Contents/Home/bin/java -Xmx2048M -Dcom.android.sdkmanager.toolsdir =“/ Users / xxx / Library / Android / sdk / tools”-Dfile.encoding = UTF8 -jar“/Applications/Unity/PlaybackEngines/AndroidPlayer/Tools/sdktools.jar” -

     

stderr的[   错误:[Temp / StagingArea / AndroidManifest-main.xml:36,/ Temp / PlacesArea/android-libraries/facebook-android-sdk-4.14.0/AndroidManifest.xml:6]尝试合并不兼容/清单/应用程序/活动[@ name = com.facebook.FacebookActivity]元素:

<activity
--    @android:name="com.facebook.FacebookActivity">
--</activity>
--(end reached)
  <activity
++         @android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation"
++    @android:name="com.facebook.FacebookActivity"
++    @android:theme="@android:style/Theme.Translucent.NoTitleBar">
]
  

标准输出[   [Temp / StagingArea / AndroidManifest-main.xml:8,/ Temp / PlacesArea/android-libraries/NatCam/AndroidManifest.xml:18]跳过相同的/manifest/application/meta-data[@name=com.google.android。 gms.version]元素。   ]   UnityEditor.Android.Command.Run(System.Diagnostics.ProcessStartInfo psi,UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit,System.String errorMsg)   UnityEditor.Android.AndroidSDKTools.RunCommandInternal(System.String javaExe,System.String sdkToolsDir,System.String [] sdkToolCommand,Int32 memoryMB,System.String workingdir,UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit,System.String errorMsg)   UnityEditor.Android.AndroidSDKTools.RunCommandSafe(System.String javaExe,System.String sdkToolsDir,System.String [] sdkToolCommand,Int32 memoryMB,System.String workingdir,UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit,System.String errorMsg)   UnityEditor.HostView:OnGUI()

     

(3)构建Player时出错:CommandInvokationFailure:无法合并android清单。有关详细信息,请参阅控制台。   /Library/Java/JavaVirtualMachines/jdk1.8.0_40.jdk/Contents/Home/bin/java -Xmx2048M -Dcom.android.sdkmanager.toolsdir =“/ Users / xxx / Library / Android / sdk / tools”-Dfile.encoding = UTF8 -jar“/Applications/Unity/PlaybackEngines/AndroidPlayer/Tools/sdktools.jar” -

     

stderr的[   错误:[Temp / StagingArea / AndroidManifest-main.xml:36,/ Temp / PlacesArea/android-libraries/facebook-android-sdk-4.14.0/AndroidManifest.xml:6]尝试合并不兼容/清单/应用程序/活动[@ name = com.facebook.FacebookActivity]元素:

  <activity
--    @android:name="com.facebook.FacebookActivity">
--</activity>
--(end reached)
  <activity
++    @android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation"
++    @android:name="com.facebook.FacebookActivity"
++    @android:theme="@android:style/Theme.Translucent.NoTitleBar">
]
  

标准输出[   [Temp / StagingArea / AndroidManifest-main.xml:8,/ Temp / PlacesArea/android-libraries/NatCam/AndroidManifest.xml:18]跳过相同的/manifest/application/meta-data[@name=com.google.android。 gms.version]元素。   ]

(对不起,如果格式不好但“&lt;&gt;”必须标记为代码而不是引用)这似乎是活动问题,我发现this。由于我从未接触过Android项目,因此我不知道这个“活动”是什么。谁能指出这里的问题是什么?

1 个答案:

答案 0 :(得分:2)

由于您有重复的Facebook活动声明,因此无法合并清单。

您很可能在项目中不小心拥有多个Facebook AndroidManifest副本。

您不需要自己编辑清单,它们应该开箱即用。

只需查看您的项目并删除您找到的任何重复项。

最糟糕的情况是,从项目中删除任何Facebook并重新导入插件。

对于一些背景信息,请考虑像团结场景中的活动。在清单中,您必须声明所有活动。合并时,如果找到2个相同名称的活动,则它不知道该做什么并抛出该错误。