Bisakah Android Studio digunakan untuk menjalankan proyek Java standar?

331

Untuk saat-saat ketika Anda ingin mengisolasi Jawa dan berikan tes cepat ..

Bisakah Anda menjalankan proyek Java non-Android di studio Android seperti di Eclipse?

mgibson
sumber
2
Studio Android didasarkan pada intelliJ. Jadi yakin, itu pasti bisa menjalankan kode java "standar". Tetapi mengapa Anda membutuhkannya?
Blackbelt
1
@vmironov saya setuju dengan Anda.
Blackbelt
@vmironov Pada dasarnya itulah yang mereka lakukan. Fitur Android adalah plugin IntelliJ, mereka hanya mengemasnya bersama untuk Android Studio. Saya belum pernah menggunakan Android Studio secara khusus, tetapi saya sudah menggunakan IntelliJ untuk sementara waktu, dan Anda seharusnya tidak memiliki masalah menjalankan proyek Java standar di dalamnya.
Kevin Coppock
4
@kcoppock, ya, tetapi plugin ini tidak dapat ditambahkan ke IDEA IntelliJ "biasa" (Saya memiliki versi Ultimate yang dibeli dan saya tidak ingin kembali ke edisi Komunitas). Berita baiknya adalah bahwa JetBrains telah mengumumkan bahwa ada kemungkinan untuk memiliki fitur Android Studio di Intellij IDEA 13
Vladimir Mironov
1
Apakah ada cara sederhana untuk membuatnya bekerja dengan Gradle? Saya terus crash karena tidak dapat melihat perpustakaan gradle saya saat runtime.
Katedral Pillon

Jawaban:

347

Diuji pada Android Studio 0.8.6 - 3.5

Menggunakan metode ini Anda dapat memiliki modul Java dan modul Android dalam proyek yang sama dan juga memiliki kemampuan untuk mengkompilasi dan menjalankan modul Java sebagai proyek Java yang berdiri sendiri.

  1. Buka proyek Android Anda di Android Studio. Jika Anda tidak memilikinya, buat satu.
  2. Klik File> Modul Baru . Pilih Java Library dan klik Next .
  3. Isi nama paket, dll dan klik Finish . Sekarang Anda akan melihat modul Java di dalam proyek Android Anda.
  4. Tambahkan kode Anda ke modul Java yang baru saja Anda buat.
  5. Klik pada drop down di sebelah kiri tombol run. Klik Edit Konfigurasi ...
  6. Di jendela baru, klik tanda plus di kiri atas jendela dan pilih Aplikasi
  7. Konfigurasi aplikasi baru akan muncul, masukkan rincian seperti kelas utama Anda dan classpath modul Anda.
  8. Klik OK .

Sekarang jika Anda mengklik jalankan, ini harus mengkompilasi dan menjalankan modul Java Anda.

Jika Anda mendapatkan kesalahan Error: Could not find or load main class..., cukup masukkan kelas utama Anda (seperti yang telah Anda lakukan pada langkah 7) bahkan jika bidang sudah diisi. Klik Terapkan dan kemudian klik Ok .

Kasing penggunaan saya: Aplikasi Android saya bergantung pada beberapa file yang dikomputasi untuk berfungsi. File-file prekomputasi ini dihasilkan oleh beberapa kode Java. Karena kedua hal ini berjalan beriringan, masuk akal untuk memiliki kedua modul ini dalam proyek yang sama.

BARU - Cara mengaktifkan Kotlin dalam proyek mandiri Anda

Jika Anda ingin mengaktifkan Kotlin di dalam proyek mandiri Anda, lakukan hal berikut.

  1. Melanjutkan dari langkah terakhir di atas, tambahkan kode berikut ke tingkat proyek Anda build.gradle(baris yang ditambahkan ditandai dengan >>> ):

    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. Tambahkan kode berikut ke level modul Anda build.gradle(baris yang ditambahkan ditandai dengan >>> ):

    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. Langkah bonus: Konversi fungsi utama Anda ke Kotlin! Cukup ubah kelas utama Anda ke:

    object Main {
        ...
        @JvmStatic
        fun main(args: Array<String>) {
            // do something
        }
        ...
    }
    
