Чи можна Android Studio використовувати для запуску стандартних проектів Java?


330

Для тих часів, коли ви хочете ізолювати Java і швидко пройти її.

Чи можете ви запускати проекти, які не належать Android Java, в студії Android, як в Eclipse?


2
Android-студія заснована на IntelliJ. Так що впевнено, він напевно може запустити "стандартний" код Java. Але навіщо це вам потрібно?
Блекбелт

1
@vmironov Я з вами згоден.
Блекбелт

@vmironov Це, по суті, те, що вони роблять. Функції Android - плагін IntelliJ, вони просто пакують його разом для Android Studio. Я не використовував Android Studio зокрема, але я користувався IntelliJ деякий час, і у вас не повинно виникнути проблем із запуском стандартних проектів Java в ньому.
Кевін Коппок

4
@kcoppock, так, але цей плагін не можна додати до "звичайного" IntelliJ IDEA (у мене є придбана версія Ultimate, і я не хочу переходити на видання спільноти). Хороша новина полягає в тому, що JetBrains оголосив, що можна буде мати функції Android Studio в Intellij IDEA 13
Володимир Миронов

1
Чи існує простий спосіб змусити це працювати з Gradle? Я постійно вибиваюся з ладу, оскільки він не може бачити мої бібліотеки gradle під час виконання.
Katedral Pillon

Відповіді:


346

Тестовано на Android Studio 0.8.6 - 3.5

За допомогою цього методу ви можете мати модулі Java та модулі Android в одному проекті, а також мати можливість компілювати та запускати модулі Java як самостійні проекти Java.

  1. Відкрийте свій Android-проект в Android Studio. Якщо у вас його немає, створіть його.
  2. Клацніть Файл> Новий модуль . Виберіть бібліотеку Java та натисніть кнопку Далі .
  3. Заповніть назву пакета тощо та натисніть кнопку Готово . Тепер ви повинні побачити модуль Java всередині свого проекту Android.
  4. Додайте свій код до створеного вами модуля Java.
  5. Клацніть на спадному меню вліво від кнопки запуску. Клацніть Редагувати конфігурації ...
  6. У новому вікні натисніть на знак плюс у верхньому лівому куті і виберіть Застосувати
  7. Повинна з’явитися нова конфігурація програми, введіть деталі, такі як ваш основний клас та класовий шлях вашого модуля.
  8. Натисніть кнопку ОК .

Тепер, якщо ви натиснете запустити, це повинно скласти і запустити ваш модуль Java.

Якщо ви отримаєте помилку Error: Could not find or load main class..., просто введіть свій основний клас (як ви зробили на кроці 7) ще раз, навіть якщо поле вже заповнене. Клацніть Застосувати та натисніть кнопку ОК .

Мій випадок використання: Мій додаток Android покладається на деякі попередньо обчислені файли. Ці попередньо обчислені файли генеруються деяким кодом Java. Оскільки ці дві речі йдуть рука об руку, має найбільш сенс мати обидва ці модулі в одному проекті.

НОВО - Як включити Котліна у свій автономний проект

Якщо ви хочете включити Котлін у свій окремий проект, зробіть наступне.

  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. Бонусний крок: Перетворіть свою основну функцію на Котлін! Просто змініть свій основний клас на:

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

2
Я можу підтвердити це в Android Studio 0.8.14. Я використовував базовий проект Hello World і додав клас Custom, що містить основний метод. Я видалив файл MainActivity.java. На кроці 2 мені потрібно було розкрити панель Більше модулів (внизу зліва вікна Створити новий модуль) та прокрутити вниз, щоб знайти елемент бібліотеки Java. На кроці 6 я назвав свою програму, вибрав Custom як мій основний клас та додаток для classpath модуля. ПРИМІТКА. Якщо ви видалите модуль програми, відповідно до рішення @ simonp, ваша програма запуститься, але з помилками.
Джеймс Ньютон

Після кроку 2 повинен бути ще один крок: додати код до класу або принаймні зробити його Hello-World кодом: docs.oracle.com/javase/tutorial/getStarted/application
андроїд розробник

