Android Studio, standart Java projelerini çalıştırmak için kullanılabilir mi?


330

Java'yı izole etmek ve hızlı bir test yapmak istediğiniz zamanlar için.

Eclipse'deki gibi Android stüdyosunda Android olmayan Java projeleri çalıştırabilir misiniz?


2
Android stüdyosu intelliJ tabanlı. Kesinlikle, kesinlikle "standart" java kodu çalıştırmak mümkün. Ama neden buna ihtiyacın var?
Blackbelt

1
@vmironov Sana katılıyorum.
Blackbelt

@vmironov Aslında yaptıkları bu. Android özellikleri bir IntelliJ eklentisidir, sadece Android Studio için bir araya getirir. Özellikle Android Studio'yu kullanmadım, ancak bir süredir IntelliJ kullanıyorum ve içindeki standart Java projelerini çalıştırırken sorun yaşamamalısınız.
Kevin Coppock

4
@kcoppock, evet, ancak bu eklenti "olağan" IntelliJ IDEA'ya eklenemez (Satın alınan bir Ultimate sürümüm var ve gerçekten Topluluk sürümüne geri dönmek istemiyorum). İyi haber şu ki JetBrains, Android Studio'nun Intellij IDEA 13
Vladimir Mironov'daki

1
Bunun Gradle ile çalışmasını sağlamanın basit bir yolu var mı? Çökmeye devam ediyorum çünkü çalışma zamanında kütüphanelerimi göremiyor.
Katedral Pillon

Yanıtlar:


346

Android Studio'da test edildi 0.8.6 - 3.5

Bu yöntemi kullanarak aynı projede Java modülleri ve Android modülleri bulunabilir ve ayrıca Java modüllerini tek başına Java projeleri olarak derleme ve çalıştırma olanağına sahip olabilirsiniz.

  1. Android projenizi Android Studio'da açın. Eğer bir hesabınız yoksa, bir tane oluşturun.
  2. Dosya> Yeni Modül'ü tıklayın . Seçin Java Kütüphane ve tıklayın İleri .
  3. Paket adını vb . Doldurun ve Bitir'e tıklayın . Şimdi Android projenizin içinde bir Java modülü görmelisiniz.
  4. Kodunuzu yeni oluşturduğunuz Java modülüne ekleyin.
  5. Çalıştır düğmesinin sol tarafındaki açılır menüyü tıklayın. Yapılandırmaları Düzenle ... seçeneğini tıklayın .
  6. Yeni pencerede, pencerenin sol üst köşesindeki artı işaretini tıklayın ve Uygulama'yı seçin.
  7. Yeni bir uygulama yapılandırması görünmelidir, ana sınıfınız ve modülünüzün sınıf yolu gibi ayrıntıları girin.
  8. Tıklayın Tamam .

Şimdi çalıştır'ı tıklatırsanız, bu Java modülünüzü derlemeli ve çalıştırmalıdır.

Eğer hata alırsanız Error: Could not find or load main class..., sadece (7. adımda yaptığınız gibi). Alan zaten doldurulur tekrar olsa bile ana sınıf girmek tıklayın Uygula ve ardından Tamam'ı .

Kullanım durumum: Android uygulamam, çalışması için önceden hesaplanmış bazı dosyalara dayanıyor. Bu önceden hesaplanmış dosyalar bazı Java kodları tarafından oluşturulur. Bu iki şey el ele gittiğinden, bu modüllerin her ikisinin de aynı projede olması en mantıklıdır.

YENİ - Kotlin'i bağımsız projenizde nasıl etkinleştirirsiniz?

Tek başına projenizde Kotlin'i etkinleştirmek istiyorsanız, aşağıdakileri yapın.

  1. Yukarıdaki son adımdan devam ederek proje seviyenize aşağıdaki kodu build.gradleekleyin (eklenecek satırlar >>> ile gösterilir ):

    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. Modül seviyenize aşağıdaki kodu build.gradleekleyin (eklenecek satırlar >>> ile belirtilir ):

    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. Bonus adımı: Ana işlevinizi Kotlin'e dönüştürün! Ana sınıfınızı şu şekilde değiştirin:

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

