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

Posted

技术标签:

【中文标题】Android Studio:使用 Mac (OSX) 和 Windows 的同一项目的 SDK 位置更改【英文标题】:Android Studio: SDK location changes for same project using Mac (OSX) and Windows 【发布时间】:2016-01-01 16:54:06 【问题描述】:

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

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

首先打开项目时的注意事项:

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

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

更新:

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

当我的团队更新了更多代码并且我撤消了它时,我仍然遇到了同样的问题。

这是我的git status 拉取后的sn-p(我使用“...”表示该文件夹中的多个文件):

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】:

在项目中,您会找到一些 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 中,您应该将它们从远程 repo 中删除,然后重建本地项目。

【讨论】:

我不得不更新问题,因为这个 .gitignore 没有解决问题。 @kraftydevil 当然,在推送此文件夹后编辑 gitignore 并不能解决您的问题。您必须删除文件夹和其他文件(如 .iml),提交并将其推送到 git(以删除它们),然后使用 gradle 重建项目。本地文件夹将被重新创建,但不会再次推送。 当然,确实!所以删除每个显示的文件“git status”是安全的吗? 也检查这个答案。 ***.com/questions/32494631/…你可以删除Android Studio文件夹和文件,因为gradle会重建它们。你可以在你的机器上本地试试。 this post 建议应该在 git 中 include misc.xml

以上是关于Android Studio:使用 Mac (OSX) 和 Windows 的同一项目的 SDK 位置更改的主要内容,如果未能解决你的问题,请参考以下文章

无法在 MAC OS 上退出 Android Studio

Android Studio 快捷键 for Mac OS X

Android Studio 无法在 Mac OS Mojave 中打开

Android Studio : PKIX path building failed: ... (mac os -- ventura)

Android Studio : PKIX path building failed: ... (mac os -- ventura)

如何在 Mac os 上的 Android Studio 中给 Flutter SDK Path