2016-09-27 56 views
2

我在統一應用程序中使用了Admob和Google Play服務。CommandInvokationFailure:無法合併android清單。有關更多詳情,請參閱控制檯。我已經對項目中的所有清單文件進行了更改

我正在合併清單文件中的錯誤,但我已經在我的項目更改了所有清單文件(MinSDk,TargetSDK,@android:值)

但是還是我收到以下錯誤。

CommandInvokationFailure: Unable to merge android manifests. 
See the Console for more details. 
C:\Program Files\Java\jdk1.8.0_101\bin\java.exe -Xmx2048M-Dcom.android.sdkmanager.toolsdir="E:\adt-bundle-windows-x86-20130717\sdk\tools" -Dfile.encoding=UTF8 -jar "C:\Program Files\Unity\Editor\Data\PlaybackEngines\AndroidPlayer/Tools\sdktools.jar" - 

stderr[ 
Error: [Temp\StagingArea\AndroidManifest-main.xml:22, F:\Unity_workspace\Game\Temp\StagingArea\android-libraries\play-services-basement-9.6.1\AndroidManifest.xml:5] Trying to merge incompatible /manifest/application/meta-data[@name=com.google.android.gms.version] element: 
<meta-data 
     @android:name="com.google.android.gms.version" 
-- @android:value="8115000"> 
<meta-data 
     @android:name="com.google.android.gms.version" 
++ @android:value="@integer/google_play_services_version"> 
] 

stdout[ 
[Temp\StagingArea\AndroidManifest-main.xml:22, F:\Unity_workspace\Game\Temp\StagingArea\android-libraries\MainLibProj\AndroidManifest.xml:13] Skipping identical /manifest/application/meta-data[@name=com.google.android.gms.version] element. 
[Temp\StagingArea\AndroidManifest-main.xml:24, F:\Unity_workspace\Game\Temp\StagingArea\android-libraries\play-services-ads-lite-9.6.1\AndroidManifest.xml:10] Skipping identical /manifest/application/activity[@name=com.google.android.gms.ads.AdActivity] element. 
] 
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() 

任何幫助是歡迎。

回答

0

正如您所猜測的,您項目中的某處google_play_services_version字段是硬編碼的。

在代碼編輯器中搜索值爲8115000的整個解決方案。

將值替換爲"@integer/google_play_services_version"

你說你已經通過了所有的清單,但它可能不在清單中,它可能是一個值xml文件。

+0

我做了你所說的,但現在我得到「無法將類轉換爲dex格式」我把我的控制檯輸出在https://kobra.io/#/e/-KSv1lTpFjFMRqElJhCv請看看它並幫助我。謝謝 –

+0

這實際上是個好消息,這意味着價值問題是固定的,但現在你有這個新的錯誤。 與統一的android錯誤的問題是,他們中有大量的無用信息。 看到這一行 'code' Uncaught translation error:java.lang.IllegalArgumentException:already added:Landroid/support/v4/accessibilityservice/AccessibilityServiceInfoCompat; 'code' 這是實際的問題。這意味着在你的團結項目的某個地方,你有2個版本的Android支持庫版本4. Unity正在抱怨,因爲它試圖添加一個已經添加的類。 – turnipinrut

+0

只需刪除其中一個支持v4 jar文件。哪一個並不重要。 – turnipinrut

相關問題