3
Але як я можу експортувати проект на робочому столі у файл .jar? Я не можу знайти цього варіанту ніде: /
Chris

1
Працює в 2.2.2! :)
Павло Бірюков

1
працював чудово! Я використовував Android Studio 3.1.4. Дякую, що поділились !
Birender Singh

27

EDIT: багато місяця після цього запитання було задано, так, тепер, мабуть, ви можете.

Ні, але це засновано на Intellij IDEA.

Версія спільноти це безкоштовно для завантаження, але вона не підтримує більшість речей, що вимагають зовнішньої бази даних або сервера додатків. Лінія для Java майже в тому, що JavaSE-код може із задоволенням використовувати Community.

Якщо ви хочете, щоб це (або ви використовуєте JavaEE), вам або потрібна версія Ultimate, яка не є безкоштовною, або EAP наступної версії, яка, як правило, корисна протягом місяця, поки вони не випустять іншу.

В основному це працює так

Android Studio - це просто Android, Android, Android, від спільноти IDEA 13 ...

... яка буде безкоштовною і є будь-що з IDEA 13 Ultimate ...

... що не вимагає бази даних або сервера додатків.

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

Спільнота IDEA 12 не має змоги імпортувати гралізований проект, і він цього не зробить, тому, поки ви можете займатися розробкою Android в ньому зараз (я це роблю), не сподівайтеся, що він має ті самі функції, що і Android Studio. У ньому багато хороших нових речей для Android, тобто це 13.


3
Раді допомогти! Я особисто люблю IDEA і ненавиджу Eclipse. Це перший раз, коли я пішов грати з EAP, тому що я, очевидно, потребуватиму сумісності з усіма, хто переходить на Android Studio.
JoeHz

Щодо AS 0.5.8, це більше не є правильним. Ви точно можете запустити стандартний код SE SE в AS. Принаймні, я маю успіх імпортувати проект Swing, розробляти та виконувати його. На жаль, ви не можете створити "звичайний" проект Java на даний час, принаймні не те, що я знаю.
Кодекс-учень

3
Станом на 0.6.1 ви можете. Дивіться мою відповідь нижче.
simonp

5
Видаліть / відредагуйте цю відповідь, оскільки вона більше не є правильною. Тепер Android Studio може створювати модулі Java та запускати їх у локальному JRE.
Навін

Тож краще використовувати Android-Studio для андроїдних матеріалів, а IntelliJ для Java та інших? А як щодо підтримки SWT в IntelliJ? Чи знаєте ви гарного дизайнера інтерфейсу для цього? Він мені потрібен переважно для попереднього перегляду інтерфейсу користувача.
андроїд розробник

18

Простий спосіб запустити програму java в Android Studio,

1) Створіть скажімо клас java "Test.java"в студії Android.

2) Напишіть свій код, наприклад, Hello Worldпрограму для тестування.

3) Клацніть правою кнопкою миші клас Java і виберіть опцію "Запустити" Test.main () "" або натисніть Cntrl + Shift + F10.

Там у вас працює код Java.


1
Це спрацювало - спасибі! У моєму випадку у мене виникли проблеми з збоєм у збірці gradle, коли я вперше намагався запустити це. Тож я зробив це, Android Studio > File > Invalidate Caches / Restartі тоді питання було вирішено
Джин Бо

1
@Shruti Перший раз після переходу з запуску програми на запуск test.java проходить певний час. Чи знаєте ви, чи виконаний ним створений файл доданий до розміру APK?
Патрік

17

За допомогою Android Studio 0.6.1+ (а можливо і раніше) ви можете легко розробляти стандартні додатки для Java (не для Android).

Цей метод був перевірений на 0.8.2:

Почніть зі створення програми ванільного Android Phone, використовуючи «Файл»> «Новий проект». Потім додайте модуль Java-бібліотеки для зберігання коду програми Java. (Виберіть "Бібліотека Java", навіть якщо ви створюєте додаток). Ви знайдете, що можете створювати та запускати додатки Java main()методами, додатками Swing тощо.

