Studio Android: dự án mới vs mô-đun mới


141

Android Studio sử dụng khái niệm về modules, trong khi các IDE khác như Eclipse sử dụng projects. Tuy nhiên, Filemenu AS có tùy chọn để tạo New Modulecũng như a new Project.

Sự khác biệt giữa hai nếu có?

Cái nào được khuyến khích sử dụng?

Câu trả lời:


102

Từ tài liệu (Android Studio dựa trên Intellij IDEA):

Bất cứ điều gì bạn làm trong IntelliJ IDEA, bạn sẽ làm điều đó trong bối cảnh của một dự án. Dự án là một đơn vị tổ chức đại diện cho một giải pháp phần mềm hoàn chỉnh.

Sản phẩm hoàn chỉnh của bạn có thể được phân tách thành một loạt các mô-đun riêng biệt, riêng biệt, nhưng đó là một định nghĩa dự án mang chúng lại với nhau và gắn kết chúng thành một tổng thể lớn hơn.

Đối với Android, nó có nghĩa là một dự án cho mỗi ứng dụng và một mô-đun cho mỗi thư viện và mỗi ứng dụng thử nghiệm.

Có nhiều vấn đề nếu bạn cố gắng xây dựng nhiều ứng dụng trong cùng một dự án. Điều đó là có thể, nhưng nếu bạn thử (như tôi đã làm), bạn sẽ thấy rằng hầu hết mọi thứ được thiết kế để hoạt động với một ứng dụng duy nhất cho mỗi dự án.

Ví dụ: có một tùy chọn để "xây dựng lại dự án", điều này không có ý nghĩa với nhiều ứng dụng, nhiều cài đặt dự án khác sẽ vô dụng và hệ thống VCS tích hợp không tuyệt vời khi bạn có nhiều kho lưu trữ.


1
"Nó có nghĩa là một dự án cho mỗi ứng dụng và một mô-đun cho mỗi thư viện và mỗi ứng dụng thử nghiệm" ... Điều này có nghĩa là gì? Nếu "ứng dụng thử nghiệm" là một ứng dụng, thì chỉ có thể có hai mô-đun cho mỗi dự án, một cho ứng dụng (ứng dụng thông thường hoặc thử nghiệm) và một cho thư viện.
LarsH

2
@LarsH, tôi sẽ viết lại nó thành: "một dự án cho mỗi ứng dụng chính"
Nico

4
đây không phải là câu trả lời câu trả lời tệ
metis

169

HÔN trả lời:

mô-đun trong Android Studio giống như một dự án trong Eclipse

dự án trong Android Studio giống như một không gian làm việc trong Eclipse


8
Tôi đã phải vật lộn với vấn đề này bản thân mình và trong khi đây dường như là trường hợp khái niệm, tôi bối rối. Khi tôi tạo một 'Dự án' mới trong Android Studio, tôi được trình bày với một trình hướng dẫn hỏi tôi về những thứ như Chủ đề, sử dụng ActionBar, Bố cục lưới, v.v. Tôi đã nghĩ những thứ này sẽ được để lại cho Module. Nếu những câu hỏi này chỉ là để các lib hỗ trợ phù hợp được thêm vào 'Dự án' thì tôi hiểu, nhưng tôi cũng thấy những điều tương tự khi tạo mô-đun mới. Hơi bối rối.
Scott Naef

2
Bạn có một điểm, nhưng câu trả lời được chấp nhận chỉ lưu ý các vấn đề khi cố gắng làm việc với studio android như thể đó là nhật thực. Hầu hết mọi người tìm kiếm câu hỏi này chỉ cần biết sự tương tự là gì.
Oded Breiner

Tạo một dự án mới trong Android trông không giống một ứng dụng có tệp kê khai / res / và src - như được gắn vào "không gian làm việc". Khi tạo Mô-đun, hai o loại được cung cấp là 1) mô-đun ứng dụng và 2) mô-đun thư viện Android. # 1 dường như dư thừa cho "dự án mới" và # 1 và # 2 có vẻ giống nhau.
dùng1679130

