Android Studio:使用Mac(OSX)和Windows为同一项目更改SDK位置

时间:2015-10-05 05:19:55

标签: android windows git macos android-studio

我正在开发一个Android Studio项目,我的团队成员使用Windows并使用OSX。

问题在于,当我从git中提取新代码然后打开项目时,我会根据Mac的SDK位置进行各种更改:

首次打开项目时的通知: enter image description here

git diff记录了一系列与此类似的更改:

enter image description here

我们如何配置Android Studio项目,以便不必进行这些自动代码更改,或者是否有办法最大限度地减少更改的文件数量?

更新

我更新了.gitignore并将其推送到远程仓库。

当我的团队更新了更多代码并将其删除时,我仍然遇到了相同的问题。

以下是我git status之后的片段(我使用" ..."来表示该文件夹中的多个文件):

modified:   .idea/gradle.xml
modified:   .idea/misc.xml
modified:   .idea/modules.xml
modified:   .idea/vcs.xml
modified:   app/app.iml
modified:   app/build/intermediates/incremental/mergeAssets/androidTest/debug/merger.xml
…
    modified:   app/build/intermediates/incremental/mergeResources/debug/merger.xml
    modified:   app/build/intermediates/res/debug/anim/abc_fade_in.xml
...
    modified:   app/build/intermediates/res/debug/anim/abc_slide_out_top.xml
    modified:   app/build/intermediates/res/debug/color-v11/abc_background_cache_hint_selector_material_dark.xml
    modified:   app/build/intermediates/res/debug/color-v11/abc_background_cache_hint_selector_material_light.xml
    modified:   app/build/intermediates/res/debug/color/abc_background_cache_hint_selector_material_dark.xml
...
    modified:   app/build/intermediates/res/debug/color/wallet_secondary_text_holo_dark.xml
    modified:   app/build/intermediates/res/debug/drawable/abc_btn_borderless_material.xml
...
    modified:   app/build/intermediates/res/debug/drawable/timeline_button_hover.xml
    modified:   app/build/intermediates/res/debug/layout/abc_action_bar_title_item.xml
...
    modified:   app/build/intermediates/res/debug/layout/support_simple_spinner_dropdown_item.xml
    modified:   app/build/intermediates/res/debug/menu/menu_all_locations.xml
    modified:   app/build/intermediates/res/debug/menu/menu_main.xml
    modified:   app/build/intermediates/res/debug/values-af/values-af.xml
...
    modified:   app/build/intermediates/res/debug/values/values.xml
    modified:   app/build/intermediates/resources/resources-debug-androidTest.ap_
    modified:   app/build/intermediates/resources/resources-debug.ap_
    modified:   build/intermediates/gradle_project_sync_data.bin
    modified:   local.properties

这是我的.gitignore,正如@Gabriele Mariotti所建议的那样:

#built application files
*.apk
*.ap_

# files for the dex VM
*.dex

# Java class files
*.class

# generated files
bin/
gen/

# Local configuration file (sdk path, etc)
local.properties

# Windows thumbnail db
Thumbs.db

# OSX files
.DS_Store

# Eclipse project files
.classpath
.project

# Android Studio
*.iws
*.iml
.idea
.gradle
build/
*/build/

我是否需要额外的.gitignore配置?如果我排除.idea,那么为什么这些文件会显示为已更改?

1 个答案:

答案 0 :(得分:5)

在项目内部,您会找到一些Android Studio文件,例如每个模块中的.ideaiml文件。
另请查看this answer了解详情。

这些资源包含本地路径和引用,您应该从git仓库中排除它们(.idea文件夹和iml文件)。

这是我们与Mac,Linux和Windows用户一起使用的.gitignore的示例。

#built application files
*.apk
*.ap_

# files for the dex VM
*.dex

# Java class files
*.class

# generated files
bin/
gen/

# Local configuration file (sdk path, etc)
local.properties

# Windows thumbnail db
Thumbs.db

# OSX files
.DS_Store

# Eclipse project files
.classpath
.project

# Android Studio
*.iws
*.iml
.idea
.gradle
build/
*/build/

如果这些文件在git repo中,则应从远程仓库中删除它们,然后重建本地项目。