Ви хочете видалити автоматично створений модуль "додаток" для Android, який ви не використовуєте. Перейдіть у меню Файл -> Структура проекту та видаліть його (виберіть модуль "додаток" у полі зліва та натисніть на значок "мінус" над полем). Тепер, коли ви знову відкриєте Файл -> Структура проекту -> Проект, ви побачите варіанти вибору SDK проекту та рівня мови, а також купу інших параметрів, які раніше були приховані. Ви можете піти вперед і видалити модуль "додаток" з диска.

У 0.6.1 ви можете уникнути створення андроїд-модуля в першу чергу:

Перейдіть у меню Файл> Новий проект. Заповніть свою заявку. На сторінці вибору "факторів форми", де ви заявляєте свій мінімальний SDK для Android, зніміть прапорець Мобільний прапорець і приступайте до створення свого проекту.

Після створення проекту перейдіть до Файл -> Структура проекту -> Проект і встановіть свій JDK як "SDK проекту". Додайте модуль Java-бібліотеки, щоб зберігати код програми, як зазначено вище.


Де я можу знайти збірку тоді? Якщо натиснути Збірка-> Зробити проект або Збірка-> Скомпілювати 'PureJava.java', андроїд-студія каже: «Компіляція успішно завершена». Але я не можу знайти жодних файлів збірки. Я видалив модуль додатків, а також папку додатків.
AndiPower

1
Вам вдалося налагодити ці проекти?
MLProgrammer-CiM

@ MLProgrammer-CiM так, можна. Мені траплялося, що під час налагодження IDE зупиняється в якийсь момент фази "оновлення індексів", я не знаю, що це викликає, я спробував очистити кеші та перезапустити.
Shujito

14

Ось як саме виглядає налаштування.

введіть тут опис зображення

Редагування конфігурацій> '+'> Програма: введіть тут опис зображення


Здравствуйте, Адам, чи можу я знати, чи все ще працює? І навіщо нам потрібні градули для цієї програми? Чи може проект бути додатково очищений, щоб мати лише мінімальні файли?
Харша

Привіт @Harsha, я реалізував це як експеримент у 2016 році. Я нещодавно цього не реалізував, оскільки використовую автономний IntelliJ для бекенд-додатків Kotlin / Java. Не соромтеся оновлювати коментарі / повідомлення з оновленими висновками.
Адам Гурвіц

5

Я знайшов дещо хитке, дратівливе і не зовсім впевнене - воно завжди працює. Я хотів поділитися на випадок, якщо хтось вважає це корисним.

В Android Studio ви можете клацнути правою кнопкою миші клас з основним методом і вибрати "Запустити .main ()". Це створить нову конфігурацію Run для YourClass, хоча це не буде спрацьовувати: в ній будуть відсутні деякі записи класного шляху.

Щоб виправити відсутні записи класного шляху, увійдіть у структуру проекту та додайте вручну розташування вихідної папки для вашого модуля та будь-яких інших залежностей модуля, як-от так:

  • Файл -> Структура проекту ...
  • Виберіть "Модулі" на панелі "Налаштування проекту" на панелі лівої колонки
  • Виберіть свій модуль у списку модулів на панелі середньої колонки
  • Виберіть вкладку «Залежності» на панелі правої колонки

А потім для модуля, де у вас є програма Java, а також для кожної з залежностей модуля, необхідних вам: - Клацніть "+" -> "Банки або каталоги" в правій частині панелі правої колонки - Перейдіть до виводу папку модуля (наприклад: my_module / build / class / main / java) та натисніть "OK" - У новому записі до списку Dependences, в крайньому правому куті, змініть поле вибору з "Compile" на "Runtime"

Після цього ви зможете виконати створену вами конфігурацію Run для запуску простої програми Java.

Слід зазначити, що для моєї конкретної налаштування проекту Android Studio, я маю вручну створити проект за допомогою gradle, поза межами Android Studio, щоб отримати мої прості класи Java-додатків, перш ніж запустити додаток - Я думаю, це тому, що конфігурація Run типу "Application" не запускає відповідну збірку Gradle.

Нарешті, це було зроблено на Android Studio 0.4.0.

