xamarin - 无法在 Xamarin Android 中打开 Multi-Dex
问题描述
我之前在我的 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.
解决方案
当您的 Android SDK 路径在其路径之间有空格时,通常会发生此错误,这是 Xamarin multidex 中的一个已知错误,您可以在此处找到相关信息。
现在解决问题很容易,您当前的 SDK 路径是这样的
:C:\Users\Muhammad Tayyab\AppData\Local\Android\android-sdk
将其移至这样的位置可以永久解决您的问题:
C:\Users\Android\android-sdk\
祝你好运!如果不起作用,请还原
推荐阅读
- ios - 如何在 Swift 中以编程方式从字符串文件中获取本地化语言?
- php - wp_util 在下划线之前加载,导致 WordPress Woocommerce 前端出错
- r - R函数 - 计算预测 - 做循环
- sql - SQL - 从多个数据库中选择
- html - Python Selenium 弹出窗口
- java - 当 isUpdated 为真且不更新已删除的行时,Java spring jpa 将全部保存
- unity3d - 无法使用 TextMeshPro,Unity 代码中只有 TextMesh 可用
- c++ - 从配置文件中检索变量的最佳 C++ 实践
- c - 如何将文件中的特定信息读入结构
- android - Flutter - 在图像中获取用户输入