Android Studio: Neues Projekt gegen neues Modul

141

Android Studio verwendet das Konzept von modules, während andere IDEs wie Eclipse verwenden projects. Das AS- FileMenü bietet jedoch die Möglichkeit, sowohl ein New Moduleals auch ein zu erstellen new Project.

Was sind die Unterschiede zwischen diesen beiden, wenn überhaupt?

Welches wird empfohlen?

Paschalis
quelle

Antworten:

102

Aus der Dokumentation (Android Studio basiert auf Intellij IDEA):

Was auch immer Sie in IntelliJ IDEA tun, Sie tun dies im Rahmen eines Projekts. Ein Projekt ist eine Organisationseinheit, die eine vollständige Softwarelösung darstellt.

Ihr fertiges Produkt kann in eine Reihe von diskreten, isolierten Modulen zerlegt werden, aber es ist eine Projektdefinition, die sie zusammenführt und zu einem größeren Ganzen zusammenfügt.

Für Android bedeutet dies ein Projekt pro App und ein Modul pro Bibliothek und pro Test-App.

Es gibt mehrere Probleme, wenn Sie versuchen, mehrere Apps innerhalb desselben Projekts zu erstellen. Es ist möglich, aber wenn Sie es versuchen (wie ich), werden Sie feststellen, dass fast alles so konzipiert ist, dass es mit einer einzigen App pro Projekt funktioniert.

Zum Beispiel gibt es eine Option zum "Neuerstellen des Projekts", die bei mehreren Apps keinen Sinn macht, viele andere Projekteinstellungen wären nutzlos und das integrierte VCS-System ist nicht besonders gut, wenn Sie mehrere Repositorys haben.

Dalmas
quelle
1
"Es bedeutet ein Projekt pro App und ein Modul pro Bibliothek und pro Test-App" ... Was bedeutet das? Wenn eine "Test-App" eine App ist, können nur zwei Module pro Projekt vorhanden sein, eines für eine App (reguläre oder Test-App) und eines für eine Bibliothek.
LarsH
2
@LarsH, ich würde es umformulieren als: "ein Projekt pro Haupt-App"
Nico
4
Das ist nicht die Antwort. schlechte Antwort
Metis
169

KISS Antwort:

Modul in Android Studio ist wie ein Projekt in Eclipse

Projekt in Android Studio ist wie ein Arbeitsbereich in Eclipse

Oded Breiner
quelle
8
Ich habe selbst mit diesem Problem zu kämpfen, und obwohl dies der konzeptionelle Fall zu sein scheint, bin ich verwirrt. Wenn ich in Android Studio ein neues 'Projekt' erstelle, wird mir ein Assistent angezeigt, der mich nach Themen wie Thema, Verwendung von ActionBar, Rasterlayout usw. fragt. Ich hätte gedacht, diese Dinge würden dem Modul überlassen. Wenn diese Fragen nur so sind, dass die entsprechenden Support-Bibliotheken zum 'Projekt' hinzugefügt werden, verstehe ich, aber ich sehe die gleichen Dinge auch beim Erstellen eines neuen Moduls. Ziemlich verwirrend.
Scott Naef
2
Sie haben einen Punkt, aber die akzeptierte Antwort vermerkt nur die Probleme beim Versuch, mit Android Studio zu arbeiten, als wäre es eine Sonnenfinsternis. Die meisten Leute, die nach dieser Frage suchen, müssen nur wissen, was die Analogie ist.
Oded Breiner
Das Erstellen eines neuen Projekts in Android ähnelt nicht mehr einer App mit manifest / res / und src - wie es einem "Arbeitsbereich" zugeordnet ist. Beim Erstellen eines Moduls werden zwei Typen angeboten: 1) Anwendungsmodul und 2) Android-Bibliotheksmodul. # 1 scheint für "neues Projekt" überflüssig zu sein und # 1 und # 2 scheinen gleich zu sein.
user1679130
oO ist ein Modul wirklich so viel?!
Martin Pfeffer
1
@ MartinPfeffer - nein, aber das ist die engste Analogie, lesen Sie hier mehr: jetbrains.org/intellij/sdk/docs/basics/project_structure.html
Oded Breiner
35

Ein Projekt in Android Studio repräsentiert eine vollständige Android-App. Android Studio-Projekte bestehen aus einem oder mehreren Modulen .

Ein Modul ist eine Komponente Ihrer App, die Sie unabhängig erstellen, testen oder debuggen können.

Module enthalten den Quellcode und die Ressourcen für Ihre App.

Chulo
quelle
10