oO là một mô-đun thực sự nhiều như vậy?!
Martin Pfeffer

1
@MartinPfeffer - không, nhưng đó là sự tương tự gần nhất, đọc thêm ở đây: jetbrains.org/intellij/sdk/docs/basics/project_structure.html
Oded Breiner

35

Một dự án trong Android Studio đại diện cho một ứng dụng Android hoàn chỉnh. Các dự án Android Studio bao gồm một hoặc nhiều mô-đun .

Một mô-đun là một thành phần của ứng dụng của bạn mà bạn có thể xây dựng, kiểm tra, hoặc gỡ lỗi một cách độc lập.

Các mô-đun chứa mã nguồn và tài nguyên cho ứng dụng của bạn.


10

Từ các tài liệu cập nhật [2019]:

Các mô-đun cung cấp một bộ chứa cho mã nguồn, tệp tài nguyên và cài đặt cấp độ ứng dụng của bạn, chẳng hạn như tệp xây dựng cấp mô-đun và tệp kê khai Android. Mỗi mô-đun có thể được xây dựng, thử nghiệm và gỡ lỗi độc lập.

Android Studio sử dụng các mô-đun để giúp dễ dàng thêm các thiết bị mới vào dự án của bạn. Bằng cách làm theo một số bước đơn giản trong Android Studio, bạn có thể tạo một mô-đun để chứa mã dành riêng cho loại thiết bị, chẳng hạn như Wear OS hoặc Android TV. Android Studio tự động tạo các thư mục mô-đun, chẳng hạn như thư mục nguồn và tài nguyên và tệp build.gradle mặc định phù hợp với loại thiết bị. Ngoài ra, Android Studio tạo các mô-đun thiết bị với các cấu hình xây dựng được đề xuất, chẳng hạn như sử dụng thư viện Leanback cho các mô-đun Android TV.

Ví dụ:

  • Mô-đun điện thoại và máy tính bảng
  • Mô-đun Android Wear
  • Mô-đun Android TV
  • Mô-đun thủy tinh

Bên cạnh đó, bạn cũng có thể có một "mô-đun thư viện cục bộ". Giả sử, bạn phát triển Khung quản lý tài khoản dưới dạng mô-đun thư viện để sử dụng cuối cùng trong Ứng dụng của mình, bạn có thể thực hiện dưới dạng một mô-đun riêng biệt trong cùng một dự án. Để bao gồm điều đó trong Ứng dụng của bạn, bạn sẽ phải viết một cái gì đó như,

compile project(':mylibrary')

Tài liệu nói,

Điều này tuyên bố sự phụ thuộc vào mô-đun thư viện Android có tên là "myl Library" (tên này phải khớp với tên thư viện được xác định là bao gồm trong tệp settings.gradle của bạn). Nó yêu cầu hệ thống xây dựng để biên dịch mô-đun thư viện với mô-đun ứng dụng của bạn và bao gồm tệp AAR kết quả trong APK của bạn.

Cuối cùng, Intellij đề cập thêm một số chi tiết về các tệp cấu hình Mô-đun:

Thông tin cấu hình cho một mô-đun được lưu trữ trong tệp mô-đun .iml . Theo mặc định, một tệp như vậy được đặt trong thư mục gốc nội dung của mô-đun.

Các nhóm phát triển, thông thường, chia sẻ các .imltệp mô-đun thông qua kiểm soát phiên bản.

Tập .imltin này là một chút đáng sợ để xem xét. Đây là một ví dụ từ dự án của tôi:

<?xml version="1.0" encoding="UTF-8"?>
<module external.linked.project.id=":app" external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$/.." external.system.id="GRADLE" external.system.module.group="LearnCity" external.system.module.version="unspecified" type="JAVA_MODULE" version="4">
  <component name="FacetManager">
    <facet type="android-gradle" name="Android-Gradle">
      <configuration>
        <option name="GRADLE_PROJECT_PATH" value=":app" />
      </configuration>
    </facet>
    <facet type="android" name="Android">
      <configuration>
        <option name="SELECTED_BUILD_VARIANT" value="debug" />
        <option name="ASSEMBLE_TASK_NAME" value="assembleDebug" />
        <option name="COMPILE_JAVA_TASK_NAME" value="compileDebugSources" />
        <afterSyncTasks>
          <task>generateDebugSources</task>
        </afterSyncTasks>
        <option name="ALLOW_USER_CONFIGURATION" value="false" />
        <option name="MANIFEST_FILE_RELATIVE_PATH" value="/src/main/AndroidManifest.xml" />
        <option name="RES_FOLDER_RELATIVE_PATH" value="/src/main/res/layouts/common/layout/ver3/layout" />
        <option name="RES_FOLDERS_RELATIVE_PATH" value="file://$MODULE_DIR$/src/main/res/layouts/common/layout/ver3/layout;file://$MODULE_DIR$/src/main/res/layouts/common/layout/ver3;file://$MODULE_DIR$/src/main/res/layouts/common/layout/ver2/layout;file://$MODULE_DIR$/src/main/res/layouts/common/layout/ver2;file://$MODULE_DIR$/src/main/res/layouts/common/layout/ver1/layout;file://$MODULE_DIR$/src/main/res/layouts/common/layout/ver1;file://$MODULE_DIR$/src/main/res/layouts/common/layout/ver0/layout;file://$MODULE_DIR$/src/main/res/layouts/common/layout/ver0;file://$MODULE_DIR$/src/main/res/layouts/common/layout;file://$MODULE_DIR$/src/main/res/layouts/learner/layout;file://$MODULE_DIR$/src/main/res/layouts/tutor/layout;file://$MODULE_DIR$/src/main/res/layouts/obsolete/layout;file://$MODULE_DIR$/src/main/res/layouts/common;file://$MODULE_DIR$/src/main/res/layouts/learner;file://$MODULE_DIR$/src/main/res/layouts/tutor;file://$MODULE_DIR$/src/main/res/layouts/obsolete;file://$MODULE_DIR$/src/main/res/layouts;file://$MODULE_DIR$/src/main/res;file://$MODULE_DIR$/src/debug/res" />
        <option name="ASSETS_FOLDER_RELATIVE_PATH" value="/src/main/assets" />
      </configuration>
    </facet>
  </component>
  <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_7" inherit-compiler-output="false">
    <output url="file://$MODULE_DIR$/build/intermediates/classes/debug" />
    <output-test url="file://$MODULE_DIR$/build/intermediates/classes/test/debug" />
    <exclude-output />
    <content url="file://$MODULE_DIR$">
      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/r/debug" isTestSource="false" generated="true" />
      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/aidl/debug" isTestSource="false" generated="true" />
      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/debug" isTestSource="false" generated="true" />
      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/rs/debug" isTestSource="false" generated="true" />
      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/apt/debug" isTestSource="false" generated="true" />
      <sourceFolder url="file://$MODULE_DIR$/build/generated/res/google-services/debug" type="java-resource" />
      <sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/debug" type="java-resource" />
      <sourceFolder url="file://$MODULE_DIR$/build/generated/res/resValues/debug" type="java-resource" />
      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/r/androidTest/debug" isTestSource="true" generated="true" />
      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/aidl/androidTest/debug" isTestSource="true" generated="true" />
      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/androidTest/debug" isTestSource="true" generated="true" />
      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/rs/androidTest/debug" isTestSource="true" generated="true" />
      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/apt/androidTest/debug" isTestSource="true" generated="true" />
      <sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/androidTest/debug" type="java-test-resource" />
      <sourceFolder url="file://$MODULE_DIR$/build/generated/res/resValues/androidTest/debug" type="java-test-resource" />
      <sourceFolder url="file://$MODULE_DIR$/src/debug/res" type="java-resource" />
      <sourceFolder url="file://$MODULE_DIR$/src/debug/resources" type="java-resource" />
      <sourceFolder url="file://$MODULE_DIR$/src/debug/assets" type="java-resource" />
      <sourceFolder url="file://$MODULE_DIR$/src/debug/aidl" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/src/debug/java" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/src/debug/rs" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/src/debug/shaders" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/src/testDebug/res" type="java-test-resource" />
      <sourceFolder url="file://$MODULE_DIR$/src/testDebug/resources" type="java-test-resource" />
      <sourceFolder url="file://$MODULE_DIR$/src/testDebug/assets" type="java-test-resource" />
      <sourceFolder url="file://$MODULE_DIR$/src/testDebug/aidl" isTestSource="true" />
      <sourceFolder url="file://$MODULE_DIR$/src/testDebug/java" isTestSource="true" />
      <sourceFolder url="file://$MODULE_DIR$/src/testDebug/rs" isTestSource="true" />
      <sourceFolder url="file://$MODULE_DIR$/src/testDebug/shaders" isTestSource="true" />
      <sourceFolder url="file://$MODULE_DIR$/src/main/res/layouts/common/layout/ver3/layout" type="java-resource" />
      <sourceFolder url="file://$MODULE_DIR$/src/main/res/layouts/common/layout/ver3" type="java-resource" />
      <sourceFolder url="file://$MODULE_DIR$/src/main/res/layouts/common/layout/ver2/layout" type="java-resource" />
      <sourceFolder url="file://$MODULE_DIR$/src/main/res/layouts/common/layout/ver2" type="java-resource" />
      <sourceFolder url="file://$MODULE_DIR$/src/main/res/layouts/common/layout/ver1/layout" type="java-resource" />
      <sourceFolder url="file://$MODULE_DIR$/src/main/res/layouts/common/layout/ver1" type="java-resource" />
      <sourceFolder url="file://$MODULE_DIR$/src/main/res/layouts/common/layout/ver0/layout" type="java-resource" />
      <sourceFolder url="file://$MODULE_DIR$/src/main/res/layouts/common/layout/ver0" type="java-resource" />
      <sourceFolder url="file://$MODULE_DIR$/src/main/res/layouts/common/layout" type="java-resource" />
      <sourceFolder url="file://$MODULE_DIR$/src/main/res/layouts/learner/layout" type="java-resource" />
      <sourceFolder url="file://$MODULE_DIR$/src/main/res/layouts/tutor/layout" type="java-resource" />
      <sourceFolder url="file://$MODULE_DIR$/src/main/res/layouts/obsolete/layout" type="java-resource" />
      <sourceFolder url="file://$MODULE_DIR$/src/main/res/layouts/common" type="java-resource" />
      <sourceFolder url="file://$MODULE_DIR$/src/main/res/layouts/learner" type="java-resource" />
      <sourceFolder url="file://$MODULE_DIR$/src/main/res/layouts/tutor" type="java-resource" />
      <sourceFolder url="file://$MODULE_DIR$/src/main/res/layouts/obsolete" type="java-resource" />
      <sourceFolder url="file://$MODULE_DIR$/src/main/res/layouts" type="java-resource" />
      <sourceFolder url="file://$MODULE_DIR$/src/main/res" type="java-resource" />
      <sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
      <sourceFolder url="file://$MODULE_DIR$/src/main/assets" type="java-resource" />
      <sourceFolder url="file://$MODULE_DIR$/src/main/aidl" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/src/main/rs" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/src/main/shaders" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/res" type="java-test-resource" />
      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/resources" type="java-test-resource" />
      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/assets" type="java-test-resource" />
      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/aidl" isTestSource="true" />
      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/java" isTestSource="true" />
      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/rs" isTestSource="true" />
      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/shaders" isTestSource="true" />
      <sourceFolder url="file://$MODULE_DIR$/src/test/res" type="java-test-resource" />
      <sourceFolder url="file://$MODULE_DIR$/src/test/resources" type="java-test-resource" />
      <sourceFolder url="file://$MODULE_DIR$/src/test/assets" type="java-test-resource" />
      <sourceFolder url="file://$MODULE_DIR$/src/test/aidl" isTestSource="true" />
      <sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
      <sourceFolder url="file://$MODULE_DIR$/src/test/rs" isTestSource="true" />
      <sourceFolder url="file://$MODULE_DIR$/src/test/shaders" isTestSource="true" />
      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/assets" />
      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/blame" />
      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/builds" />
      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/classes" />
      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental" />
      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental-classes" />
      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental-runtime-classes" />
      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental-safeguard" />
      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental-verifier" />
      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/instant-run-resources" />
      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/instant-run-support" />
      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/jniLibs" />
      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/manifests" />
      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/multi-dex" />
      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/pre-dexed" />
      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/reload-dex" />
      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/res" />
      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/restart-dex" />
      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/rs" />
      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/shaders" />
      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/split-apk" />
      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/symbols" />
      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/transforms" />
      <excludeFolder url="file://$MODULE_DIR$/build/outputs" />
      <excludeFolder url="file://$MODULE_DIR$/build/tmp" />
    </content>
    <orderEntry type="jdk" jdkName="Android API 25 Platform" jdkType="Android SDK" />
    <orderEntry type="sourceFolder" forTests="false" />
    <orderEntry type="library" exported="" name="google-http-client-android-1.22.0" level="project" />
    <orderEntry type="library" exported="" name="firebase-analytics-10.2.0" level="project" />
    <orderEntry type="library" exported="" name="firebase-core-10.2.0" level="project" />
    <orderEntry type="library" exported="" name="play-services-auth-base-10.2.0" level="project" />
    <orderEntry type="library" exported="" name="gson-2.8.0" level="project" />
    <orderEntry type="library" exported="" name="play-services-tasks-10.2.0" level="project" />
    <orderEntry type="library" exported="" name="constraint-layout-1.0.2" level="project" />
    <orderEntry type="library" exported="" name="appengine-api-1.0-sdk-1.9.50" level="project" />
    <orderEntry type="library" exported="" name="design-25.3.0" level="project" />
    <orderEntry type="library" exported="" name="android-job-1.1.8" level="project" />
    <orderEntry type="library" exported="" name="transition-25.3.0" level="project" />
    <orderEntry type="library" exported="" name="play-services-base-10.2.0" level="project" />
    <orderEntry type="library" exported="" name="multispinner-0.1.1" level="project" />
    <orderEntry type="library" exported="" name="play-services-auth-10.2.0" level="project" />
    <orderEntry type="library" exported="" name="support-core-ui-25.3.0" level="project" />
    <orderEntry type="library" exported="" name="simpleratingbar-0.1.5" level="project" />
    <orderEntry type="library" exported="" name="play-services-maps-10.2.0" level="project" />
    <orderEntry type="library" exported="" name="play-services-location-10.2.0" level="project" />
    <orderEntry type="library" exported="" name="firebase-iid-10.2.0" level="project" />
    <orderEntry type="library" exported="" name="support-core-utils-25.3.0" level="project" />
    <orderEntry type="library" exported="" name="jsr305-2.0.1" level="project" />
    <orderEntry type="library" exported="" name="support-fragment-25.3.0" level="project" />
    <orderEntry type="library" exported="" scope="TEST" name="multidex-instrumentation-1.0.1" level="project" />
    <orderEntry type="library" exported="" name="constraint-layout-solver-1.0.2" level="project" />
    <orderEntry type="library" exported="" name="androidannotations-api-3.2" level="project" />
    <orderEntry type="library" exported="" name="java-uuid-generator-3.1.4" level="project" />
    <orderEntry type="library" exported="" name="google-http-client-1.22.0" level="project" />
    <orderEntry type="library" exported="" name="firebase-messaging-10.2.0" level="project" />
    <orderEntry type="library" exported="" name="firebase-analytics-impl-10.2.0" level="project" />
    <orderEntry type="library" exported="" name="firebase-common-10.2.0" level="project" />
    <orderEntry type="library" exported="" name="eventbus-3.0.0" level="project" />
    <orderEntry type="library" exported="" name="cat-1.0.5" level="project" />
    <orderEntry type="library" exported="" name="play-services-basement-10.2.0" level="project" />
    <orderEntry type="library" exported="" name="support-compat-25.3.0" level="project" />
    <orderEntry type="library" exported="" name="support-v4-25.3.0" level="project" />
    <orderEntry type="library" exported="" name="multidex-1.0.1" level="project" />
    <orderEntry type="library" exported="" scope="TEST" name="hamcrest-core-1.3" level="project" />
    <orderEntry type="library" exported="" name="support-media-compat-25.3.0" level="project" />
    <orderEntry type="library" exported="" scope="TEST" name="junit-4.12" level="project" />
    <orderEntry type="library" exported="" name="recyclerview-v7-25.3.0" level="project" />
    <orderEntry type="library" exported="" name="appcompat-v7-25.3.0" level="project" />
    <orderEntry type="library" exported="" name="animated-vector-drawable-25.3.0" level="project" />
    <orderEntry type="library" exported="" name="support-annotations-25.3.0" level="project" />
    <orderEntry type="library" exported="" name="support-vector-drawable-25.3.0" level="project" />
    <orderEntry type="module" module-name="backend" exported="" />
    <orderEntry type="library" exported="" name="android-android-25" level="project" />
  </component>