idunnololz
sumber
2
Saya dapat mengkonfirmasi ini berfungsi di Android Studio 0.8.14. Saya menggunakan proyek Hello World dasar, dan menambahkan kelas khusus yang berisi metode utama. Saya menghapus file MainActivity.java. Pada langkah 2, saya perlu membuka panel Modul Lainnya (kiri bawah jendela Create New Module) dan gulir ke bawah untuk menemukan item Perpustakaan Java. Pada langkah 6, saya menamai aplikasi saya, memilih Custom sebagai kelas utama saya, dan aplikasi untuk classpath modul. CATATAN: Jika Anda menghapus modul aplikasi, sesuai solusi @ simonp, aplikasi Anda akan berjalan, tetapi dengan kesalahan.
James Newton
Seharusnya ada langkah lain setelah langkah 2: tambahkan kode ke kelas, atau setidaknya buat kode Hello-World: docs.oracle.com/javase/tutorial/getStarted/application
developer android
3
Tetapi bagaimana saya bisa mengekspor proyek desktop ke file .jar? Saya tidak dapat menemukan opsi itu di mana pun: /
Chris
1
Bekerja di 2.2.2! :)
Pavel Biryukov
1
bekerja dengan baik! Saya menggunakan Android Studio 3.1.4. Terima kasih telah berbagi !
Birender Singh
27

EDIT: banyak bulan setelah pertanyaan ini diajukan, ya, sekarang ternyata Anda bisa.

Tidak, tapi ini berdasarkan Intellij IDEA.

Versi komunitas itu gratis untuk diunduh tetapi tidak mendukung sebagian besar hal yang membutuhkan database eksternal atau server aplikasi. Baris untuk Java cukup banyak sehingga kode JavaSE dapat dengan senang hati menggunakan Komunitas.

Jika Anda menginginkannya (atau menggunakan JavaEE) maka Anda memerlukan versi Ultimate, yang tidak gratis, atau EAP dari versi berikutnya yang biasanya baik untuk sebulan hingga dirilis.

Pada dasarnya ini bekerja seperti ini

Android Studio hanyalah Android, Benda Android dari Komunitas IDEA 13 ...

... yang akan gratis, dan apa pun dari IDEA 13 Ultimate ...

... yang tidak memerlukan database atau server aplikasi.

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

Komunitas IDEA 12 tidak memiliki kemampuan untuk mengimpor proyek bertahap dan itu tidak akan, jadi sementara Anda dapat melakukan pengembangan Android di dalamnya sekarang (saya lakukan), jangan berharap untuk memiliki fitur yang sama dengan Android Studio. Ada banyak hal baru Android yang bagus di dalamnya, itu masuk ke 13.

JoeHz
sumber
3
Saya senang bisa membantu! Saya pribadi suka IDEA dan benci Eclipse. Ini adalah pertama kalinya saya bermain dengan EAP karena saya jelas akan membutuhkan kompatibilitas dengan semua orang yang bermigrasi ke Android Studio.
JoeHz
Pada AS 0.5.8, ini tidak lagi benar. Anda pasti dapat menjalankan kode Java SE standar di AS. Paling tidak saya berhasil mengimpor proyek Swing, mengembangkan, dan menjalankannya. Sayangnya, Anda tidak dapat membuat proyek Java "biasa" pada tulisan ini, setidaknya tidak saya tahu.
Code-Apprentice
3
Pada 0.6.1 Anda bisa. Lihat jawaban saya di bawah ini.
simonp
5
Harap hapus / edit jawaban ini karena tidak lagi benar. Android Studio sekarang dapat membangun modul Java dan menjalankannya di JRE lokal.
Navin
Jadi lebih baik menggunakan Android-Studio untuk hal-hal android, dan IntelliJ untuk Java dan lainnya? Bagaimana dengan dukungan SWT di IntelliJ? Apakah Anda tahu perancang UI yang bagus untuk itu? Saya membutuhkannya terutama untuk pratinjau UI.
pengembang android
18

