Android Studio có thể được sử dụng để chạy các dự án Java tiêu chuẩn không?


330

Đối với những lúc bạn muốn cô lập Java và thử nghiệm nhanh ..

Bạn có thể chạy các dự án Java không phải Android trong studio Android như trong Eclipse không?


2
Studio Android dựa trên intelliJ. Vì vậy, chắc chắn, nó chắc chắn có thể chạy mã java "tiêu chuẩn". Nhưng tại sao bạn cần nó?
Blackbelt

1
@vmironov Tôi đồng ý với bạn.
Blackbelt

@vmironov Đó chính là những gì họ đang làm. Các tính năng của Android là một plugin IntelliJ, họ chỉ gói nó cùng với Android Studio. Tôi đã không sử dụng Android Studio nói riêng, nhưng tôi đã sử dụng IntelliJ được một thời gian và bạn sẽ không gặp vấn đề gì khi chạy các dự án Java tiêu chuẩn trong đó.
Kevin Coppock

4
@kcoppock, vâng, nhưng plugin này không thể được thêm vào IntelliJ IDEA "thông thường" (Tôi có phiên bản Ultimate đã mua và tôi thực sự không muốn chuyển về phiên bản Cộng đồng). Tin vui là JetBrains đã thông báo rằng có thể có các tính năng của Android Studio trong Intellij IDEA 13
Vladimir Mironov

1
Có cách nào đơn giản để làm việc này với Gradle chưa? Tôi liên tục gặp sự cố vì nó không thể thấy các thư viện lớp của tôi khi chạy.
Katedral Pillon

Câu trả lời:


346

Đã thử nghiệm trên Android Studio 0.8.6 - 3.5

Sử dụng phương pháp này, bạn có thể có các mô-đun Java và mô-đun Android trong cùng một dự án và cũng có khả năng biên dịch và chạy các mô-đun Java như các dự án Java độc lập.

  1. Mở dự án Android của bạn trong Android Studio. Nếu bạn không có, hãy tạo một cái.
  2. Bấm vào Tệp> Mô-đun mới . Chọn Thư viện Java và nhấp vào Tiếp theo .
  3. Điền vào tên gói, vv và nhấp vào Kết thúc . Bây giờ bạn sẽ thấy một mô-đun Java bên trong dự án Android của bạn.
  4. Thêm mã của bạn vào mô-đun Java bạn vừa tạo.
  5. Nhấp vào thả xuống bên trái của nút chạy. Nhấp vào Chỉnh sửa cấu hình ...
  6. Trong cửa sổ mới, nhấp vào dấu cộng ở phía trên bên trái của cửa sổ và chọn Ứng dụng
  7. Một cấu hình ứng dụng mới sẽ xuất hiện, nhập các chi tiết như lớp chính và đường dẫn lớp của mô-đun của bạn.
  8. Nhấn OK .

Bây giờ nếu bạn bấm chạy, cái này sẽ biên dịch và chạy mô-đun Java của bạn.

Nếu bạn gặp lỗi Error: Could not find or load main class..., chỉ cần nhập lại lớp chính của bạn (như bạn đã thực hiện ở bước 7) ngay cả khi trường đã được điền. Nhấp vào Áp dụng và sau đó nhấp vào Ok .

Trường hợp sử dụng của tôi: Ứng dụng Android của tôi dựa trên một số tệp được tính toán trước để hoạt động. Các tệp được tính toán trước này được tạo bởi một số mã Java. Vì hai điều này song hành với nhau, nên có ý nghĩa nhất khi có cả hai mô-đun này trong cùng một dự án.

MỚI - Cách bật Kotlin trong dự án độc lập của bạn

Nếu bạn muốn kích hoạt Kotlin trong dự án độc lập của mình, hãy làm như sau.

  1. Tiếp tục từ bước cuối cùng ở trên, thêm mã sau vào cấp dự án của bạn build.gradle(các dòng cần thêm được ký hiệu là >>> ):

    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. Thêm mã sau vào cấp mô-đun của bạn build.gradle(các dòng cần thêm được ký hiệu là >>> ):

    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. Bước thưởng: Chuyển đổi chức năng chính của bạn sang Kotlin! Chỉ cần thay đổi lớp chính của bạn thành:

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

