Android studio: proyek baru vs modul baru

141

Android Studio menggunakan konsep modules, sedangkan IDE lain seperti Eclipse digunakan projects. Namun Filemenu AS memiliki opsi untuk membuat New Modulea new Project.

Apa perbedaan antara keduanya jika ada?

Mana yang disarankan untuk digunakan?

Paschalis
sumber

Jawaban:

102

Dari dokumentasi (Android Studio didasarkan pada Intellij IDEA):

Apa pun yang Anda lakukan di IntelliJ IDEA, Anda melakukannya dalam konteks proyek. Proyek adalah unit organisasi yang mewakili solusi perangkat lunak lengkap.

Produk jadi Anda dapat diurai menjadi serangkaian modul terpisah, terisolasi, tapi itu adalah definisi proyek yang menyatukan mereka dan mengikat mereka menjadi keseluruhan yang lebih besar.

Untuk Android, ini berarti satu proyek per aplikasi, dan satu modul per perpustakaan dan per aplikasi pengujian.

Ada beberapa masalah jika Anda mencoba membangun beberapa aplikasi dalam proyek yang sama. Itu mungkin, tetapi jika Anda mencoba (seperti yang saya lakukan), Anda akan melihat bahwa hampir semuanya dirancang untuk bekerja dengan satu aplikasi per proyek.

Misalnya, ada opsi untuk "membangun kembali proyek", yang tidak masuk akal dengan banyak aplikasi, banyak pengaturan proyek lainnya tidak akan berguna, dan sistem VCS bawaan tidak bagus ketika Anda memiliki banyak repositori.

Dalma
sumber
1
"Ini berarti satu proyek per aplikasi, dan satu modul per perpustakaan dan per aplikasi uji" ... Apa artinya ini? Jika "aplikasi uji" adalah aplikasi, maka hanya ada dua modul per proyek, satu untuk aplikasi (aplikasi reguler atau uji) dan satu untuk perpustakaan.
LarsH
2
@ LarsH, saya akan ulang kata itu sebagai: "proyek per aplikasi utama"
Nico
4
ini bukan jawabannya. jawaban buruk
metis
169

Jawaban KISS:

modul di Android Studio seperti proyek di Eclipse

proyek di Android Studio seperti ruang kerja di Eclipse

Oded Breiner
sumber
8
Saya sendiri telah berjuang dengan masalah ini dan sementara ini tampaknya menjadi kasus konseptual, saya bingung. Ketika saya membuat 'Proyek' baru di Android Studio saya disajikan dengan wizard yang bertanya kepada saya tentang hal-hal seperti Tema, penggunaan ActionBar, Grid Layout dan semacamnya. Saya akan berpikir hal-hal ini akan diserahkan kepada Modul. Jika pertanyaan-pertanyaan ini hanya jadi lib dukungan yang tepat ditambahkan ke 'Proyek' maka saya mengerti, tetapi saya juga melihat hal-hal yang sama ketika membuat modul baru. Cukup membingungkan.
Scott Naef
2
Anda ada benarnya, tetapi jawaban yang diterima hanya mencatat masalah dengan mencoba bekerja dengan studio android seolah-olah itu gerhana. Kebanyakan orang mencari pertanyaan ini hanya perlu tahu apa analoginya.
Oded Breiner
Membuat proyek baru di Android tidak lebih mirip aplikasi dengan manifes / res / dan src - seperti yang diterapkan pada "ruang kerja". Saat membuat Modul, dua tipe yang ditawarkan adalah 1) modul aplikasi dan 2) modul perpustakaan android. # 1 tampaknya berlebihan untuk "proyek baru" dan # 1 dan # 2 tampaknya sama.
user1679130
oO adalah modul yang sangat banyak ?!
Martin Pfeffer
1
@MartinPfeffer - tidak, tapi itu analogi terdekat, baca lebih lanjut di sini: jetbrains.org/intellij/sdk/docs/basics/project_structure.html
Oded Breiner
35

Sebuah proyek di Android Studio mewakili aplikasi Android yang lengkap. Proyek Android Studio terdiri dari satu atau lebih modul .

Sebuah modul adalah komponen dari aplikasi Anda bahwa Anda dapat membangun, menguji, atau debug secara mandiri.

Modul berisi kode sumber dan sumber daya untuk aplikasi Anda.

Chulo
sumber
10

