Android Studioを使用して標準のJavaプロジェクトを実行できますか?


331

Javaを分離して簡単なテストを行う必要がある場合。

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


2
AndroidスタジオはintelliJに基づいています。確かに、「標準」のJavaコードを確実に実行できます。しかし、なぜそれが必要なのですか?
Blackbelt 2013年

1
@vmironov私はあなたに同意します。
Blackbelt 2013年

@vmironovそれは本質的に彼らがやっていることです。Android機能はIntelliJプラグインであり、Android Studio用にパッケージ化されています。私は特にAndroid Studioを使用していませんが、しばらくIntelliJを使用しており、その中で標準のJavaプロジェクトを実行しても問題はありません。
Kevin Coppock 2013年

4
@kcoppock、そうですが、このプラグインは「通常の」IntelliJ IDEAに追加できません(私はUltimateバージョンを購入しており、コミュニティエディションに切り替えたくありません)。良いニュースは、JetBrainsがIntellij IDEA 13
Vladimir Mironov

1
これをGradleで動作させる簡単な方法はまだありますか?実行時にgradleライブラリが表示されないため、クラッシュし続けます。
カテドラルピロン

回答:


347

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
        }
        ...
    }
    

2
これがAndroid Studio 0.8.14で動作することを確認できます。基本的なHello Worldプロジェクトを使用し、メインメソッドを含むカスタムクラスを追加しました。MainActivity.javaファイルを削除しました。ステップ2で、「その他のモジュール」ペイン(「新規モジュールの作成」ウィンドウの左下)を表示し、下にスクロールしてJavaライブラリー項目を見つける必要がありました。ステップ6で、アプリケーションに名前を付け、メインクラスとしてCustomを選択し、モジュールのクラスパスにappを選択しました。注:@simonpのソリューションに従ってアプリモジュールを削除すると、アプリケーションは実行されますが、エラーが発生します。
James Newton

ステップ2の後に別のステップが必要です。クラスにコードを追加するか、少なくともHello-Worldコードにします。docs.oracle.com
android developer

3
しかし、どうすればデスクトッププロジェクトを.jarファイルにエクスポートできますか?そのオプションはどこにも見つかりません:/
Chris

1
2.2.2で動作します!:)
Pavel Biryukov

1
うまくいきました!Android Studio 3.1.4を使用しました。共有してくれてありがとう!
Birender Singh 2018

27

編集:この質問が尋ねられた後の多くの月、はい、今あなたは明らかにそうすることができます。

いいえ、ただしIntellij IDEAに基づいています。

コミュニティバージョンは無料でダウンロードできますが、外部データベースやアプリケーションサーバーを必要とするほとんどの機能はサポートしていません。Javaのコードは、JavaSEコードがコミュニティを楽しく使用できることを意味します。

それが必要な場合(またはJavaEEを使用している場合)、無料ではないUltimateバージョン、または次のバージョンのEAPが必要です。次のバージョンは、リリースされるまで1か月間は通常有効です。

基本的にはこのように機能します

Android Studioは、IDEA 13コミュニティのAndroidスタッフだけのAndroidです...

...これは無料で、IDEA 13 Ultimateからのものです...

...データベースやアプリサーバーは必要ありません。

http://www.jetbrains.com/idea/

IDEA 12コミュニティには、段階化されたプロジェクトをインポートする機能がありません。そのため、現在はAndroid開発を行うことができますが(私はそうです)、Android Studioと同じ機能を備えているとは期待しないでください。その中にはたくさんの良い新しいAndroidのものがあり、13に入っています。


3
お力になれて、嬉しいです!私は個人的にIDEAが好きで、Eclipseが嫌いです。Android Studioに移行するすべてのユーザーとの互換性が明らかに必要になるため、これはEAPを使用するのが初めてです。
JoeHz 2013年

AS 0.5.8以降、これは正しくありません。ASで標準のJava SEコードを確実に実行できます。少なくとも、Swingプロジェクトのインポート、開発、実行は成功しています。残念ながら、これを書いている時点では「通常の」Javaプロジェクトを作成することはできません。少なくとも私が知っていることはそうではありません。
Code-Apprentice

3
0.6.1以降では可能です。以下の私の答えを参照してください。
simonp 2014年

5
この回答は正しくないため、削除/編集してください。Android StudioはJavaモジュールを構築し、ローカルJREで実行できるようになりました。
Navin 2015年

だから、AndroidのものにはAndroid-Studioを使用し、Javaとその他の部分にはIntelliJを使用する方が良いでしょうか。IntelliJでのSWTサポートについてはどうですか?あなたはそれのための素晴らしいUIデザイナーを知っていますか?主にUIのプレビューに必要です。
Android開発者

18

Android StudioでJavaプログラムを実行する簡単な方法は、

1)"Test.java"Android StudioでJavaクラスを作成します。

