- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我更新了我的 Android Studio from 3.0.1 to 3.1,并注意到我现有项目中有一个不熟悉的文件:
.idea/caches/build_file_checksums.ser
这不取决于你是否将 Android Gradle 插件更新为 the latest 3.1.0 ;一旦我在 Android Studio 3.1 中打开一个现有项目,它会自动创建文件 build_file_checksums.ser
,即使我保持项目使用之前的 3.0.1 插件如下。
dependencies {
classpath 'com.android.tools.build:gradle:3.0.1'
}
我也在Android Studio 3.1新建了一个项目,发现build_file_checksums.ser
文件是从头创建的。
在撰写本文时,似乎没有关于此的官方文件。如果有人能找到,我将不胜感激。
我用 inspected jdeserialize-1.2 内容,因为 Samuel 指出它似乎包含一些系统路径。
$ java -jar ~/Downloads/jdeserialize-1.2.jar .idea/caches/build_file_checksums.ser
read: com.android.tools.idea.gradle.project.ProjectBuildFileChecksums _h0x7e0002 = r_0x7e0000;
//// BEGIN stream content output
com.android.tools.idea.gradle.project.ProjectBuildFileChecksums _h0x7e0002 = r_0x7e0000;
//// END stream content output
//// BEGIN class declarations (excluding array classes)
class java.util.HashMap implements java.io.Serializable {
float loadFactor;
int threshold;
}
class com.android.tools.idea.gradle.project.ProjectBuildFileChecksums implements java.io.Serializable {
long myLastGradleSyncTimestamp;
java.util.Map myFileChecksums;
}
//// END class declarations
//// BEGIN instance dump
[instance 0x7e0004: 0x7e0003/java.util.HashMap
object annotations:
java.util.HashMap
[blockdata 0x00: 8 bytes]
[String 0x7e0005: "settings.gradle"]
[array 0x7e0007 classdesc [cd 0x7e0006: name [B uid -5984413125824719648]: [arraycoll sz 16 -89, -2, 26, -61, -111, 105, -75, -27, 40, 90, 94, 83, 102, 47, 37, 27]
[String 0x7e0008: "build.gradle"]
[array 0x7e0009 classdesc [cd 0x7e0006: name [B uid -5984413125824719648]: [arraycoll sz 16 70, 101, -14, 32, 100, -60, -85, -103, 73, -86, 15, 54, -45, 125, 50, 39]
[String 0x7e000a: "local.properties"]
[array 0x7e000b classdesc [cd 0x7e0006: name [B uid -5984413125824719648]: [arraycoll sz 16 -107, 64, 60, -33, -18, 18, 56, -84, 15, 0, -86, -73, -27, 127, -94, 27]
[String 0x7e000c: "/Users/qtmfld/.gradle/gradle.properties"]
[array 0x7e000d classdesc [cd 0x7e0006: name [B uid -5984413125824719648]: [arraycoll sz 16 -44, 29, -116, -39, -113, 0, -78, 4, -23, -128, 9, -104, -20, -8, 66, 126]
[String 0x7e000e: "gradle.properties"]
[array 0x7e000f classdesc [cd 0x7e0006: name [B uid -5984413125824719648]: [arraycoll sz 16 16, -69, 118, 80, -49, -19, 41, -8, 56, -86, 64, -63, 112, -14, 98, 47]
[String 0x7e0010: "app/build.gradle"]
[array 0x7e0011 classdesc [cd 0x7e0006: name [B uid -5984413125824719648]: [arraycoll sz 16 -3, -11, 63, -26, 67, -41, -100, 33, 85, -59, -49, -3, -90, 53, -106, 94]
field data:
0x7e0003/java.util.HashMap:
threshold: 12
loadFactor: 0.75
]
[instance 0x7e0002: 0x7e0000/com.android.tools.idea.gradle.project.ProjectBuildFileChecksums
field data:
0x7e0000/com.android.tools.idea.gradle.project.ProjectBuildFileChecksums:
myFileChecksums: r0x7e0004: java.util.HashMap _h0x7e0004 = r_0x7e0003;
myLastGradleSyncTimestamp: 1522297024540
]
//// END instance dump
$
您可以在java.util.HashMap
中看到以下字符串。
Wh0 已在 Android Studio 3.2 Preview 上澄清了相同的结果。
https://wh0.github.io/2018/02/17/build-file-checksums-ser.html
最佳答案
您应该将它添加到 .gitignore
。不要将它包含在您的 git add
中。
在左侧的项目窗口中,
(a) 将 Android View 更改为 the Android project view , 带有下拉菜单。
(b) 您可以在文件夹 .idea/caches
中看到 build_file_checksums.ser
。
(c) 打开项目根目录的.gitignore
。 (不要与 app 模块的 .gitignore
混淆。)
在右侧的.gitignore
内容中,
(d) 添加/.idea/caches/build_file_checksums.ser
。
JetBrain's guide告诉你应该分享
- All the files under .idea directory in the project root except the workspace.xml and tasks.xml files which store user specific settings
它还说
You may consider not to share the following:
- .iml files for the Gradle or Maven based projects, since these files will be generated on import
- gradle.xml file, see this discussion
- user dictionaries folder (to avoid conflicts if other developer has the same name)
- XML files under .idea/libraries in case they are generated from Gradle or Maven project
因此,Android Studio 中新建项目的默认 .gitignore
为:
*.iml
.gradle
/local.properties
/.idea/libraries
/.idea/modules.xml
/.idea/workspace.xml
.DS_Store
/build
/captures
.externalNativeBuild
但是,build_file_checksums.ser
文件是一个 Java 序列化对象,其中包含以下内容的哈希和时间戳:
所以,看起来像 the issue是优先级 P2 和严重性 S2,并且已经被接受和修复。我期待 future 的版本,其中默认的 .gitignore
包括
/.idea/caches/build_file_checksums.ser
关于android - 我应该将 .idea/caches/build_file_checksums.ser 添加到 .gitignore 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49557737/
引用the online docs : If the pattern does not contain a slash /, Git treats it as a shell glob pattern
我想让 git 忽略名为“Doxyfile”的文件,我添加了一个 .gitignore 文件,但它仍然会尝试跟踪文件。 我在下面添加了我的步骤,我是否遗漏了一个步骤? $ ls -a .git
我知道有很多这样的问题,但没有人解决我的问题。我想要一些非常简单的东西 - 忽略特定文件夹下除一个文件之外的所有文件和文件夹。这是我尝试的方法: #Ignore public/typings/* #A
我一直在使用 git,但仍然对 .gitignore 文件路径感到困惑。 那么,.gitignore文件中以下两个路径有什么区别? tmp/*public/documents/**/* 我可以理解 t
这可能吗? git update-index --assume-unchanged 不是解决方案,必须跟踪忽略的文件。要么创建子模块。 例如 cat .customgitignore(1|2|3...
我的实际问题 我希望只有目录结构根目录中的 .gitignore 文件会忽略文件,即子目录中的 .gitignore 文件不应忽略文件。 要清楚 我不想 gitignore 其他 .gitignore
当我输入 git status 时,我收到以下消息: Changes not staged for commit: (use "git add ..." to update what will b
$ cat ~/.gitconfig [core] editor = vim excludefiles = /home/augustin/.gitignore $ ca
有没有办法忽略 gitignore 规则但仍然 checkin .gitignore 文件?或者也许我们应该使用不同的实现? 这不是一个关于如何应用 gitignore 规则或“为什么我的规则不能正常
我的目录结构如下: static admin ajax_upload books css font media robots.txt templ
为什么 git 不忽略 .gitignore?这是错误还是功能?我看不出有任何人愿意分享 .gitignore 文件的原因。不得不在 .gitignore 中添加 .gitignore 感觉有点讽刺。
我正在和别人合作一个项目,根目录下有一个.gitignore是提交给git的。如果我想在 root 中创建一个我希望 git 忽略的新文件或目录,但我不想将它放在公共(public) .gitigno
如果我有一个全局的 .gitignore 设置并且项目在 repo 中有 .gitignore,那么 repo 中的那个是否覆盖全局的或者它是否添加规则示例: 如果全局有: *.exe *.ini 并
是否可以将 .gitignore 文件添加到 .gitignore 本身? .gitignore 虽然没用 我不想在编辑的文件中看到它 最佳答案 .gitignore 文件的目的是防止在项目上协作的每
我们在这里进行了一次内部讨论,我们对在包含大量文件的项目(如 CMS)上使用 .gitignore 的最佳实践感到有些困惑。 方法一 方法 1 是有目的地 .gitignore 构建标准的所有文件。这
在 https://github.com/codyc4321/Flashcard-Generator我有一个文件,我想将 HTML 生成器拆分为它自己的函数。 该文件位于 js/main.js 中。此
我正在为 Gr 制作游戏。和我的 friend 一起学习了 12 门编程类(class)。我在本地存储库中有在 Blender 中制作的 3D 模型。 Blender 文件以 .blend 结尾,它也
如果我有set a global .gitignore file我的项目也有一个 .gitignore 文件,它们都包含不同的内容,我的项目中是否使用了它们的条目? 最佳答案 是的。 他们将一起忽略他
在项目根目录中,我有一个 .gitignore 文件,它会忽略除 gitignore 文件之外的所有内容。这是文件的内容: **/* !.gitignore 然后在 implementation/xm
我想知道是否可以在存储库中包含named .gitignore 文件,例如: Composer.gitignore Node.gitignore 以上两个示例都显示在 GitHub 的 gitigno
我是一名优秀的程序员,十分优秀!