Cara mudah untuk menjalankan program java di Android Studio adalah,

1) Buat Kelas java katakan "Test.java"di Android Studio.

2) Tulis kode Anda, mis. Hello WorldProgram untuk diuji.

3) Klik kanan pada kelas Java dan pilih opsi "Jalankan 'Test.main ()'" atau tekan Cntrl + Shift + F10.

Di sana Anda menjalankan kode Java di bawah.

Shruti Dasgopal
sumber
1
Ini berhasil - terima kasih! Dalam kasus saya, saya mengalami masalah dengan gradle build crashing, ketika pertama kali mencoba menjalankan ini. Jadi saya melakukan Android Studio > File > Invalidate Caches / Restartdan kemudian masalah terselesaikan
Gene Bo
1
@ Shruti Diperlukan beberapa saat untuk mengkompilasi pertama kali setelah beralih dari menjalankan aplikasi ke menjalankan test.java. Apakah Anda tahu jika file executable itu ditambahkan ke ukuran APK sama sekali?
Patrick
17

Dengan Android Studio 0.6.1+ (dan mungkin sebelumnya), Anda dapat dengan mudah mengembangkan aplikasi standar Java (non-Android).

Metode ini telah diuji pada 0.8.2:

Mulai dengan membuat aplikasi Ponsel Android vanilla, menggunakan File> New Project. Kemudian tambahkan modul Java Library untuk menyimpan kode Java Application Anda. (Pilih 'Perpustakaan Java' bahkan jika Anda sedang membangun aplikasi). Anda akan menemukan bahwa Anda dapat membangun dan menjalankan aplikasi Java dengan main()metode, aplikasi Swing, dll.

Anda ingin menghapus modul "aplikasi" Android yang dibuat secara otomatis, yang tidak Anda gunakan. Buka File -> Struktur Proyek, dan hapus (pilih modul "aplikasi" di kotak di sebelah kiri, dan klik ikon 'minus' di atas kotak). Sekarang ketika Anda membuka kembali File -> Struktur Proyek -> Proyek, Anda akan melihat opsi untuk memilih SDK proyek dan tingkat bahasa, ditambah banyak opsi lain yang sebelumnya disembunyikan. Anda dapat melanjutkan dan menghapus modul "aplikasi" dari disk.

Di 0.6.1 Anda bisa menghindari membuat modul android di tempat pertama:

Buka File> Proyek Baru. Isi nama aplikasi Anda. Pada halaman pilihan "faktor bentuk", tempat Anda menyatakan SDK Android minimum Anda, hapus centang pada kotak centang Seluler, dan lanjutkan dengan membuat proyek Anda.

Setelah proyek dibuat, buka File -> Struktur Proyek -> Proyek, dan atur JDK Anda sebagai "Project SDK". Tambahkan modul Java Library untuk menyimpan kode aplikasi Anda seperti di atas.

simonp
sumber
Di mana saya dapat menemukan bangunan itu? Jika saya klik Build-> Make Project or Build-> Compile 'studio android PureJava.java' mengatakan "Kompilasi berhasil diselesaikan". Tetapi saya tidak dapat menemukan file build apa pun. Saya menghapus modul aplikasi serta folder aplikasi.
AndiPower
1
Apakah Anda dapat men-debug proyek-proyek itu?
MLProgrammer-CiM
@ MLProgrammer-CiM ya itu mungkin. Itu terjadi pada saya bahwa ketika debugging, IDE berhenti di beberapa titik dalam fase "memperbarui indeks", saya tidak tahu apa yang menyebabkannya, saya sudah mencoba membersihkan cache dan memulai kembali.
Shujito
14