2)Hello Worldテストするプログラムなどのコードを記述します。

3)Javaクラスを右クリックして、オプション「Run 'Test.main()'」を選択するか、Cntrl + Shift + F10を押します。

ここでJavaコードが実行されています。


1
これはうまくいきました-ありがとう!私の場合、最初にこれを実行しようとしたときに、gradleビルドがクラッシュする問題がありました。だから私はそうしAndroid Studio > File > Invalidate Caches / Restart、問題は解決しました
Gene Bo

1
@Shrutiアプリの実行からtest.javaの実行に切り替えた後、最初のコンパイルにはしばらく時間がかかります。それが作成する実行可能ファイルがAPKサイズに追加されるかどうか知っていますか?
Patrick

17

Android Studio 0.6.1以降(およびおそらくそれ以前)では、標準のJava(Android以外)アプリを簡単に開発できます。

このメソッドは0.8.2でテストされています。

まず、[ファイル]> [新しいプロジェクト]を使用して、標準的なAndroid Phoneアプリを作成します。次に、Javaアプリケーションコードを保持するJavaライブラリモジュールを追加します。(アプリケーションを構築している場合でも、「Javaライブラリ」を選択してください)。main()メソッド、Swingアプリなどを使用してJavaアプリを構築および実行できることがわかります。

使用していない、自動生成されたAndroid「アプリ」モジュールを削除する必要があります。[ファイル]-> [プロジェクト構造]に移動して削除します(左側のボックスで「アプリ」モジュールを選択し、ボックスの上にある[マイナス]アイコンをクリックします)。ここで、[ファイル]-> [プロジェクトの構造]-> [プロジェクト]を再度開くと、プロジェクトのSDKと言語レベルを選択するためのオプションに加えて、以前は非表示になっていた他の多くのオプションが表示されます。先に進んで、ディスクから「app」モジュールを削除できます。

0.6.1では、最初にandroidモジュールを作成しないようにすることができます。

[ファイル]> [新しいプロジェクト]に移動します。アプリケーション名を入力します。「フォームファクター」の選択ページで、最小限のAndroid SDKを記述し、[モバイル]チェックボックスをオフにして、プロジェクトの作成に進みます。

プロジェクトが作成されたら、[ファイル]-> [プロジェクト構造]-> [プロジェクト]に移動し、JDKを「プロジェクトSDK」として設定します。上記のようにアプリケーションコードを保持するJavaライブラリモジュールを追加します。


ビルドはどこにありますか?Build-> Make ProjectまたはBuild-> Compile 'PureJava.java'をクリックすると、Android Studioに「コンパイルが正常に完了しました」と表示されます。しかし、ビルドファイルが見つかりません。アプリモジュールとアプリフォルダーを削除しました。
AndiPower 2014

1
これらのプロジェクトをデバッグできましたか?
MLProgrammer-CiM 2014

@ MLProgrammer-CiMはい、可能です。デバッグ中にIDEが「インデックスの更新」フェーズのある時点で停止し、何が原因なのかわからず、キャッシュをクリーンアップして再起動しようとしたことがあります。
Shujito 2017年

14

セットアップは次のようになります。

ここに画像の説明を入力してください

構成の編集> '+'>アプリケーション: ここに画像の説明を入力してください


こんにちはアダム、それがまだ機能するかどうかわかりますか?そして、なぜこのアプリケーションにgradleが必要なのでしょうか?プロジェクトをさらにクリーンアップして、最小限のファイルだけが存在するようにできますか?
Harsha

こんにちは@ Harsha、2016年に実験としてこれを実装しました。バックエンドKotlin / JavaアプリケーションにスタンドアロンのIntelliJを使用しているため、最近これを実装しませんでした。更新された調査結果でコメント/投稿を自由に更新してください。
Adam Hurwitz

5

私はこれに対するややハックで、迷惑で、完全に動作するわけではないソリューションを見つけました。他の人が役に立ったと思って共有したかったのですが。

Android Studioでは、mainメソッドを含むクラスを右クリックして、「Run .main()」を選択できます。これにより、YourClassの新しい実行構成が作成されますが、機能しません。一部のクラスパスエントリが欠落しています。

不足しているクラスパスエントリを修正するには、プロジェクト構造に移動し、次のように、モジュールの出力フォルダーの場所と、必要なその他のモジュールの依存関係を手動で追加します。

  • ファイル->プロジェクトの構造...
  • 左の列のパネルのプロジェクト設定パネルで「モジュール」を選択します
  • 中央の列のパネルにあるモジュールのリストからモジュールを選択します
  • 右列パネルの「依存関係」タブを選択します

次に、Javaアプリケーションが存在するモジュールと、必要な各モジュールの依存関係について:-右列のパネルの右端にある[+]-> [Jarsまたはディレクトリ]をクリックします-出力に移動しますモジュールのフォルダ(例:my_module / build / classes / main / java)をクリックして[OK]をクリックします-依存関係リストの新しいエントリで、右端の選択ボックスを[コンパイル]から[ランタイム]に変更します