2
Tôi có thể xác nhận điều này hoạt động trong Android Studio 0.8.14. Tôi đã sử dụng một dự án Hello World cơ bản và thêm một lớp Tùy chỉnh có chứa một phương thức chính. Tôi đã xóa tệp MainActivity.java. Ở bước 2, tôi cần tiết lộ khung Thêm mô-đun (phía dưới bên trái của cửa sổ Tạo mô-đun mới) và cuộn xuống để tìm mục Thư viện Java. Ở bước 6, tôi đặt tên cho ứng dụng của mình, chọn Tùy chỉnh làm lớp chính và ứng dụng cho đường dẫn của mô-đun. LƯU Ý: Nếu bạn xóa mô-đun ứng dụng, theo giải pháp của @ simonp, ứng dụng của bạn sẽ chạy, nhưng có lỗi.
James Newton

Cần có một bước nữa sau bước 2: thêm mã vào lớp hoặc ít nhất biến nó thành mã Hello-World: docs.oracle.com/javase/tutorial/getStarted/application
nhà phát triển Android

3
Nhưng làm cách nào tôi có thể xuất dự án máy tính để bàn sang tệp .jar? Tôi không thể tìm thấy tùy chọn đó ở bất cứ đâu: /
Chris

1
Hoạt động trong 2.2.2! :)
Pavel Biryukov

1
làm việc tuyệt vời Tôi đã sử dụng Android Studio 3.1.4. Cám ơn vì đã chia sẻ !
Birender Singh

27

EDIT: nhiều mặt trăng sau khi câu hỏi này được hỏi, vâng, bây giờ rõ ràng bạn có thể.

Không, nhưng nó dựa trên Intellij IDEA.

Phiên bản cộng đồng miễn phí để tải xuống nhưng nó không hỗ trợ hầu hết mọi thứ yêu cầu cơ sở dữ liệu bên ngoài hoặc máy chủ ứng dụng. Dòng cho Java khá nhiều mà mã JavaSE có thể vui vẻ sử dụng Cộng đồng.

Nếu bạn muốn điều đó (hoặc đang sử dụng JavaEE) thì bạn cần phiên bản Ultimate, phiên bản không miễn phí hoặc EAP của phiên bản tiếp theo thường tốt trong một tháng cho đến khi chúng phát hành phiên bản khác.

Về cơ bản nó hoạt động như thế này

Android Studio chỉ là Android Stuff Android từ Cộng đồng IDEA 13 ...

... sẽ miễn phí và là bất cứ thứ gì từ IDEA 13 Ultimate ...

... không yêu cầu cơ sở dữ liệu hoặc máy chủ ứng dụng.

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

IDEA 12 Cộng đồng không có khả năng nhập dự án được phân loại và nó sẽ không, vì vậy trong khi bạn có thể phát triển Android ngay bây giờ (tôi làm), đừng hy vọng nó có các tính năng tương tự như Android Studio. Có rất nhiều thứ Android mới tốt trong đó, sắp có 13.


3
Vui vẻ giúp đỡ! Cá nhân tôi yêu IDEA và ghét Eclipse. Đây là lần đầu tiên tôi đi chơi với EAP vì rõ ràng tôi sẽ cần khả năng tương thích với mọi người di chuyển sang Android Studio.
JoeHz

Kể từ AS 0.5.8, điều này không còn đúng nữa. Bạn chắc chắn có thể chạy mã Java SE tiêu chuẩn trong AS. Ít nhất tôi đã thành công khi nhập một dự án Swing, phát triển và chạy nó. Thật không may, bạn không thể tạo một dự án Java "thông thường" khi viết bài này, ít nhất là tôi không biết.
Code-Apprentice

3
Kể từ 0.6.1 bạn có thể. Xem câu trả lời của tôi dưới đây.
simonp

5
Vui lòng xóa / chỉnh sửa câu trả lời này vì nó không còn đúng nữa. Android Studio hiện có thể xây dựng các mô-đun Java và chạy chúng trong JRE cục bộ.
Navin

Vì vậy, tốt hơn là sử dụng Android-Studio cho công cụ Android và IntelliJ cho Java và phần còn lại? Còn hỗ trợ SWT trên IntelliJ thì sao? Bạn có biết một nhà thiết kế UI đẹp cho nó không? Tôi cần nó chủ yếu để xem trước UI.
nhà phát triển Android