</module>

Mặc dù câu trả lời được chấp nhận đã hết, thời gian và xu hướng của Google thay đổi như cơn gió đã khiến nó trở nên lỗi thời (tôi có dám nói @Deprecatedkhông?). Điều này có ý nghĩa hơn nhiều.
Scott Bigss

1

IntelliJ IDEA tạo ra một dự án cho toàn bộ cơ sở mã mà bạn làm việc và một mô-đun cho từng thành phần riêng lẻ của nó. Vì vậy, mô-đun IntelliJ IDEA giống như một dự án Eclipse và dự án gần giống với không gian làm việc của Eclipse. Không có chính xác tương đương với không gian làm việc của Eclipse chứa tất cả công việc của bạn, nhưng bạn có thể mở nhiều dự án trong nhiều khung hình cùng một lúc.

Đây là câu hỏi và trả lời của IntelliJ IDEA cho người dùng Eclipse-

http://www.jetbrains.com/idea/documentation/migration_faq.html


1

Các mô-đun giống như apkLib, tức là nó có độ phân giải, bảng kê khai, kiểm tra, v.v. nhưng ứng dụng chính thường sử dụng các apk / mô-đun khác nhau để giúp kết hợp tất cả lại trong một giải pháp


-5

Nhắc đến câu trả lời của @Oded Breiner tôi sẽ nói rằng:

mô-đun trong Android Studio giống như một dự án trong Eclipse

dự án trong Android Studio giống như một bộ làm việc trong Eclipse


1
Không hẳn vậy. IMHO "bộ làm việc" trong Eclipse chỉ là "bộ lọc" cho không gian làm việc hiện tại. Bạn không thể có hai không gian làm việc trong Eclipse, cũng như bạn không thể mở hai dự án trong cùng một phiên bản Android Studio (thực tế khi bạn mở một dự án khác, bạn phải thay thế dự án trước hoặc để mở dự án sau một cửa sổ mới)
ocramot

1
Bạn có thể đề nghị chỉnh sửa thay vì tham khảo câu trả lời ban đầu với ít thay đổi!
kokabi
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.