Aus aktualisierten Dokumenten [2019]:

Module bieten einen Container für den Quellcode, die Ressourcendateien und die Einstellungen auf App-Ebene Ihrer App, z. B. die Build-Datei auf Modulebene und die Android-Manifestdatei. Jedes Modul kann unabhängig erstellt, getestet und debuggt werden.

Android Studio verwendet Module, um das Hinzufügen neuer Geräte zu Ihrem Projekt zu vereinfachen. Mit ein paar einfachen Schritten in Android Studio können Sie ein Modul erstellen, das Code enthält, der für einen Gerätetyp spezifisch ist, z. B. Wear OS oder Android TV. Android Studio erstellt automatisch Modulverzeichnisse wie Quell- und Ressourcenverzeichnisse sowie eine für den Gerätetyp geeignete Standarddatei build.gradle. Außerdem erstellt Android Studio Gerätemodule mit empfohlenen Build-Konfigurationen, z. B. mithilfe der Leanback-Bibliothek für Android TV-Module.

Ex:

  • Telefon- und Tablet-Modul
  • Android Wear Modul
  • Android TV-Modul
  • Glasmodul

Daneben können Sie auch ein "lokales Bibliotheksmodul" haben. Angenommen, Sie entwickeln ein Account Management Framework als Bibliotheksmodul, das letztendlich in Ihrer App verwendet wird. Sie können dies als separates Modul im selben Projekt tun. Um dies in Ihre App aufzunehmen, müssten Sie Folgendes schreiben:

compile project(':mylibrary')

Docs sagen,

Dies deklariert eine Abhängigkeit von einem Android-Bibliotheksmodul mit dem Namen "mylibrary" (dieser Name muss mit dem Bibliotheksnamen übereinstimmen, der als Include in Ihrer settings.gradle-Datei definiert ist). Das Build-System muss das Bibliotheksmodul mit Ihrem App-Modul kompilieren und die resultierende AAR-Datei in Ihre APK aufnehmen.

Zuletzt erwähnt Intellij einige weitere Details zu Modulkonfigurationsdateien :

Konfigurationsinformationen für ein Modul werden in einer IML gespeichert Moduldatei gespeichert. Standardmäßig befindet sich eine solche Datei im Inhaltsstammordner des Moduls.

Entwicklungsteams teilen die .imlModuldateien normalerweise über die Versionskontrolle.

Diese .imlDatei ist etwas beängstigend anzusehen. Hier ist ein Beispiel aus meinem Projekt:

<?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
quelle
Während die akzeptierte Antwort tot war, haben Zeit und Googles Tendenz, sich wie der Wind zu ändern, sie obsolet gemacht (darf ich sagen , @Deprecated?). Das macht viel mehr Sinn.
Scott Biggs
1

IntelliJ IDEA erstellt ein Projekt für die gesamte Codebasis, mit der Sie arbeiten, und ein Modul für jede einzelne Komponente. Das IntelliJ IDEA-Modul ähnelt also eher einem Eclipse-Projekt, und das Projekt ähnelt in etwa dem Eclipse-Arbeitsbereich. Es gibt kein genaues Äquivalent zum Arbeitsbereich von Eclipse, der alle Ihre Arbeiten enthält, aber Sie können mehrere Projekte gleichzeitig in mehreren Frames öffnen.

Hier ist die Seite mit den Fragen und Antworten zu IntelliJ IDEA für Eclipse-Benutzer.

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

Pramod
quelle
1

Module sind wie apkLibs, dh sie haben ihre eigenen Res, Manifeste, Tests usw., aber die Haupt-App verwendet normalerweise verschiedene apklibs / Module, um alles in einer Lösung zusammenzufassen

Jonathan
quelle
-5

In Bezug auf die Antwort von @Oded Breiner würde ich sagen:

Modul in Android Studio ist wie ein Projekt in Eclipse

Projekt in Android Studio ist wie ein Arbeitsset in Eclipse

Feio
quelle
1
Nicht wirklich. IMHO "Arbeitssätze" in Eclipse sind nur "Filter" für den aktuellen Arbeitsbereich. Sie können in Eclipse nicht zwei Arbeitsbereiche haben, und Sie können nicht zwei Projekte in derselben Instanz von Android Studio öffnen (wenn Sie ein anderes Projekt öffnen, müssen Sie das erstere ersetzen oder das letztere in öffnen ein neues Fenster)
Ocramot
1
Sie könnten vorschlagen, die ursprüngliche Antwort mit kleinen Änderungen zu bearbeiten!
Kokabi