18

Cách dễ dàng để chạy một chương trình java trong Android Studio sẽ là,

1) Tạo một lớp java nói "Test.java"trong Android Studio.

2) Viết mã của bạn, ví dụ, một Hello Worldchương trình để kiểm tra.

3) Nhấp chuột phải vào lớp Java và chọn tùy chọn "Chạy 'Test.main ()'" hoặc nhấn Cntrl + Shift + F10.

Ở đó bạn có mã Java của bạn chạy bên dưới.


1
Điều này đã làm việc - cảm ơn! Trong trường hợp của tôi, tôi đã gặp vấn đề với sự cố xây dựng lớp, khi lần đầu tiên thử chạy nó. Vì vậy, tôi đã làm một Android Studio > File > Invalidate Caches / Restartvà sau đó vấn đề đã được giải quyết
Gene Bo

1
@Shruti Phải mất một thời gian để biên dịch lần đầu tiên sau khi chuyển từ chạy ứng dụng sang chạy test.java. Bạn có biết liệu khả năng thực thi mà nó tạo ra có được thêm vào kích thước APK không?
Patrick

17

Với Android Studio 0.6.1+ (và có thể sớm hơn), bạn có thể dễ dàng phát triển các ứng dụng Java (không phải Android) tiêu chuẩn.

Phương pháp này đã được thử nghiệm vào ngày 0.8.2:

Bắt đầu bằng cách tạo ứng dụng vanilla Android Phone, sử dụng Tệp> Dự án mới. Sau đó thêm một mô-đun Thư viện Java để giữ mã Ứng dụng Java của bạn. (Chọn 'Thư viện Java' ngay cả khi bạn đang xây dựng một ứng dụng). Bạn sẽ thấy bạn có thể xây dựng và chạy các ứng dụng Java bằng main()các phương thức, ứng dụng Swing, v.v.

Bạn sẽ muốn xóa mô-đun "ứng dụng" Android được tạo tự động mà bạn không sử dụng. Đi tới Tệp -> Cấu trúc dự án và xóa nó (chọn mô-đun "ứng dụng" trong hộp bên trái và nhấp vào biểu tượng 'dấu trừ' phía trên hộp). Bây giờ khi bạn mở lại Tệp -> Cấu trúc dự án -> Dự án, bạn sẽ thấy các tùy chọn để chọn SDK dự án và cấp độ ngôn ngữ, cùng với một loạt các tùy chọn khác đã bị ẩn trước đó. Bạn có thể tiếp tục và xóa mô-đun "ứng dụng" khỏi đĩa.

Trong 0.6.1, bạn có thể tránh việc tạo mô-đun Android ở vị trí đầu tiên:

Đi đến Tệp> Dự án mới. Điền vào tên ứng dụng của bạn. Trên trang chọn "yếu tố hình thức", nơi bạn nêu SDK Android tối thiểu của mình, bỏ chọn hộp kiểm Di động và tiến hành tạo dự án của bạn.

Khi dự án được tạo, hãy đi đến Tệp -> Cấu trúc dự án -> Dự án và đặt JDK của bạn làm "SDK dự án". Thêm một mô-đun Thư viện Java để giữ mã ứng dụng của bạn như trên.


Tôi có thể tìm thấy bản dựng ở đâu? Nếu tôi nhấp vào Build-> Make Project hoặc Build-> Compile 'PureJava.java' studio android nói "Quá trình biên dịch đã hoàn thành thành công". Nhưng tôi không thể tìm thấy bất kỳ tập tin xây dựng. Tôi đã xóa mô-đun ứng dụng cũng như thư mục ứng dụng.
AndiPower

1
Bạn đã có thể gỡ lỗi các dự án?
MLProgrammer-CiM

@ MLProgrammer-CiM có, điều đó là có thể. Điều đó đã xảy ra với tôi rằng khi gỡ lỗi, IDE bị đình trệ tại một số điểm trong giai đoạn "cập nhật chỉ số", tôi không biết điều gì gây ra nó, tôi đã thử làm sạch bộ nhớ cache và khởi động lại.
Shujito

14