Beginilah persis tampilannya.

masukkan deskripsi gambar di sini

Edit Konfigurasi> '+'> Aplikasi: masukkan deskripsi gambar di sini

Adam Hurwitz
sumber
HI Adam, bisakah saya tahu jika masih berfungsi? Dan mengapa kita perlu gradle untuk aplikasi ini? Bisakah proyek dibersihkan lebih lanjut sehingga hanya file minimum yang ada?
Harsha
Hai @Harsha, saya menerapkan ini sebagai percobaan pada 2016. Saya belum mengimplementasikan ini baru-baru ini karena saya menggunakan IntelliJ mandiri untuk aplikasi Kotlin / Java backend. Jangan ragu untuk memperbarui komentar / posting dengan temuan Anda yang diperbarui.
Adam Hurwitz
5

Saya menemukan solusi yang agak rumit, menjengkelkan, dan tidak-sepenuhnya-pasti-selalu-berfungsi untuk ini. Saya ingin berbagi kalau-kalau ada orang lain yang berguna.

Di Android Studio, Anda dapat mengklik kanan kelas dengan metode utama dan pilih "Run .main ()". Ini akan membuat konfigurasi Run baru untuk YourClass, meskipun itu tidak akan berfungsi: akan kehilangan beberapa entri classpath.

Untuk memperbaiki entri classpath yang hilang, masuk ke Struktur Proyek dan secara manual menambahkan lokasi folder output untuk modul Anda dan setiap dependensi modul lain yang Anda butuhkan, seperti:

  • File -> Struktur Proyek ...
  • Pilih "Modul" di panel Pengaturan Proyek di panel kolom kiri
  • Pilih modul Anda pada daftar modul di panel kolom tengah
  • Pilih tab "Dependency" pada panel kolom kanan

Dan kemudian untuk modul di mana Anda memiliki aplikasi Java Anda dan juga untuk setiap dependensi modul yang Anda butuhkan: - Klik "+" -> "Jars atau direktori" di ujung kanan panel kolom kanan - Navigasi ke output folder modul (misalnya: my_module / build / classes / main / java) dan klik "OK" - Pada entri baru ke daftar Dependensi, di paling kanan, ubah kotak pilih dari "Kompilasi" ke "Runtime"

Setelah ini, Anda harus dapat menjalankan konfigurasi Run yang baru saja Anda buat untuk menjalankan aplikasi Java sederhana.

Satu hal yang perlu diperhatikan adalah bahwa, untuk pengaturan proyek Android Studio [saya yang cukup terlibat], saya harus secara manual membangun proyek dengan gradle, dari luar Android Studio untuk mendapatkan kelas Java Application sederhana untuk dibangun, sebelum saya menjalankan aplikasi - Saya pikir ini karena konfigurasi Run dari tipe "Aplikasi" tidak memicu pembangunan Gradle yang sesuai.

Akhirnya, ini dilakukan di Android Studio 0.4.0.

Saya harap orang lain merasakan manfaatnya. Saya juga berharap Google segera mendukung fungsi ini.

Julian Cerruti
sumber
1
I have to manually build the project with gradle, from outside Android StudioBagaimana kamu melakukannya?
Katedral Pillon
3

Saya menginstal versi komunitas IntelliJ IDEA dari http://www.jetbrains.com/idea/download/

Saya mencoba membuka proyek yang saya mulai di Android studio tetapi gagal ketika di gradle build. Saya malah membuka kedua studio android dan intellij pada waktu yang sama dan menempatkan satu layar di sebelah yang lain dan cukup drag dan drop file java saya, layout xml, drawables, dan manifes ke dalam proyek pencarian proyek baru yang dimulai di IntelliJ. Ini bekerja di sekitar masalah membangun gradle dan sekarang saya dapat memulai proyek baru di IntelliJ dan merancang baik aplikasi android atau aplikasi Java dasar. Untungnya ini berhasil karena saya benci memiliki begitu banyak IDE di komputer saya.