Dari dokumen yang diperbarui [2019]:

Modul menyediakan wadah untuk kode sumber aplikasi Anda, file sumber daya, dan pengaturan level aplikasi, seperti file build tingkat modul dan file manifes Android. Setiap modul dapat dibangun, diuji, dan disadap secara independen.

Android Studio menggunakan modul untuk memudahkan menambahkan perangkat baru ke proyek Anda. Dengan mengikuti beberapa langkah sederhana di Android Studio, Anda dapat membuat modul berisi kode yang spesifik untuk jenis perangkat, seperti Wear OS atau Android TV. Android Studio secara otomatis membuat direktori modul, seperti direktori sumber dan sumber daya, dan file build.gradle default yang sesuai untuk jenis perangkat. Juga, Android Studio membuat modul perangkat dengan konfigurasi bangunan yang disarankan, seperti menggunakan perpustakaan Leanback untuk modul TV Android.

Ex:

  • Modul Ponsel & Tablet
  • Modul Android Wear
  • Modul TV Android
  • Modul Kaca

Selain itu, Anda juga dapat memiliki "modul perpustakaan lokal". Katakanlah, Anda mengembangkan Kerangka Manajemen Akun sebagai modul pustaka yang akan digunakan pada akhirnya di Aplikasi Anda, Anda dapat melakukannya sebagai modul terpisah dalam proyek yang sama. Untuk memasukkan itu ke dalam Aplikasi Anda, Anda harus menulis sesuatu seperti,

compile project(':mylibrary')

Documents katakan,

Ini menyatakan ketergantungan pada modul perpustakaan Android bernama "perpustakaan saya" (nama ini harus cocok dengan nama perpustakaan yang didefinisikan sebagai termasuk dalam file settings.gradle Anda). Ini membutuhkan sistem build untuk mengkompilasi modul perpustakaan dengan modul aplikasi Anda dan menyertakan file AAR yang dihasilkan di APK Anda.

Terakhir, Intellij menyebutkan beberapa detail lebih lanjut tentang file konfigurasi Modul:

Informasi konfigurasi untuk modul disimpan dalam .iml file modul . Secara default, file tersebut terletak di folder root konten modul.

Tim pengembang, biasanya, berbagi .imlfile modul melalui kontrol versi.

Ini .imlfile sedikit menakutkan untuk melihat. Ini adalah contoh dari proyek saya:

<?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>
Manish Kumar Sharma
sumber
Sementara jawaban yang diterima mati, waktu dan kecenderungan Google untuk berubah seperti angin telah menjadikannya usang (berani saya katakan @Deprecated,?). Ini jauh lebih masuk akal.
Scott Biggs
1

IntelliJ IDEA membuat proyek untuk seluruh basis kode yang bekerja dengan Anda, dan sebuah modul untuk masing-masing komponen individualnya. Jadi, modul IntelliJ IDEA lebih seperti proyek Eclipse, dan proyek ini kira-kira mirip dengan ruang kerja Eclipse. Tidak ada yang setara persis dengan ruang kerja Eclipse yang berisi semua pekerjaan Anda, tetapi Anda dapat membuka beberapa proyek dalam beberapa frame secara bersamaan.

Inilah halaman Tanya Jawab ID IntelliJ untuk halaman Pengguna Eclipse-

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

Pramod
sumber
1

Modul seperti apkLibs yaitu memiliki res, manifes, tes dll, tetapi aplikasi utama biasanya menggunakan berbagai apklibs / modul untuk membantu menyatukan semuanya dalam satu solusi

Jonathan
sumber
-5

Mengacu pada jawaban @Oded Breiner saya akan mengatakan bahwa:

modul di Android Studio seperti proyek di Eclipse

proyek di Android Studio seperti set kerja di Eclipse

Feio
sumber
1
Tidak juga. IMHO "set kerja" di Eclipse hanyalah "filter" untuk ruang kerja saat ini. Anda tidak dapat memiliki dua ruang kerja di Eclipse, dan Anda juga tidak dapat membuka dua proyek di Android Studio yang sama (pada kenyataannya ketika Anda membuka proyek lain, Anda harus mengganti yang pertama, atau untuk membuka yang kedua di jendela baru)
ocramot
1
Anda dapat menyarankan edit alih-alih merujuk jawaban asli dengan sedikit perubahan!
kokabi