Czy można używać Android Studio do uruchamiania standardowych projektów Java?


330

Na te czasy, gdy chcesz wyizolować Javę i dać jej szybki test ..

Czy możesz uruchamiać projekty Java inne niż Android w Android Studio jak w Eclipse?


2
Android studio opiera się na intelliJ. Więc na pewno jest w stanie uruchomić „standardowy” kod Java. Ale dlaczego go potrzebujesz?
Blackbelt

1
@vmironov Zgadzam się z tobą.
Blackbelt

@vmironov Zasadniczo to robią. Funkcje Androida to wtyczka IntelliJ, po prostu pakują ją razem dla Androida Studio. W szczególności nie korzystałem z Android Studio, ale od jakiegoś czasu korzystam z IntelliJ i nie powinieneś mieć problemu z uruchomieniem w nim standardowych projektów Java.
Kevin Coppock,

4
@kcoppock, tak, ale tej wtyczki nie można dodać do „zwykłej” IDEA IntelliJ (mam zakupioną wersję Ultimate i tak naprawdę nie chcę wracać do wersji Community). Dobrą wiadomością jest to, że JetBrains ogłosił, że będzie możliwe posiadanie funkcji Android Studio w Intellij IDEA 13
Vladimir Mironov

1
Czy jest jeszcze prosty sposób, aby sprawić, by działało to już z Gradle? Wciąż się zawieszam, ponieważ nie widać moich bibliotek stopni w czasie wykonywania.
Katedral Pillon

Odpowiedzi:


346

Testowane na Android Studio 0.8.6 - 3.5

Za pomocą tej metody możesz mieć moduły Java i moduły Android w tym samym projekcie, a także mieć możliwość kompilacji i uruchamiania modułów Java jako samodzielnych projektów Java.

  1. Otwórz projekt na Androida w Android Studio. Jeśli go nie masz, utwórz go.
  2. Kliknij Plik> Nowy moduł . Wybierz bibliotekę Java i kliknij przycisk Dalej .
  3. Wpisz nazwę paczki itp. I kliknij Zakończ . Powinieneś teraz zobaczyć moduł Java w swoim projekcie Androida.
  4. Dodaj swój kod do właśnie utworzonego modułu Java.
  5. Kliknij listę rozwijaną po lewej stronie przycisku uruchamiania. Kliknij Edytuj konfiguracje ...
  6. W nowym oknie kliknij znak plus w lewej górnej części okna i wybierz opcję Aplikacja
  7. Powinna pojawić się nowa konfiguracja aplikacji, wprowadź szczegółowe informacje, takie jak klasa główna i ścieżka klasy modułu.
  8. Kliknij OK .

Teraz, jeśli klikniesz Uruchom, powinno to skompilować i uruchomić moduł Java.

Jeśli pojawi się błąd Error: Could not find or load main class..., wprowadź ponownie swoją klasę główną (jak w kroku 7), nawet jeśli pole jest już wypełnione. Kliknij Zastosuj, a następnie OK .

Mój przypadek użycia: Moja aplikacja na Androida opiera się na niektórych wstępnie obliczonych plikach. Te wstępnie obliczone pliki są generowane przez jakiś kod Java. Ponieważ te dwie rzeczy idą w parze, najbardziej sensowne jest posiadanie obu tych modułów w tym samym projekcie.

NOWOŚĆ - Jak włączyć Kotlin w swoim samodzielnym projekcie

Jeśli chcesz włączyć Kotlin w swoim samodzielnym projekcie, wykonaj następujące czynności.

  1. Kontynuując od ostatniego kroku powyżej, dodaj następujący kod do poziomu projektu build.gradle(wiersze do dodania są oznaczone >>> ):

    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. Dodaj następujący kod do poziomu modułu build.gradle(wiersze do dodania są oznaczone >>> ):

    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. Dodatkowy krok: przekonwertuj swoją główną funkcję na Kotlin! Po prostu zmień swoją główną klasę na:

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

2
Mogę potwierdzić, że działa w Android Studio 0.8.14. Użyłem podstawowego projektu Hello World i dodałem klasę niestandardową zawierającą główną metodę. Usunąłem plik MainActivity.java. W kroku 2 musiałem wyświetlić panel Więcej modułów (lewy dolny róg okna Utwórz nowy moduł) i przewinąć w dół, aby znaleźć element biblioteki Java. W kroku 6 nazwałem moją aplikację, wybrałem Niestandardowy jako moją główną klasę i aplikację na ścieżkę klas modułu. UWAGA: Jeśli usuniesz moduł aplikacji, zgodnie z rozwiązaniem @ simonp, aplikacja będzie działać, ale z błędami.
James Newton,