2
Bunun Android Studio 0.8.14'te çalıştığını onaylayabilirim. Temel bir Hello World projesi kullandım ve ana yöntemi içeren bir Custom sınıfı ekledim. MainActivity.java dosyasını sildim. 2. adımda, Daha Fazla Modül bölmesini (Yeni Modül Oluştur penceresinin sol alt tarafında) açıklamam ve Java Kitaplığı öğesini bulmak için aşağı kaydırmam gerekiyordu. 6. adımda, uygulamamı adlandırdım, ana sınıfım olarak Özel'i ve modülün sınıf yolu için uygulamayı seçtim. NOT: @ simonp'nin çözümüne göre uygulama modülünü silerseniz, uygulamanız hata verir.
James Newton

2. adımdan sonra başka bir adım daha olmalıdır: sınıfa kod ekleyin veya en azından bir Hello-World kodu yapın: docs.oracle.com/javase/tutorial/getStarted/application
android geliştirici

3
Ancak bir masaüstü projesini bir .jar dosyasına nasıl aktarabilirim? Bu seçeneği hiçbir yerde bulamıyorum: /
Chris

1
2.2.2'de çalışıyor! :)
Pavel Biryukov

1
harika çalıştı! Android Studio 3.1.4 kullandım. Paylaşım için teşekkürler !
Birender Singh

27

EDIT: bu soru sorulduktan sonra birçok ay, evet, şimdi görünüşe göre yapabilirsiniz.

Hayır, ancak Intellij IDEA tabanlı.

Bunun topluluk sürümü indirmek için ücretsizdir, ancak harici bir veritabanı veya uygulama sunucusu gerektiren çoğu şeyi desteklemez. Java satırı, JavaSE kodunun Topluluk'u mutlu bir şekilde kullanabileceği şekildedir.

Bunu istiyorsanız (veya JavaEE kullanıyorsanız), ücretsiz olmayan Ultimate sürümüne veya başka bir sürümün yayınlanmasına kadar bir ay boyunca genellikle iyi olan bir sonraki sürümün EAP'sine ihtiyacınız vardır.

Temelde böyle çalışır

Android Studio sadece Android IDEA 13 Topluluğundan Android Şeyler ...

... ücretsiz olacak ve IDEA 13 Ultimate'dan bir şey ...

... veritabanı veya uygulama sunucusu gerektirmez.

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

IDEA 12 Topluluğu aşamalı projeyi içe aktarma yeteneğine sahip değildir ve olmayacaktır, bu yüzden şimdi Android geliştirmesini yapabilirken (yapıyorum), Android Studio ile aynı özelliklere sahip olmasını beklemeyin. İçinde çok sayıda yeni Android öğesi var, bu 13'e gidiyor.


3
Memnuniyetle yardım ettim! Şahsen IDEA'yı seviyorum ve Eclipse'den nefret ediyorum. EAP ile ilk kez oynadığım için, çünkü Android Studio'ya taşınan herkesle açıkça uyumluluğa ihtiyacım olacak.
JoeHz

AS 0.5.8 itibariyle, bu artık doğru değildir. AS'de standart Java SE kodunu kesinlikle çalıştırabilirsiniz. En azından bir Swing projesini içe aktarmada, geliştirmede ve yürütmede başarılı oldum. Ne yazık ki, en azından bildiğim kadarıyla, bu yazıdan itibaren "normal" bir Java projesi oluşturamazsınız.
Kod Çırağı

3
0.6.1'den itibaren yapabilirsiniz. Cevabımı aşağıda görebilirsiniz.
simonp

5
Lütfen artık doğru olmadığı için bu cevabı silin / düzenleyin. Android Studio artık Java modülleri oluşturabilir ve bunları yerel JRE'de çalıştırabilir.
Navin