cjayem13
sumber
3

Saya sudah bisa melakukannya menggunakan langkah-langkah berikut:

  1. Buka Android Studio dan pilih 'Impor Proyek'.
    Android Studio mengimpor proyek

  2. Telusuri ke folder proyek Anda di jendela browse dan pilih.

Loveleen Saini
sumber
0

Diuji di Android Studio 0.8.14:
Saya bisa menjalankan proyek standar dengan langkah minimal dengan cara ini:

  • Dalam proyek Android Studio terbuka, klik File> Modul Baru.
  • Klik Modul Lainnya> Perpustakaan Jawa> Selanjutnya, lalu isi apa pun yang Anda inginkan untuk nama-nama tersebut.
  • Modul baru akan muncul sebagai folder pada level yang sama dengan folder "aplikasi" Anda di Struktur Proyek. Buka dan buka file kelas Java baru.

    Anda kemudian dapat menambahkan kode Anda, dan pilih Build> Run 'YourClassName'. Presto, kode Anda berjalan tanpa perangkat Android!

  • John
    sumber
    Bagaimana jawaban ini berbeda dari itu @idunnololz? Apakah Anda bekerja dengan gradle tanpa langkah tambahan?
    Katedral Pillon
    0

    Ini berfungsi sempurna jika Anda melakukan File> Open ... dan kemudian pilih file pom.xml. Pastikan untuk mengubah dropdown di kiri atas bilah samping yang bertuliskan "Android" menjadi "Project" untuk melihat semua file Anda. Juga saya pikir itu membantu jika folder file pom.xml Anda ada di folder yang disebut "app /".

    Penafian: Proyek java saya dibuat oleh Google App Engine.

    Jacob Ferrero
    sumber
    apakah Anda harus memindahkan dependensi Anda ke pom atau akan melihat barang gradle?
    Katedral Pillon
    0

    Habiskan sehari untuk menemukan cara termudah untuk melakukan ini. Tujuannya adalah untuk menemukan cara tercepat untuk mencapai tujuan ini. Saya tidak bisa membuatnya secepat menjalankan perintah javac dari terminal atau mengkompilasi dari netbeans atau teks luhur 3. Tapi masih mendapat kecepatan yang baik dengan android studio.

    Ini terlihat ruff and tuff way tetapi karena kami tidak memulai proyek pada basis harian itulah sebabnya saya boleh melakukan ini.

    Saya mengunduh versi komunitas IntelliJ IDEA dan membuat proyek java sederhana. Saya menambahkan kelas utama dan menguji lari. Kemudian cukup tutup IntelliJ IDEA dan buka Android Studio dan buka proyek yang sama di sana. Kemudian saya harus cukup memasang JDK di mana IDE membantu saya dengan menunjukkan daftar JDK yang tersedia dan saya memilih 1,8 dan kemudian dikompilasi dengan baik. Sekarang saya dapat membuka file utama dan tekan Control + Shift + R untuk menjalankan file utama itu.

    Kemudian saya menyalin semua file Java saya ke folder src oleh Mac OS Finder. Dan saya dapat mengkompilasi apapun yang saya inginkan.

    Tidak ada yang terkait dengan Gradle atau Android dan kecepatan kompilasi cukup bagus.

    Terima kasih sobat

    Asif Ashraf
    sumber
    0

    Untuk menjalankan file java di Android, pastikan kelas Anda memiliki metode utama. Di Android Studio 3.5 cukup klik kanan di dalam file dan pilih "Run 'Filename.main ()'" atau klik "Run" pada menu dan pilih "Run Filename" dari menu drop-down yang dihasilkan.

    Alabi
    sumber