Po kroku 2 powinien być jeszcze jeden krok: dodać kod do klasy lub przynajmniej uczynić go kodem Hello-World: docs.oracle.com/javase/tutorial/getStarted/application
programista Androida

3
Ale jak mogę wyeksportować projekt pulpitu do pliku .jar? Nigdzie nie mogę znaleźć tej opcji: /
Chris,

1
Działa w 2.2.2! :)
Pavel Biryukov

1
działało świetnie! Korzystałem z Androida Studio 3.1.4. Dzięki za udostępnienie!
Birender Singh

27

EDYCJA: wiele księżyców po zadaniu tego pytania, tak, teraz najwyraźniej możesz.

Nie, ale jest oparty na Intellij IDEA.

Wersja społecznościowa jest bezpłatna do pobrania, ale nie obsługuje większości rzeczy wymagających zewnętrznej bazy danych lub serwera aplikacji. Wiersz dla Javy jest mniej więcej tym, że kod JavaSE może z radością używać społeczności.

Jeśli chcesz (lub korzystasz z JavaEE), potrzebujesz albo wersji Ultimate, która nie jest darmowa, albo EAP następnej wersji, która zwykle jest dobra przez miesiąc, dopóki nie wydają kolejnej.

Zasadniczo działa tak

Android Studio to po prostu Android rzeczy z Androidem IDEA 13 Community ...

... który będzie darmowy i jest czymkolwiek z IDEA 13 Ultimate ...

... nie wymaga serwera bazy danych ani aplikacji.

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

Społeczność IDEA 12 nie ma możliwości zaimportowania sklasyfikowanego projektu i nie zrobi tego, więc chociaż możesz teraz w nim tworzyć Androida (ja tak), nie oczekuj, że będzie on miał takie same funkcje jak Android Studio. Jest w nim wiele dobrych nowych rzeczy na Androida, w tym 13.


3
Chętnie pomoże! Osobiście uwielbiam POMYSŁ i nienawidzę Eclipse. To pierwszy raz, kiedy zacząłem grać w EAP, ponieważ wyraźnie potrzebuję kompatybilności ze wszystkimi, którzy migrują do Android Studio.
JoeHz

Od wersji AS 0.5.8 nie jest to już poprawne. Zdecydowanie możesz uruchomić standardowy kod Java SE w AS. Przynajmniej mam sukces w zaimportowaniu projektu Swing, jego opracowaniu i uruchomieniu. Niestety, nie można utworzyć „zwykłego” projektu Java w tym piśmie, przynajmniej nie o tym wiem.
Code-Apprentice

3
Od wersji 0.6.1 możesz. Zobacz moją odpowiedź poniżej.
simonp

5
Usuń / edytuj tę odpowiedź, ponieważ nie jest już poprawna. Android Studio może teraz budować moduły Java i uruchamiać je w lokalnym środowisku JRE.
Navin

Więc lepiej jest używać Android-Studio dla Androida, IntelliJ dla Javy i reszty? Co z obsługą SWT na IntelliJ? Czy znasz dobrego projektanta interfejsu użytkownika? Potrzebuję go głównie do podglądu interfejsu użytkownika.
programista Androida

18

Łatwy sposób na uruchomienie programu Java w Android Studio to:

1) Utwórz klasę Java dla powiedzenia "Test.java"w Android Studio.

2) Napisz swój kod, np. Hello WorldProgram do przetestowania.

3) Kliknij prawym przyciskiem myszy klasę Java i wybierz opcję „Uruchom” Test.main () ”lub naciśnij Cntrl + Shift + F10.

Tam masz swój kod Java uruchomiony poniżej.


1
To działało - dzięki! W moim przypadku miałem problemy z awarią kompilacji stopni, kiedy próbowałem to uruchomić. Zrobiłem więc, Android Studio > File > Invalidate Caches / Restarta następnie problem został rozwiązany
Gene Bo

1
@Shruti Kompilacja po raz pierwszy od przejścia z uruchomienia aplikacji do uruchomienia test.java zajmuje trochę czasu. Czy wiesz, czy plik wykonywalny, który tworzy, jest w ogóle dodawany do rozmiaru pliku APK?
Patrick,

17

Dzięki Android Studio 0.6.1+ (i prawdopodobnie wcześniejszym) możesz łatwo tworzyć standardowe aplikacje Java (inne niż Android).

Ta metoda została przetestowana w wersji 0.8.2:

Zacznij od utworzenia waniliowej aplikacji na telefon z Androidem, korzystając z opcji Plik> Nowy projekt. Następnie dodaj moduł Java Library do przechowywania kodu aplikacji Java. (Wybierz „Java Library”, nawet jeśli tworzysz aplikację). Przekonasz się, że możesz budować i uruchamiać aplikacje Java za pomocą main()metod, aplikacji Swing itp.

