1. ホーム
  2. アンドロイドスタジオ

[解決済み】Android Studioで標準的なJavaプロジェクトを実行することは可能ですか?

2022-03-25 15:21:06

質問

Javaを分離して、簡単にテストしたいとき。

Android Studioで、Android以外のJavaプロジェクトをEclipseのように実行することはできますか?

解決方法を教えてください。

Android Studio 0.8.6 - 3.5でテストしています。

この方法を使うと、JavaモジュールとAndroidモジュールを同じプロジェクトに入れることができ、また、Javaモジュールを独立したJavaプロジェクトとしてコンパイルし、実行することができます。

  1. Android StudioでAndroidプロジェクトを開きます。持っていない場合は、作成します。
  2. クリック ファイル > 新規モジュール . を選択します。 Java ライブラリ をクリックし 次へ .
  3. パッケージ名などを記入し 完了 . これで、Androidプロジェクト内にJavaモジュールが表示されるはずです。
  4. 作成したJavaモジュールに、あなたのコードを追加します。
  5. 実行ボタンの左のドロップダウンをクリックします。クリック 設定の編集...
  6. 新しいウィンドウで、ウィンドウの左上にあるプラス記号をクリックし、以下を選択します。 アプリケーション
  7. 新しいアプリケーションの設定が表示されるので、メインクラスやモジュールのクラスパスなどの詳細を入力します。
  8. クリック OK .

実行をクリックすると、Javaモジュールがコンパイルされ、実行されるはずです。

もしエラーが発生した場合 Error: Could not find or load main class... が入力されている場合でも、(手順 7 で行ったように)メインクラスを再度入力するだけです。クリック 適用 をクリックし OK .

私の使用例です。 私のAndroidアプリは、機能するためにいくつかの事前計算されたファイルに依存しています。これらの事前計算されたファイルは、いくつかのJavaコードによって生成されます。この2つのことは密接に関係しているので、これらのモジュールの両方を同じプロジェクトに持つことは最も理にかなっています。

NEW - スタンドアローンプロジェクトでKotlinを有効にする方法

スタンドアロン・プロジェクト内でKotlinを有効にしたい場合は、以下のようにします。

  1. 上記の最後のステップから続けて、次のコードをプロジェクト・レベルに追加します。 build.gradle (追加する行は >>> ):

    buildscript {
        >>> ext.kotlin_version = '1.2.51'
        repositories {
            google()
            jcenter()
        }
        dependencies {
            classpath 'com.android.tools.build:gradle:3.1.3'
            >>> classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    
            // NOTE: Do not place your application dependencies here; they belong
            // in the individual module build.gradle files
        }
    }
    ...
    
    
  2. 次のコードをモジュールレベルに追加してください。 build.gradle (追加する行は >>> ):

    apply plugin: 'java-library'
    >>> apply plugin: 'kotlin'
    
    dependencies {
        implementation fileTree(dir: 'libs', include: ['*.jar'])
        >>> implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
        >>> runtimeClasspath files(compileKotlin.destinationDir)
    }
    ...
    
    
  3. ボーナスステップ。メイン関数をKotlinに変換してください メインクラスを次のように変更するだけです。

    object Main {
        ...
        @JvmStatic
        fun main(args: Array<String>) {
            // do something
        }
        ...
    }