Đây chính xác là những gì các thiết lập trông như thế nào.

nhập mô tả hình ảnh ở đây

Chỉnh sửa cấu hình> '+'> Ứng dụng: nhập mô tả hình ảnh ở đây


HI Adam, tôi có thể biết nếu nó vẫn hoạt động không? Và tại sao chúng ta cần gradle cho ứng dụng này? Dự án có thể được làm sạch thêm để chỉ có các tập tin tối thiểu trần?
Harsha

Xin chào @Harsha, tôi đã triển khai thử nghiệm này vào năm 2016. Tôi đã không thực hiện điều này gần đây khi tôi sử dụng IntelliJ độc lập cho các ứng dụng Kotlin / Java phụ trợ. Hãy cập nhật các bình luận / bài đăng với những phát hiện được cập nhật của bạn.
Adam Hurwitz

5

Tôi tìm thấy một giải pháp hơi khó hiểu, gây phiền nhiễu và không hoàn toàn chắc chắn về việc này. Tôi muốn chia sẻ trong trường hợp người khác thấy nó hữu ích.

Trong Android Studio, bạn có thể nhấp chuột phải vào một lớp bằng phương thức chính và chọn "Chạy .main ()". Điều này sẽ tạo ra một cấu hình Run mới cho YourClass, mặc dù nó sẽ không hoạt động: nó sẽ thiếu một số mục nhập đường dẫn.

Để sửa các mục nhập đường dẫn bị thiếu, hãy đi vào Cấu trúc dự án và thêm thủ công vị trí thư mục đầu ra cho mô-đun của bạn và bất kỳ phụ thuộc mô-đun nào khác mà bạn cần, như vậy:

  • Tệp -> Cấu trúc dự án ...
  • Chọn "Mô-đun" trong bảng Cài đặt dự án trên bảng điều khiển bên trái
  • Chọn mô-đun của bạn trên danh sách các mô-đun trong bảng cột giữa
  • Chọn tab "Phụ thuộc" trên bảng cột bên phải

Và sau đó cho mô-đun nơi bạn có ứng dụng Java cũng như cho từng phụ thuộc mô-đun bạn cần: - Nhấp vào "+" -> "Lọ hoặc thư mục" ở phía bên phải của bảng điều khiển bên phải - Điều hướng đến đầu ra thư mục của mô-đun (ví dụ: my_module / build / class / main / java) và nhấp vào "OK" - Trên mục nhập mới vào danh sách Phụ thuộc, ở phía bên phải, thay đổi hộp chọn từ "Biên dịch" thành "Thời gian chạy"

Sau này, bạn sẽ có thể thực thi cấu hình Run mà bạn vừa tạo để chạy ứng dụng Java đơn giản.

Một điều cần lưu ý là, đối với việc thiết lập dự án Android Studio đặc biệt của tôi, tôi phải xây dựng dự án bằng tay, từ bên ngoài Android Studio để có được các lớp Ứng dụng Java đơn giản của mình để xây dựng, trước khi tôi chạy ứng dụng - Tôi nghĩ điều này là do cấu hình Run của loại "Ứng dụng" không kích hoạt bản dựng Gradle tương ứng.

Cuối cùng, điều này đã được thực hiện trên Android Studio 0.4.0.

Tôi hy vọng những người khác thấy nó hữu ích. Tôi cũng hy vọng Google sẽ sớm hỗ trợ chức năng này.


1
I have to manually build the project with gradle, from outside Android StudioLàm thế nào để bạn làm điều đó?
Katedral Pillon

3

Tôi đã cài đặt phiên bản cộng đồng IntelliJ IDEA từ http://www.jetbrains.com/idea/doad/

Tôi đã thử mở dự án của mình rằng tôi đã bắt đầu trong studio Android nhưng thất bại khi xây dựng lớp. Thay vào đó, tôi đã mở cả android studio và intellij cùng một lúc và đặt một màn hình bên cạnh màn hình kia và chỉ cần kéo và thả các tệp java, bố cục xml, drawables và hiển thị vào dự án hiearchy của một dự án mới bắt đầu trong IntelliJ. Nó đã giải quyết các vấn đề xây dựng lớp và bây giờ tôi có thể bắt đầu một dự án mới trong IntelliJ và thiết kế một ứng dụng Android hoặc ứng dụng Java cơ bản. Rất may điều này đã làm việc vì tôi ghét có quá nhiều IDE trên máy tính của mình.