この後、単純なJavaアプリケーションを実行するために作成した実行構成を実行できるはずです。

注意すべきことの1つは、特定の[かなり関与している] Android Studioプロジェクトのセットアップでは、実行する前に、Android Studioの外部からGradleを使用してプロジェクトを手動でビルドし、簡単なJavaアプリケーションクラスをビルドする必要があることです。アプリケーション-これは、タイプ「アプリケーション」の実行構成が対応するGradleビルドをトリガーしていないためだと思います。

最後に、これはAndroid Studio 0.4.0で行われました。

他の人に役立つと思います。また、Googleがこの機能をすぐにサポートできるようになることを願っています。


1
I have to manually build the project with gradle, from outside Android Studioどうやってやるの?
カテドラルピロン

3

IntelliJ IDEAコミュニティバージョンをhttp://www.jetbrains.com/idea/download/からインストールしました

Androidスタジオで開始したプロジェクトを開こうとしましたが、gradleビルドで失敗しました。代わりに、android studioとintellijの両方を同時に開き、1つの画面を隣に配置し、Javaファイル、xmlレイアウト、ドローアブル、マニフェストをIntelliJで開始した新しいプロジェクトの階層にドラッグアンドドロップしました。Gradleビルドの問題を回避し、IntelliJで新しいプロジェクトを開始して、Androidアプリまたは基本的なJavaアプリを設計できます。ありがたいことに、私は自分のPCに非常に多くのIDEがあるのが嫌だったので、これはうまくいきました。


3

私は次の手順を使用してそれを行うことができました:

  1. Android Studioを開き、「プロジェクトのインポート」を選択します。
    Android Studioがプロジェクトをインポートする

  2. 参照ウィンドウでプロジェクトフォルダを参照して選択します。


0

Android Studio 0.8.14でテスト済み:
次のように、最小限の手順で標準プロジェクトを実行できました。

  • 開いているAndroid Studioプロジェクトで、[ファイル]> [新しいモジュール]をクリックします。
  • [その他のモジュール]> [Javaライブラリ]> [次へ]をクリックし、名前に好きなように入力します。
  • 新しいモジュールは、プロジェクト構造の「app」フォルダーと同じレベルのフォルダーとして表示されます。それを開き、新しいJavaクラスファイルを開きます。

    次に、コードを追加し、[ビルド]> ['YourClassName'を実行]を選択します。プレスト、あなたのコードはAndroidデバイスなしで実行されています!


  • この答えはどう@idunnololzですか?あなたは追加のステップなしでgradleで動作しますか?
    2015

    0

    File> Open ...を実行し、pom.xmlファイルを選択すると完璧に機能します。すべてのファイルを表示するには、サイドバーの左上にある「Android」というドロップダウンを「プロジェクト」に変更してください。また、あなたのpom.xmlファイルのフォルダーが「app /」というフォルダーにあると役立つと思います。

    免責事項:私のJavaプロジェクトはGoogle App Engineによって生成されました。


    依存関係をpomに移動する必要がありますか、それともGradleのものを表示しますか?
    カテドラルピロン

    0

    これを行う最も簡単な方法を見つけるために1日を費やしました。目的は、この目標を達成するための最速の方法を見つけることでした。端末からjavacコマンドを実行したり、netbeansや崇高なテキスト3からコンパイルしたりするほど速くすることはできませんでしたが、それでもandroid studioで十分な速度が得られました。

    これは荒々しく見えますが、私たちは毎日のようにプロジェクトを開始しないので、私はこれを行っても大丈夫です。

    IntelliJ IDEAコミュニティバージョンをダウンロードして、単純なJavaプロジェクトを作成しました。メインクラスを追加して、実行をテストしました。次に、IntelliJ IDEAを閉じてAndroid Studioを開き、そこで同じプロジェクトを開きました。次に、利用可能なJDKのリストを表示することでIDEが助けてくれたJDKを単に接続する必要があり、1.8を選択すると、うまくコンパイルされました。これで任意のメインファイルを開き、Ctrl + Shift + Rキーを押してそのメインファイルを実行できます。

    次に、Mac OS FinderですべてのJavaファイルをsrcフォルダーにコピーしました。そして、私は好きなものをコンパイルすることができます。

    GradleやAndroidに関連するものは何もなく、コンパイル速度はかなり良いです。

    おかげで仲間


    0

    AndroidでJavaファイルを実行するには、クラスにmainメソッドがあることを確認してください。Android Studio 3.5では、ファイル内を右クリックして[Run 'Filename.main()']を選択するか、メニューの[Run]をクリックして、表示されるドロップダウンメニューから[Run Filename]を選択します。

    弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
    Licensed under cc by-sa 3.0 with attribution required.