Peki Android-Studio'yu android şeyler için ve IntelliJ for Java ve geri kalanı için kullanmak daha mı iyi? IntelliJ'de SWT desteği ne olacak? Bunun için güzel bir UI tasarımcısı biliyor musunuz? Daha çok kullanıcı arayüzünün önizlemesi için buna ihtiyacım var.
android geliştirici

18

Android Studio'da bir java programı çalıştırmanın kolay yolu,

1) "Test.java"Android Studio'da bir Java Sınıfı söz oluşturun .

2) Kodunuzu yazın, örneğin Hello Worldtest edilecek bir program.

3) Java sınıfına sağ tıklayın ve "Run 'Test.main ()'" seçeneğini seçin veya Cntrl + Shift + F10 tuşlarına basın.

İşte Java kodunuz aşağıda çalışıyor.


1
Bu işe yaradı - teşekkürler! Benim durumumda, ilk çalıştırmak için çalışırken, çakıl inşa çökme ile ilgili sorunlar yaşıyordu. Böylece yaptım Android Studio > File > Invalidate Caches / Restartve sonra sorun çözüldü
Gene Bo

1
@Shruti Uygulamayı testten test.java'ya geçtikten sonra ilk kez derlemek biraz zaman alır. Oluşturduğu yürütülebilir dosyanın APK boyutuna eklenip eklenmediğini biliyor musunuz?
Patrick

17

Android Studio 0.6.1+ (ve muhtemelen daha önce) ile standart Java (Android olmayan) uygulamaları kolayca geliştirebilirsiniz.

Bu yöntem 0.8.2'de test edilmiştir:

Dosya> Yeni Proje'yi kullanarak vanilyalı bir Android Telefon uygulaması oluşturarak başlayın. Ardından, Java Uygulama kodunuzu saklamak için bir Java Library modülü ekleyin. (Bir uygulama oluşturuyor olsanız bile 'Java Kütüphanesi'ni seçin). Java uygulamalarını main()yöntemlerle, Swing uygulamalarıyla vb. Oluşturabileceğinizi ve çalıştırabileceğinizi göreceksiniz .

Kullanmadığınız otomatik olarak oluşturulmuş Android "uygulama" modülünü silmek istersiniz. Dosya -> Proje Yapısı'na gidin ve silin (soldaki kutudan "uygulama" modülünü seçin ve kutunun üstündeki "eksi" simgesini tıklayın). Artık Dosya -> Proje Yapısı -> Proje'yi yeniden açtığınızda, proje SDK'sını ve dil seviyesini seçme seçeneklerini ve daha önce gizlenmiş olan diğer seçenekleri göreceksiniz. Devam edip "app" modülünü diskten silebilirsiniz.

0.6.1'de android modülünü ilk etapta oluşturmaktan kaçınabilirsiniz:

Dosya> Yeni Proje'ye gidin. Uygulama adınızı girin. Minimum Android SDK'nızı belirttiğiniz "form faktörleri" seçim sayfasında Mobil onay kutusunun işaretini kaldırın ve projenizi oluşturmaya devam edin.

Proje oluşturulduktan sonra Dosya -> Proje Yapısı -> Proje'ye gidin ve JDK'nızı "Proje SDK'sı" olarak ayarlayın. Uygulama kodunuzu yukarıdaki gibi tutmak için bir Java Library modülü ekleyin.


Yapıyı nerede bulabilirim? Build-> Project veya Build-> Derle'yi tıklarsam 'PureJava.java' android stüdyosu "Derleme başarıyla tamamlandı" der. Ama hiçbir yapı dosyası bulamıyorum. Uygulama modülünü ve uygulama klasörünü sildim.
AndiPower

1
Bu projelerde hata ayıklama yapabildiniz mi?
MLProgrammer-CiM

@ MLProgrammer-CiM evet mümkündür. Hata ayıklama sırasında, IDE'nin "güncelleme endeksleri" aşamasında bir noktada durduğu, neye neden olduğunu bilmiyorum, önbellekleri temizlemeyi ve yeniden başlatmayı denedim.
Shujito

14

