【问题标题】:Xamarin wont build Android applicationXamarin 不会构建 Android 应用程序
【发布时间】:2017-11-16 06:26:17
【问题描述】:

我是一个 android 新手,为 Visual Studio 安装了 Xamarin,还安装了 Android SDK 并在那里加载了很多东西,但是在构建时我收到了这个错误:

1>------ Build started: Project: WordSolverO, Configuration: Debug Any CPU ------
1>    Processing: obj\Debug\res\layout\main.xml
1>    Processing: obj\Debug\res\values\strings.xml
1>  WordSolverO -> C:\Users\Elmeri\Documents\WordSolverO\WordSolverO\bin\Debug\WordSolverO.dll
1>    Processing: obj\Debug\res\layout\main.xml
1>    Processing: obj\Debug\res\values\strings.xml
1>    Processing: obj\Debug\res\layout\main.xml
1>    Processing: obj\Debug\res\values\strings.xml
1>C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1868,3): error MSB6006: "javac.exe" exited with code 2.
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

这是 Xamarin 诊断程序:

[I:sdk]:                    Key HKCU\SOFTWARE\Novell\Mono for Android\AndroidSdkDirectory found:
    Path contains adb in \platform-tools (C:\Program Files (x86)\Android\android-sdk).
[I:sdk]:                    Key HKCU\SOFTWARE\Novell\Mono for Android\AndroidNdkDirectory found:
    Path contains ndk-stack in \. (C:\ProgramData\Microsoft\AndroidNDK64\android-ndk-r11c\).
[I:sdk]:                    Key HKCU\SOFTWARE\Novell\Mono for Android\JavaSdkDirectory found:
    Path contains jarsigner.exe in \bin (C:\Program Files\Java\jdk-9.0.1).
[I:Unknown]:              Found Xamarin.Android 7.0.2
[I:Unknown]:              Found Android SDK. API levels: 19, 20, 21, 23
[I:]:                     Tracking android devices started
[D:]:                     TrackDeviceTask got: 
[D:]:                     Tracking avd started
[I:]:                     Got new device list from adb with 0 devices
[D:]:                     avd watcher *.ini path: 'C:\Users\Elmeri\.android\avd'
[D:]:                     avd watcher android path: 'C:\PROGRA~2\Android\ANDROI~1\tools\android.BAT'
[D:]:                     avd watcher: got device list from avd with 1 devices

我检查了 JDK 和 SDK 的位置,它们看起来很好 https://i.imgur.com/M4DtPh3.png

所以我不知道出了什么问题,我在这里没有看到任何描述性错误..

【问题讨论】:

标签: xamarin visual-studio-2015 sdk xamarin.android


【解决方案1】:

我敢打赌,所有这些问题的根源是 DEX 64K 限制 + 旧的 proguard 版本(如果启用了 multidex)。 您应该根据此主题升级 Proguard(必须在 SDK-Manager 每次更新 Built-Tools 后执行该程序): http://stackoverflow.com/questions/39514518/xamarin-android-proguard-unsupported-class-version-number-52-0

还要检查您是否只安装了 Java SDK 1.8(如果已安装,请删除任何 1.7 版本)。

PS 不要忘记修改您的 mainClassesDex.bat(否则您的应用程序将在启动时崩溃@Android 4.4 及更低版本,但在更新版本时运行良好): http://www.jon-douglas.com/2016/09/05/xamarin-android-multidex/

【讨论】:

    【解决方案2】:

    我也遇到过这个问题,后来发现“javac.exe”exited with code 2 在未启用 multidex 支持时发生。

    当您的应用及其引用的库超过 65,536 个方法时,您会遇到此构建错误。这意味着您的应用已达到 Android 构建架构的限制。

    请为您的 android 项目启用 multidex,您应该能够构建和部署应用程序。 (您可以通过右键单击 Android 项目,然后导航到项目设置/选项来执行此操作。在“构建”选项卡中,您应该可以选择启用 multidex)

    参考:https://developer.android.com/studio/build/multidex.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多