【问题标题】:Unable to turn on Multi-Dex in Xamarin Android无法在 Xamarin Android 中打开 Multi-Dex
【发布时间】:2018-05-16 20:58:11
【问题描述】:

我之前在我的 xamarin android 项目中遇到了 java.exe exited 错误,但是在启用 multi dex 之后,我遇到了这种奇怪的错误。谁能帮我找到解决方案?

这是错误

             MultiDexMainDexListFile: obj\Debug\multidex.keep
            1>    CustomMainDexListFiles:
            1>    ToolExe: mainDexClasses.bat
            1>    ToolPath: C:\Users\Muhammad Tayyab\AppData\Local\Android\android-sdk\build-tools\23.0.3\\
            1>    ProguardHome: C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\Xamarin\Android\proguard\
            1>  Environment Variables passed to tool:
            1>    PROGUARD_HOME=C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\Xamarin\Android\proguard\
            1>    JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF8
            1>  C:\Users\Muhammad Tayyab\AppData\Local\Android\android-sdk\build-tools\23.0.3\\mainDexClasses.bat --output obj\Debug\multidex.keep "'C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\ReferenceAssemblies\Microsoft\Framework\MonoAndroid\v7.0\mono.android.jar';'C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\Xamarin\Android\android-support-multidex.jar';'obj\Debug\__library_projects__\Telerik.Xamarin.Android.Common\library_project_imports\bin\Common.jar';'obj\Debug\__library_projects__\Telerik.Xamarin.Android.Data\library_project_imports\bin\Data.jar';'obj\Debug\__library_projects__\Telerik.Xamarin.Android.Gauges\library_project_imports\bin\Gauges.jar';'obj\Debug\__library_projects__\Telerik.Xamarin.Android.Input\library_project_imports\bin\Input.jar';'obj\Debug\__library_projects__\Telerik.Xamarin.Android.List\library_project_imports\bin\List.jar';'obj\Debug\__library_projects__\Telerik.Xamarin.Android.Primitives\library_project_imports\bin\Primitives.jar';'obj\Debug\__library_projects__\TwilioClient.Android\library_project_imports\bin\classes.jar';'obj\Debug\__library_projects__\TwilioClient.Android\library_project_imports\libs\org.apache.http.legacy.jar';'obj\Debug\__library_projects__\Xamarin.Android.Support.Animated.Vector.Drawable\library_project_imports\bin\classes.jar';'obj\Debug\__library_projects__\Xamarin.Android.Support.Compat\library_project_imports\bin\classes.jar';'obj\Debug\__library_projects__\Xamarin.Android.Support.Core.UI\library_project_imports\bin\classes.jar';'obj\Debug\__library_projects__\Xamarin.Android.Support.Core.Utils\library_project_imports\bin\classes.jar';'obj\Debug\__library_projects__\Xamarin.Android.Support.Design\library_project_imports\bin\classes.jar';'obj\Debug\__library_projects__\Xamarin.Android.Support.Fragment\library_project_imports\bin\classes.jar';'obj\Debug\__library_projects__\Xamarin.Android.Support.Media.Compat\library_project_imports\bin\classes.jar';'obj\Debug\__library_projects__\Xamarin.Android.Support.Transition\library_project_imports\bin\classes.jar';'obj\Debug\__library_projects__\Xamarin.Android.Support.v4\library_project_imports\bin\classes.jar';'obj\Debug\__library_projects__\Xamarin.Android.Support.v7.AppCompat\library_project_imports\bin\classes.jar';'obj\Debug\__library_projects__\Xamarin.Android.Support.v7.RecyclerView\library_project_imports\bin\classes.jar';'obj\Debug\__library_projects__\Xamarin.Android.Support.Vector.Drawable\library_project_imports\bin\classes.jar';'obj\Debug\__library_projects__\Xamarin.Firebase.Common\library_project_imports\classes.jar';'obj\Debug\__library_projects__\Xamarin.Firebase.Iid\library_project_imports\classes.jar';'obj\Debug\__library_projects__\Xamarin.Firebase.Messaging\library_project_imports\classes.jar';'obj\Debug\__library_projects__\Xamarin.GooglePlayServices.Base\library_project_imports\classes.jar';'obj\Debug\__library_projects__\Xamarin.GooglePlayServices.Basement\library_project_imports\classes.jar';'obj\Debug\__library_projects__\Xamarin.GooglePlayServices.Tasks\library_project_imports\classes.jar';'C:\Users\Muhammad Tayyab\AppData\Local\Xamarin\Xamarin.Android.Support.CustomTabs\23.3.0.0\embedded\classes.jar';'obj\Debug\android\bin\classes'" 
            1>CREATEMULTIDEXMAINDEXCLASSLIST : error : Unknown option '[2598:39D0][2016-11-22T22:11:15]i001:' in line 1 of file 'C:\Users\Muhammad',
            1>    included from argument number 13
            1>  Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF8
            1>  Invalid option 
            1>  Usage:
            1>  
            1>  Short version: Don't use this.
            1>  
            1>  Slightly longer version: This tool is used by mainDexClasses script to build
            1>  the main dex list.
            1>  Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF8
            1>  The command exited with code -1.
            1>Done executing task "CreateMultiDexMainDexClassList" -- FAILED.
            1>Done building target "_CompileToDalvikWithDx" in project "VoipApp.csproj" -- FAILED.
            1>
            1>Build FAILED.

【问题讨论】:

  • 我可能会禁用多 dex 并专注于您遇到的原始问题。我不太明白你为什么需要 mutli-dex,你的应用有超过 65k 的方法吗?

标签: xamarin xamarin.android


【解决方案1】:

当您的 Android SDK 路径之间有空格时,通常会发生此错误,这是 Xamarin multidex 中的一个已知错误,您可以找到相关信息 here

现在解决问题很容易,你当前的SDK路径是这样的

:C:\Users\Muhammad Tayyab\AppData\Local\Android\android-sdk

将它移到这样的地方可以永久解决您的问题:

C:\Users\Android\android-sdk\

祝你好运! 如果它不起作用,请还原

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-10
    • 1970-01-01
    • 2019-01-10
    • 1970-01-01
    • 2015-08-03
    • 1970-01-01
    相关资源
    最近更新 更多