Я сподіваюся, що інші вважають це корисним. Я також сподіваюся, що Google незабаром підтримає цю функціональність.


1
I have to manually build the project with gradle, from outside Android StudioЯк ти це робиш?
Katedral Pillon

3

Я встановив версію спільноти IntelliJ IDEA з http://www.jetbrains.com/idea/download/

Я спробував відкрити свій проект, який я почав в студії Android, але він не вдався, коли будували gradle. Я замість цього відкрив і студію Android, і Intellij одночасно і розмістив один екран поруч з іншим і просто перетягнув свої файли java, макети xml, малюнки та маніфестував у проекті пошуку нового проекту, розпочатого в IntelliJ. Це вирішило проблеми побудови gradle, і тепер я можу розпочати новий проект в IntelliJ і створити або Android-додаток, або базовий додаток Java. На щастя, це спрацювало, тому що я ненавидів мати стільки IDE на моєму ПК.


3

Мені це вдалося зробити за допомогою наступних кроків:

  1. Відкрийте Android Studio і виберіть "Імпортувати проект".
    Android Studio імпортує проект

  2. Перейдіть до папки свого проекту у вікні перегляду та виберіть його.


0

Тестовано в Android Studio 0.8.14:
Мені вдалося отримати стандартний проект, виконаний з мінімальними кроками таким чином:

  • У відкритому проекті Android Studio натисніть Файл> Новий модуль.
  • Клацніть Більше модулів> Бібліотека Java> Далі, а потім заповніть все, що вам більше подобається для імен.
  • Новий модуль з'явиться у вигляді папки на тому ж рівні, що і ваша папка "app" у структурі проекту. Відкрийте його та відкрийте новий файл класу Java.

    Потім ви можете додати свій код і вибрати Створити> Запустити "YourClassName". Престо, ваш код працює без пристрою Android!


  • Чим ця відповідь відрізняється від відповіді @idunnololz? Ваша робота з Gradle без додаткових кроків?
    Katedral Pillon

    0

    Це чудово працює, якщо ви зробите «Файл»> «Відкрити ...», а потім виберіть файл pom.xml. Не забудьте змінити спадне меню у верхньому лівому куті бічної панелі, на якому написано "Android" на "Проект", щоб побачити всі ваші файли. Також я думаю, що це допомагає, якщо папка вашого файлу pom.xml знаходиться у папці під назвою "app /".

    Відмова: Мій проект Java створено Google App Engine.


    чи потрібно вам переміщувати свої залежності на пом або це побачить матеріал gradle?
    Katedral Pillon

    0

    Витратили день на пошук найпростішого способу зробити це. Метою було знайти найшвидший спосіб досягти цієї мети. Я не міг зробити це так швидко, як запуск команди javac з терміналу або компіляція з netbeans або піднесеного тексту 3. Але все ж отримав хорошу швидкість за допомогою Android Studio.

    Це виглядає ефірно і туффом, але оскільки ми не ініціюємо проекти на щоденній основі, тому я добре це робити.

    Я завантажив версію спільноти IntelliJ IDEA і створив просто проект Java. Я додав основний клас і випробував пробіг. Потім просто закрили IntelliJ IDEA і відкрили Android Studio і там відкрили той же проект. Тоді мені довелося просто приєднати JDK там, де мені допомогла IDE, показавши список доступних JDK, і я вибрав 1.8, а потім він добре склав. Тепер я можу відкрити будь-який головний файл і натиснути Control + Shift + R, щоб запустити цей головний файл.

    Потім я скопіював усі свої файли Java в папку src Mac OS Finder. І я вмію складати все, що хочу.

    Немає нічого, що стосується Gradle чи Android, і швидкість компіляції досить хороша.

    Дякую друзям


    0

    Для запуску файлу java в Android переконайтесь, що у вашому класі є основний метод. В Android Studio 3.5 просто клацніть правою кнопкою миші всередині файлу та виберіть "Запустити" Filename.main () "" або натисніть "Запустити" у меню та виберіть "Запустити ім'я файлу" із випадаючого меню.

    Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
    Licensed under cc by-sa 3.0 with attribution required.