Będziesz chciał usunąć automatycznie generowany moduł „aplikacji” na Androida, którego nie używasz. Przejdź do Plik -> Struktura projektu i usuń go (wybierz moduł „aplikacja” w polu po lewej stronie i kliknij ikonę „minus” nad polem). Teraz, gdy ponownie otworzysz Plik -> Struktura projektu -> Projekt, zobaczysz opcje wyboru zestawu SDK projektu i poziomu języka, a także kilka innych opcji, które wcześniej były ukryte. Możesz przejść dalej i usunąć moduł „app” z dysku.

W wersji 0.6.1 można przede wszystkim uniknąć tworzenia modułu Android:

Przejdź do Plik> Nowy projekt. Wpisz nazwę swojej aplikacji. Na stronie wyboru „współczynniki kształtu”, na której podajesz minimalny zestaw SDK systemu Android, odznacz pole wyboru Mobile i kontynuuj tworzenie projektu.

Po utworzeniu projektu przejdź do Plik -> Struktura projektu -> Projekt i ustaw JDK jako „Zestaw SDK projektu”. Dodaj moduł Java Library do przechowywania kodu aplikacji, jak wyżej.


Gdzie mogę znaleźć kompilację? Po kliknięciu opcji Build-> Make Project lub Build-> Compile „PureJava.java” android studio mówi „Kompilacja zakończona pomyślnie”. Ale nie mogę znaleźć żadnych plików kompilacji. Usunąłem moduł aplikacji oraz folder aplikacji.
AndiPower

1
Czy udało Ci się debugować te projekty?
MLProgrammer-CiM

@ MLProgrammer-CiM tak, jest to możliwe. Zdarzyło mi się, że podczas debugowania IDE zatrzymuje się w pewnym momencie w fazie „aktualizacji indeksów”, nie wiem co go powoduje, próbowałem wyczyścić pamięć podręczną i zrestartować.
Shujito

14

Oto dokładnie jak wygląda konfiguracja.

wprowadź opis zdjęcia tutaj

Edytuj konfiguracje> „+”> Aplikacja: wprowadź opis zdjęcia tutaj


Cześć Adam, czy mogę wiedzieć, czy nadal działa? I dlaczego potrzebujemy stopni dla tej aplikacji? Czy projekt mógłby zostać jeszcze bardziej wyczyszczony, aby były obecne tylko minimalne pliki?
Harsha

Cześć @Harsha, zaimplementowałem to jako eksperyment w 2016 r. Niedawno tego nie zaimplementowałem, ponieważ używam samodzielnego IntelliJ do wewnętrznych aplikacji Kotlin / Java. Zaktualizuj komentarze / posty swoimi zaktualizowanymi ustaleniami.
Adam Hurwitz

5

Znalazłem dość pospieszne, denerwujące i nie do końca pewne, że zawsze działa. Chciałem się podzielić na wypadek, gdyby ktoś uznał to za przydatne.

W Android Studio możesz kliknąć klasę prawym przyciskiem myszy i wybrać „Uruchom .main ()”. Spowoduje to utworzenie nowej konfiguracji Uruchom dla YourClass, chociaż nie będzie całkiem działać: będzie brakowało niektórych pozycji ścieżki klasy.

Aby naprawić brakujące wpisy ścieżki klasy, przejdź do struktury projektu i ręcznie dodaj lokalizację folderu wyjściowego dla swojego modułu oraz wszelkie inne potrzebne zależności modułu, takie jak:

  • Plik -> Struktura projektu ...
  • Wybierz „Moduły” w panelu Ustawienia projektu w panelu lewej kolumny
  • Wybierz moduł z listy modułów w panelu środkowej kolumny
  • Wybierz kartę „Zależności” w panelu z prawej kolumny

A następnie dla modułu, w którym masz aplikację Java, a także dla każdej zależności modułu, której potrzebujesz: - Kliknij „+” -> „Słoiki lub katalogi” po prawej stronie panelu w prawej kolumnie - Przejdź do danych wyjściowych folder modułu (np .: mój_moduł / build / klas / main / java) i kliknij „OK” - W nowym wpisie na liście Zależności po prawej stronie zmień pole wyboru z „Kompiluj” na „Środowisko wykonawcze”

Następnie powinieneś być w stanie wykonać konfigurację Run, którą właśnie utworzyłeś, aby uruchomić prostą aplikację Java.

Należy zauważyć, że w mojej konkretnej [dość zaangażowanej] konfiguracji projektu Android Studio muszę ręcznie zbudować projekt z gradem, spoza Android Studio, aby uzyskać proste klasy aplikacji Java do zbudowania, zanim uruchomię aplikacja - myślę, że dzieje się tak, ponieważ konfiguracja Uruchom typu „Aplikacja” nie wyzwala odpowiedniej kompilacji Gradle.