İşte tam olarak kurulumun görünümü.

resim açıklamasını buraya girin

Yapılandırmaları Düzenle> '+'> Uygulama: resim açıklamasını buraya girin


Merhaba Adam, hala işe yarayıp yaramadığını öğrenebilir miyim? Ve bu uygulama için neden gradle'a ihtiyacımız var? Sadece daha az asıl dosya olması için proje daha fazla temizlenebilir mi?
Harsha

Merhaba @Harsha, bunu 2016 yılında bir deneme olarak uyguladım. Arka uç Kotlin / Java uygulamaları için bağımsız IntelliJ kullandığım için bunu yakın zamanda uygulamadım. Yorumları / yayını güncellemelerinizle güncellemekten çekinmeyin.
Adam Hurwitz

5

Biraz acayip, sinir bozucu ve her zaman emin olamayan bir çözüm buldum. Başka birinin yararlı bulması durumunda paylaşmak istedim.

Android Studio'da, bir ana yöntemle bir sınıfı sağ tıklayıp ".main () çalıştır" ı seçebilirsiniz. Bu, pek işe yaramasa da, Sınıfınız için yeni bir Çalıştırma yapılandırması oluşturur: bazı sınıf yolu girişleri eksik olacaktır.

Eksik sınıf yolu girişlerini düzeltmek için, Proje Yapısı'na gidin ve modülünüz ve ihtiyacınız olan diğer modül bağımlılıkları için çıktı klasörü konumunu el ile ekleyin:

  • Dosya -> Proje Yapısı ...
  • Sol sütun panelindeki Proje Ayarları panelinde "Modüller" i seçin
  • Orta sütun panelindeki modüller listesinden modülünüzü seçin
  • Sağ sütun panelindeki "Bağımlılıklar" sekmesini seçin

Ve sonra Java uygulamanızın bulunduğu modülün yanı sıra ihtiyacınız olan modül bağımlılıklarının her biri için: - Sağ sütun panelinin en sağındaki "+" -> "Kavanozlar veya dizinler" i tıklayın - Çıktıya gidin modülünü (örn: my_module / build / classes / main / java) tıklayın ve "Tamam" ı tıklayın - Bağımlılıklar listesine yeni girişte, en sağdaki seçim kutusunu "Derle" yerine "Çalışma Zamanı" olarak değiştirin

Bundan sonra, basit Java uygulamasını çalıştırmak için yeni oluşturduğunuz Çalıştır yapılandırmasını yürütebilmeniz gerekir.

Dikkat edilmesi gereken bir şey, belirli [oldukça ilgili] Android Studio proje kurulumum için, çalıştırmadan önce basit Java Uygulama sınıflarımın inşa edilmesini sağlamak için Android Studio'nun dışından projeyi elle derlemeyle oluşturmam gerektiğidir. uygulama - Ben bunun nedeni "Uygulama" türünü Çalıştır yapılandırma karşılık gelen Gradle yapı tetiklemiyor olduğunu düşünüyorum.

Son olarak, bu Android Studio 0.4.0'da yapıldı.

Umarım başkaları faydalı bulmaktadır. Umarım Google yakında bu işlevselliği desteklemeye gelir.


1
I have to manually build the project with gradle, from outside Android StudioBunu nasıl yaptın?
Katedral Pillon

3

Http://www.jetbrains.com/idea/download/ adresinden IntelliJ IDEA topluluk sürümünü yükledim

Android stüdyosunda başlattığım projemi açmaya çalıştım, ancak gradle derlemesinde başarısız oldu. Bunun yerine hem android stüdyosu hem de intellij'i aynı anda açtım ve bir ekranı diğerinin yanına yerleştirdim ve sadece java dosyalarımı, xml düzenlerimi, çekilebilirleri ve tezahürünü IntelliJ'de başlatılan yeni bir projenin proje araştırmasına sürükleyip bıraktım. Gradle derleme sorunları etrafında çalıştı ve şimdi IntelliJ'de yeni bir proje başlatabilir ve bir android uygulaması veya temel bir Java uygulaması tasarlayabilirim. Neyse ki bu benim pc çok IDE sahip nefret çünkü çalıştı.


