概要
Visual Studio for Mac で Android Project がビルドできません。
Java SDK のインストール関連ではないかと思い調べたものの一向に解消できないのでご教示お願いします。
詳細
環境
Visual Studio Community 2017 for Mac Version 7.2 (build 636) Runtime: Mono 5.4.0.212 (2017-06/fbc487ff424) (64-bit) GTK+ 2.24.23 (Raleigh theme) Xamarin.Android バージョン:8.0.0.33 (Visual Studio Community) Android SDK: /Users/sugita-toshinori/Library/Developer/Xamarin/android-sdk-macosx サポートされている Android バージョン: 4.0.3 (API レベル 15) 4.1 (API レベル 16) 4.2 (API レベル 17) 4.3 (API レベル 18) 4.4 (API レベル 19) 4.4.87 (API レベル 20) 5.0 (API レベル 21) 5.1 (API レベル 22) 7.0 (API レベル 24) 7.1 (API レベル 25) 8.0 (API レベル 26) SDK ツールのバージョン: 26.1.1 SDK プラットフォーム ツールのバージョン: 26.0.1 SDK ビルド ツールのバージョン: 26.0.2 Xamarin.Forms: 2.4.0.280
ビルドは Xamarin.Forms の Blank App のテンプレートから変更を加えていないものです。
iOS プロジェクトをスタートアッププロジェクトにしてビルドするときにはシミュレータで「Welcome to Xamarin Forms!」が表示されます。
JDK 8でビルドしたとき
$ java -version // java version "1.8.0_144" // Java(TM) SE Runtime Environment (build 1.8.0_144-b01) // Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode)
$ /usr/libexec/java_home -V // Matching Java Virtual Machines (1): // 1.8.0_144, x86_64: "Java SE 8" // /Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home // /Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home
/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets(3,3): Error MSB6006: "javac" exited with code 1. (MSB6006) (EmptyForms.Droid) Target _CompileJava: /usr/bin/javac -J-Dfile.encoding=UTF8 -d obj/Debug/android/bin/classes -classpath /Library/Frameworks/Mono.framework/External/xbuild-frameworks/MonoAndroid/v7.1/mono.android.jar:obj/Debug/__library_projects__/FormsViewGroup/library_project_imports/formsviewgroup.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.Vector.Drawable/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.CardView/library_project_imports/bin/classes.jar:obj/Debug/__library_projects__/Xamarin.Android.Support.v7.MediaRouter/library_project_imports/bin/classes.jar:obj/Debug/__library_projects__/Xamarin.Android.Support.v7.Palette/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.Annotations/library_project_imports/support-annotations.jar -bootclasspath /Users/sugita-toshinori/Library/Developer/Xamarin/android-sdk-macosx/platforms/android-25/android.jar -encoding UTF-8 "@/var/folders/71/h4sdrnqx7_gbb2h2rs_b08cmw60l5q/T/tmp1fe84b21.tmp" エラー: /Library/Java/Extensions/commons-logging-api.jarの読込みエラーです。/Library/Java/Extensions/commons-logging-api.jar (Permission denied) 注意:一部の入力ファイルは非推奨のAPIを使用またはオーバーライドしています。 注意:詳細は、-Xlint:deprecationオプションを指定して再コンパイルしてください。 注意:入力ファイルの操作のうち、未チェックまたは安全ではないものがあります。 注意:詳細は、-Xlint:uncheckedオプションを指定して再コンパイルしてください。 エラー1個 /Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets(1913,3): error MSB6006: "javac" exited with code 1.
JDK 9でビルドしたとき
$ java -version // java version "9" // Java(TM) SE Runtime Environment (build 9+181) // Java HotSpot(TM) 64-Bit Server VM (build 9+181, mixed mode)
$ /usr/libexec/java_home -V // Matching Java Virtual Machines (1): // 9, x86_64: "Java SE 9" // /Library/Java/JavaVirtualMachines/jdk-9.jdk/Contents/Home // /Library/Java/JavaVirtualMachines/jdk-9.jdk/Contents/Home
/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets(3,3): Error MSB6006: "javac" exited with code 2. (MSB6006) (EmptyForms.Droid) Target _CompileJava: /usr/bin/javac -J-Dfile.encoding=UTF8 -d obj/Debug/android/bin/classes -classpath /Library/Frameworks/Mono.framework/External/xbuild-frameworks/MonoAndroid/v7.1/mono.android.jar:obj/Debug/__library_projects__/FormsViewGroup/library_project_imports/formsviewgroup.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.Vector.Drawable/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.CardView/library_project_imports/bin/classes.jar:obj/Debug/__library_projects__/Xamarin.Android.Support.v7.MediaRouter/library_project_imports/bin/classes.jar:obj/Debug/__library_projects__/Xamarin.Android.Support.v7.Palette/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.Annotations/library_project_imports/support-annotations.jar -bootclasspath /Users/sugita-toshinori/Library/Developer/Xamarin/android-sdk-macosx/platforms/android-25/android.jar -encoding UTF-8 "@/var/folders/71/h4sdrnqx7_gbb2h2rs_b08cmw60l5q/T/tmp58356d5a.tmp" javac: オプション--boot-class-pathはターゲット1.9とともに指定できません /Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets(1913,3): error MSB6006: "javac" exited with code 2. Done building target "_CompileJava" in project "EmptyForms.Droid.csproj" -- FAILED.
よく見たらこっちの方がそれっぽいログだった…JDK 9ってダメ…?
/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets(604,2): warning : Failed to get the Java SDK version. Found java version "9" /Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets(604,2): warning : Java(TM) SE Runtime Environment (build 9+181) /Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets(604,2): warning : Java HotSpot(TM) 64-Bit Server VM (build 9+181, mixed mode) /Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets(604,2): warning : but this does not seem to contain a valid version number. /Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets(1913,3): error MSB6006: "javac" exited with code 2.
JDK なしでビルドしたとき
Error finding Android/Java SDKs The "ResolveSdks" task failed unexpectedly.
その他試したこと
- PC の再起動
- Visual Studio for Macの再起動
- Visual Studio for Macの再インストール
- ソリューションの作り直し
- SDK マネージャーから SDK の場所 → Android プラットフォーム のアップデートの適用
- Java JDK (8、9)の削除とインストール
- brew cask reinstall java でインストールできる Java と ORACLE 公式ページからダウンロードできるインストーラでインストールできる Java とでビルド時の挙動を比較する
よろしくお願いします。

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/10/17 05:50