3

Tôi đã có thể làm điều đó bằng các bước sau:

  1. Mở Android Studio và chọn 'Nhập dự án'.
    Android Studio nhập một dự án

  2. Duyệt đến thư mục dự án của bạn trong cửa sổ duyệt và chọn nó.


0

Đã thử nghiệm trong Android Studio 0.8.14:
Tôi có thể có được một dự án tiêu chuẩn đang chạy với các bước tối thiểu theo cách này:

  • Trong dự án Android Studio đang mở, bấm vào Tệp> Mô-đun mới.
  • Nhấp vào Mô-đun khác> Thư viện Java> Tiếp theo, sau đó điền bất cứ điều gì bạn thích cho tên.
  • Một mô-đun mới sẽ xuất hiện dưới dạng một thư mục cùng cấp với thư mục "ứng dụng" của bạn trong Cấu trúc dự án. Mở nó và mở tệp lớp Java mới.

    Sau đó, bạn có thể thêm mã của mình và chọn Build> Run 'YourClassName'. Presto, mã của bạn đang chạy mà không có thiết bị Android!


  • Câu trả lời này khác với câu trả lời như thế nào @idunnololz? Bạn có làm việc với gradle mà không cần thêm bước nào không?
    Katedral Pillon

    0

    Nó hoạt động hoàn hảo nếu bạn thực hiện Tệp> Mở ... và sau đó chọn tệp pom.xml. Đảm bảo thay đổi danh sách thả xuống ở phía trên bên trái của thanh bên có chữ "Android" thành "Dự án" để xem tất cả các tệp của bạn. Ngoài ra tôi nghĩ nó hữu ích nếu thư mục tệp pom.xml của bạn nằm trong thư mục có tên "app /".

    Tuyên bố miễn trừ trách nhiệm: Dự án java của tôi được tạo bởi Google App Engine.


    Bạn có phải di chuyển phụ thuộc của bạn vào pom hoặc nó sẽ nhìn thấy các công cụ lớp?
    Katedral Pillon

    0

    Dành một ngày để tìm cách dễ nhất để làm điều này. Mục đích là tìm ra cách nhanh nhất để đạt được mục tiêu này. Tôi không thể thực hiện nhanh như chạy lệnh javac từ thiết bị đầu cuối hoặc biên dịch từ netbeans hoặc văn bản cao siêu 3. Nhưng vẫn có tốc độ tốt với studio android.

    Điều này có vẻ thô lỗ và khó khăn nhưng vì chúng tôi không khởi xướng các dự án trên cơ sở hàng ngày, đó là lý do tại sao tôi ổn để làm điều này.

    Tôi đã tải xuống phiên bản cộng đồng IntelliJ IDEA và tạo một dự án java đơn giản. Tôi đã thêm một lớp chính và thử chạy. Sau đó, chỉ cần đóng IntelliJ IDEA và mở Android Studio và mở cùng một dự án ở đó. Sau đó, tôi chỉ cần đính kèm JDK trong đó IDE đã giúp tôi bằng cách hiển thị danh sách các JDK có sẵn và tôi đã chọn 1.8 và sau đó nó được biên dịch tốt. Bây giờ tôi có thể mở bất kỳ tệp chính nào và nhấn Control + Shift + R để chạy tệp chính đó.

    Sau đó, tôi đã sao chép tất cả các tệp Java của mình vào thư mục src bởi Mac OS Finder. Và tôi có thể biên dịch bất cứ thứ gì tôi muốn.

    Không có gì liên quan đến Gradle hoặc Android và tốc độ biên dịch là khá tốt.

    Cảm ơn các bạn


    0

    Để chạy tệp java trong Android, đảm bảo lớp của bạn có phương thức chính. Trong Android Studio 3.5, chỉ cần nhấp chuột phải vào tệp và chọn "Chạy 'Filename.main ()'" hoặc nhấp vào "Chạy" trên menu và chọn "Chạy tên tệp" từ menu thả xuống kết quả.

    Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
    Licensed under cc by-sa 3.0 with attribution required.