android studio項目能在mac和windows系統下切換嗎,可以的話要怎麼做?


完全可以,Android Studio / Intellij IDEA 只需要源碼、資源文件和gradle script,將能構建成在任何平台上運行的工程。

下面由我來上圖說明一下gradle 的工程結構,以及如何提交一份乾淨的代碼給別人。

你在最新版的android studio 中新建項目之後看到的項目結構是這樣的:

在Android 視圖中它已經對gradle 腳本,module 進行了分組,而在module 中又對java代碼和其它資源和android 的配置進行了分組,看起來比較清晰。

而如果你點開Project 視圖則能看到Android Studio (Gradle Android)工程的目錄結構 :

其中:

  • .gradle 是gradle 運行以後生成的緩存文件夾。

  • .idea 是android studio / Intellij IDEA 工程打開以後生成的工作環境配置文件夾。

  • app 文件夾是你的application module,其中包含你的源碼。

  • build 文件夾為編譯時的緩存文件夾,每次運行時都會生成,同時你在運行了gradle clean 的任務以後它會被刪除清理掉。

  • gradle 文件夾中包含的是gradle-wrapper.jar 文件,通過配置其中的gradle-wrapper.properties 中的distributionUrl 可以給你的項目指定需要使用的gradle 版本。
  • .gitignore 文件為git 版本控制的忽略清單。
  • gradle.build 為project 全局的配置。
  • gradle.properties 為 gradle 的參數配置。
  • *.iml 文件為Android Studio / Intellij IDEA 為每一個module 生成的配置文件
  • gradlew gradlew.bat 是gradle 任務的腳本命令。
  • local.properties 中配置個人電腦環境中的配置,這不能提供給別人使用。
  • settings.gradle 文件中可指定project 目錄中的任何一個文件夾為gradle 的module

而在組成部分中,有一部份是可以像原先eclipse 項目中的bin目錄一樣是可以直接刪除的,它們多半是一些緩存文件,它們佔用著較大的存儲空間,非常不利於在版本控制中分發代碼。

或者這些文件只對於你當前的工作環境有效,例如.idea 文件夾和 iml 文件記錄著你的開發窗口當前的狀態和你電腦上的配置,而分享給別人以後,別人的窗口布局都會在同步完代碼以後發生改變,它們只是你電腦上的配置,卻應用到了別人的電腦中。

當你完整的clean 掉一份工程之後,可以通過Android Studio / Intellij IDEA open Project 中的 build.gradle 文件來生成這些不需要的文件。它們是:

  • .gradle

  • .idea

  • build

  • *.iml

在排除掉這些文件之後,你可以更輕鬆自如的使用版本控制提交和抽取代碼,版本控制中只會存構成項目的必須文件。

如果你使用git 作版本控制,那麼你可以輕鬆的使用android studio / Intellij IDEA 的.gitignore 插件來生成一份可以將這些文件排除在外的.gitignore 過濾清單。這樣在你使用git 分發代碼時,這些不必要的文件將不會被提交到git server 中去。

而當你沒有使用git 的時候,你仍然可以直接手動將這些文件給刪除,那麼你會得到一個這樣的結構:

其實記得將module 中的build 文件夾和 *.iml 文件也刪除,每一個module 中都會生成。

如果你直接在Android Studio / Intellij IDEA 的Terminal 中運行./gradlew clean 命令,所有module 中的build 文件夾將會被刪除。此時你再手動去刪除其它文件會更輕鬆。

而最重要的來了!

當你將這樣一份完全清理過的代碼分發給任務一個Android Studio / Intellij IDEA 用戶時,他們都可以使用工具的open 功能,選中project 中build.gradle 文件,來構建成一份完成的Gradle 工程。

下面的連接可以將你傳送到我之前寫過的一個示例工程,裡面有更多關於gradle 工程的介紹。

ShinChven/MigrateToGradle · GitHub


你不需要做什麼,Gradle項目,任何平台都可以使用,只要你有Gradle,AS都不是必須的


不知道題主具體要幹什麼

我們團隊的配置是這樣的,6個人,2台Windows,4台iMac。3個人用Eclipse,2個人用Android Studio,1個人用Intellij IDEA,項目代碼放到SVN,文件編碼用UTF-8。6個人編碼編的很歡樂,沒出現任何問題。

當然,也沒有用Gradle


在Ubuntu上寫了會代碼,後來升級win10,剛覺不錯,Ubuntu上的代碼同步到github上,再從github同步到Win10,沒啥問題。


如果這都不可以的話,Google絕對不會這麼推崇AS,而放棄ADT。


推薦閱讀:

使用Microsoft登陸電腦自動創建的用戶文件夾名怎麼改?
有沒有適合win10的非國產殺毒軟體?
如何評價Windows 10 Mobile 10166版本?
微軟計劃 Windows 10 使用「統一的核心」驅動手機、桌面電腦等設備,這意味著什麼?
為什麼有人說「程序員用 Windows 的就面壁去,Ubuntu 和 Debian 都是及格,Mac 70分 Windows < OS X < Ubuntu」?

TAG:Mac | MicrosoftWindows | 項目開發 | Android | AndroidStudio |