有兩種流行的結(jié)構(gòu):老的Ant & Eclipse ADT 工程結(jié)構(gòu),和新的Gradle & Android Studio 工程結(jié)構(gòu), 你應(yīng)該選擇新的工程結(jié)構(gòu),如果你的工程還在使用老的結(jié)構(gòu),考慮放棄吧,將工程移植到新的結(jié)構(gòu)。
老的結(jié)構(gòu):
old-structure
├─ assets
├─ libs
├─ res
├─ src
│ └─ com/futurice/project
├─ AndroidManifest.xml
├─ build.gradle
├─ project.properties
└─ proguard-rules.pro
新的結(jié)構(gòu)
new-structure
├─ library-foobar
├─ app
│ ├─ libs
│ ├─ src
│ │ ├─ androidTest
│ │ │ └─ java
│ │ │ └─ com/futurice/project
│ │ └─ main
│ │ ├─ java
│ │ │ └─ com/futurice/project
│ │ ├─ res
│ │ └─ AndroidManifest.xml
│ ├─ build.gradle
│ └─ proguard-rules.pro
├─ build.gradle
└─ settings.gradle
主要的區(qū)別在于,新的結(jié)構(gòu)明確的分開了'source sets' (main
,androidTest
),Gradle的一個(gè)理念。 你可以做到,例如,添加源組‘paid’和‘free’在src中,這將成為您的應(yīng)用程序的付費(fèi)和免費(fèi)的兩種模式的源代碼。
你的項(xiàng)目引用第三方項(xiàng)目庫(kù)時(shí)(例如,library-foobar),擁有一個(gè)頂級(jí)包名app
從第三方庫(kù)項(xiàng)目區(qū)分你的應(yīng)用程序是非常有用的。 然后settings.gradle
不斷引用這些庫(kù)項(xiàng)目,其中app/build.gradle
可以引用。
更多建議: