ソースコードから理解する技術-UnderSourceCode

手を動かす(プログラムを組む)ことで技術を理解するブログ

libgdx をVisual Studio Codeで開発してみる

libgdxをVisual Studio Codeで開発できるかを試してみました。

Visual Studio Codeには(プラグインを入れることで)Javaの入力補完やコンパイルエラーの表示があるので

  • Javaの入力補完や定義元へのジャンプができる
  • コンパイルエラーが表示される

などコーディングに支障がない状態になることを確認しました。

デバッグ実行は行わず、コマンドラインでの起動としました。
以下、Visual Studio Codeでlibgdxのプロジェクトを読み込んだ時に出たエラーと対応法です。
いづれもgradleなどプロジェクト設定で解決したので、他のエディタを使うときにも参考になるかと思います。

前提条件

libgdxのプロジェクトの実行対象は、デスクトップとAndroidの2つです。

ローカルのJavaのバージョンは11、build.gradleのsourceCompatibility、targetCompatibilityは1.8に変更(最低限Java8にしたいから)した状態です。
sourceCompatibility、targetCompatibilityは以下のように記述しました。

        sourceCompatibility = 1.8
        targetCompatibility = 1.8

エラーメッセージと対応法

Could not determine java version from '11'

デスクトップアプリの起動のために「gradlew desktop:run」を実行すると上記のエラーメッセージとなりました。
これには、gradle\wrapper\gradle-wrapper.propertiesの「distributionUrl」を以下のように変更することで対応しました。

distributionUrl=https\://services.gradle.org/distributions/gradle-4.9-all.zip

The import android.os.Bundle cannot be resolved

android\src\com\sample\prj\AndroidLauncher.javaで「import android.os.Bundle」のインポートができず、上記のエラーが表示されました。
Android SDKのパスはlocal.propertiesや、ローカルのシステム環境変数ANDROID_HOME」に設定したのですが解決しないので
以下の記述をプロジェクト直下のbuild.gradleに追加することで解決しました。(android.os.Bundleを含むJarをコンパイル対象に含めた)

project(":android") {
    apply plugin: "android"

    configurations { natives }

    dependencies {
        compile project(":core")
        compile "com.google.android:android:2.3.1" # この行を追加

コンパイル対象に含めてしまっているので、Androidアプリのビルドには外すなどの考慮が必要かと思います。
あくまでエディタでコーディングを行うための設定ということで。。。