3

Aşağıdaki adımları kullanarak bunu başardık:

  1. Android Studio'yu açın ve 'Projeyi İçe Aktar'ı seçin.
    Android Studio bir proje içe aktarma

  2. Gözat penceresindeki proje klasörünüze göz atın ve seçin.


0

Android Studio 0.8.14'te test edildi:
Bu şekilde minimum adımlarla çalışan standart bir proje elde edebildim:

  • Açık bir Android Studio projesinde Dosya> Yeni Modül'ü tıklayın.
  • Diğer Modüller> Java Kütüphanesi> İleri'yi tıklayın, ardından adlar için tercih ettiğiniz her şeyi doldurun.
  • Yeni bir modül Proje Yapısındaki "uygulama" klasörünüzle aynı düzeyde bir klasör olarak görünecektir. Açın ve yeni Java sınıfı dosyasını açın.

    Daha sonra kodunuzu ekleyebilir ve Oluştur> 'SınıfınızAdı'nı Çalıştır'ı seçebilirsiniz. Presto, kodunuz Android cihaz olmadan çalışıyor!


  • Bu yanıtın cevabı nasıl farklı @idunnololz? Sizinki herhangi bir ek adım olmadan kepçe ile çalışıyor mu?
    Katedral Pillon

    0

    Dosya> Aç ... yaparsanız ve pom.xml dosyasını seçerseniz mükemmel çalışır. Tüm dosyalarınızı görmek için kenar çubuğunun sol üst kısmındaki "Android" yazan açılır listeyi "Proje" olarak değiştirdiğinizden emin olun. Ayrıca pom.xml dosyanızın "app /" adlı bir klasördeyse yardımcı olacağını düşünüyorum.

    Yasal Uyarı: Java projem Google App Engine tarafından oluşturuldu.


    bağımlılıklarınızı pom'a taşımak zorunda mısınız yoksa gradle şeylerini görecek mi?
    Katedral Pillon

    0

    Bunu yapmanın en kolay yolunu bulmak için bir gün geçirdim. Amaç, bu hedefe ulaşmanın en hızlı yolunu bulmaktı. Terminalden javac komutunu çalıştırmak veya netbeans veya yüce metin 3'ten derlemek kadar hızlı yapamadım. Ama yine de android studio ile iyi bir hıza sahip oldum.

    Bu kaba ve tüf gibi görünüyor ama günlük bazda projeler başlatmadığımız için bu yüzden bunu yapmaya hazırım.

    IntelliJ IDEA topluluk sürümünü indirdim ve basit bir java projesi oluşturdum. Ana sınıfı ekledim ve bir koşuyu test ettim. Daha sonra IntelliJ IDEA'yı kapattı ve Android Studio'yu açtı ve aynı projeyi orada açtı. Sonra sadece JDE'yi eklemek zorundaydım, burada IDE kullanılabilir JDK'ların bir listesini göstererek bana yardımcı oldu ve 1.8'i seçtim ve iyi derledi. Artık herhangi bir ana dosyayı açabilir ve ana dosyayı çalıştırmak için Control + Shift + R tuşlarına basabilirim.

    Sonra tüm Java dosyalarımı Mac OS Finder tarafından src klasörüne kopyaladım. Ve istediğim her şeyi derleyebiliyorum.

    Gradle veya Android ile ilgili hiçbir şey yoktur ve derleme hızı oldukça iyidir.

    Teşekkürler arkadaşlar


    0

    Android'de bir java dosyası çalıştırmak için sınıfınızda ana yöntemin bulunduğundan emin olun. Android Studio 3.5'te dosyanın içine sağ tıklayın ve "Run 'Filename.main ()'" seçin ya da menüden "Run" a tıklayın ve ortaya çıkan açılır menüden "Run Filename" seçin.

    Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
    Licensed under cc by-sa 3.0 with attribution required.