Wreszcie zostało to zrobione w Android Studio 0.4.0.

Mam nadzieję, że inni uznają to za przydatne. Mam również nadzieję, że Google wkrótce udostępni tę funkcję.


1
I have to manually build the project with gradle, from outside Android StudioJak to robisz?
Katedral Pillon

3

Zainstalowałem wersję społeczności IntelliJ IDEA ze strony http://www.jetbrains.com/idea/download/

Próbowałem otworzyć mój projekt, który rozpocząłem w Android Studio, ale nie udało mu się to przy kompilacji stopniowej. Zamiast tego jednocześnie otworzyłem zarówno studio Android, jak i intellij, i umieściłem jeden ekran obok drugiego, po prostu przeciągając i upuszczając moje pliki Java, układy XML, drawables i manifestuję się w hierarchii projektu nowego projektu rozpoczętego w IntelliJ. Obejrzałem problemy z kompilacją stopni, a teraz mogę rozpocząć nowy projekt w IntelliJ i zaprojektować aplikację na Androida lub podstawową aplikację Java. Na szczęście to zadziałało, ponieważ nienawidziłem posiadania tylu IDE na moim komputerze.


3

Udało mi się to zrobić, wykonując następujące czynności:

  1. Otwórz Android Studio i wybierz „Importuj projekt”.
    Android Studio zaimportuje projekt

  2. Przejdź do folderu projektu w oknie przeglądania i wybierz go.


0

Testowany w Android Studio 0.8.14:
udało mi się uruchomić standardowy projekt przy minimalnej liczbie kroków w ten sposób:

  • W otwartym projekcie Android Studio kliknij Plik> Nowy moduł.
  • Kliknij Więcej modułów> Biblioteka Java> Dalej, a następnie wypełnij dowolne nazwy.
  • Nowy moduł pojawi się jako folder na tym samym poziomie co folder „app” w strukturze projektu. Otwórz i otwórz nowy plik klasy Java.

    Następnie możesz dodać swój kod i wybrać polecenie Buduj> Uruchom „YourClassName”. Presto, twój kod działa bez urządzenia z Androidem!


  • Czym różni się ta odpowiedź od tej @idunnololz? Czy twój działa z gradem bez żadnych dodatkowych kroków?
    Katedral Pillon

    0

    Działa idealnie, jeśli zrobisz Plik> Otwórz ..., a następnie wybierz plik pom.xml. Pamiętaj, aby zmienić menu rozwijane w lewym górnym rogu paska bocznego z napisem „Android” na „Projekt”, aby wyświetlić wszystkie pliki. Myślę też, że to pomaga, jeśli folder, w którym znajduje się plik pom.xml, znajduje się w folderze o nazwie „app /”.

    Oświadczenie: Mój projekt Java został wygenerowany przez Google App Engine.


    czy musisz przenieść swoje zależności na pom, czy zobaczysz różne stopnie?
    Katedral Pillon

    0

    Spędziłem dzień na znalezieniu najłatwiejszego sposobu na zrobienie tego. Celem było znalezienie najszybszego sposobu osiągnięcia tego celu. Nie mogłem zrobić tego tak szybko, jak uruchamianie komendy javac z terminala lub kompilowanie z netbeans lub wysublimowanego tekstu 3. Ale nadal mam dobrą prędkość w Android Studio.

    Wygląda to na grubiański i tufowy sposób, ale ponieważ nie inicjujemy projektów na co dzień, dlatego mogę to zrobić.

    Pobrałem wersję społeczności IntelliJ IDEA i stworzyłem prosty projekt Java. Dodałem główną klasę i przetestowałem bieg. Następnie po prostu zamknął IntelliJ IDEA i otworzył Android Studio i otworzył tam ten sam projekt. Następnie musiałem po prostu dołączyć JDK, gdzie IDE mi pomogło, pokazując listę dostępnych JDK i wybrałem 1.8, a następnie dobrze się skompilowałem. Mogę teraz otworzyć dowolny plik główny i nacisnąć Control + Shift + R, aby uruchomić ten plik główny.

    Następnie skopiowałem wszystkie moje pliki Java do folderu src przez Mac OS Finder. I jestem w stanie skompilować wszystko, co chcę.

    Nie ma nic związanego z Gradle lub Androidem, a szybkość kompilacji jest całkiem dobra.

    Dzięki kumple


    0

    Aby uruchomić plik Java w systemie Android, upewnij się, że twoja klasa ma główną metodę. W Android Studio 3.5 po prostu kliknij prawym przyciskiem myszy plik i wybierz „Uruchom” Filename.main () ”” lub kliknij „Uruchom” w menu i wybierz „Uruchom nazwę pliku” z wynikowego menu rozwijanego.

    Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
    Licensed under cc by-sa 3.0 with attribution required.