如何阻止Kotlin Android项目自动生成文件,避免提交时出现无关文件
解决Kotlin Android项目自动生成冗余文件的提交问题
Hey there! Let's sort out that frustrating issue where tons of unfamiliar auto-generated files show up when you try to commit your code.
先搞懂这些文件到底是什么
首先,别担心——这些都是Android构建流程和Kotlin编译的正常产物/缓存文件,完全不属于需要提交的源码范畴:
androidResources、app-debug.apk、classes.dex:编译打包后生成的可执行文件和资源文件build-history.bin、last-build.bin、buildOutputCleanUp.lock:Gradle用来加速后续构建的缓存/锁文件- 带
$的.class文件(比如ClientsListFragment$fetchClientNames@1.class):Kotlin编译时生成的内部类、匿名类字节码,是构建过程必需的中间文件 - 各种
.tab文件:构建工具生成的临时索引文件
这些文件没办法完全阻止生成(它们是构建App的必要环节),但我们可以通过Git的忽略规则,让它们彻底从提交列表里消失。
核心解决方法:配置.gitignore文件
你需要在项目根目录创建或更新.gitignore文件,把这些构建产物和缓存文件全部加入忽略规则。下面是适配你的Kotlin Android项目的完整配置:
# Android Studio/IntelliJ IDE缓存与配置 .idea/ .gradle/ local.properties *.iml *.ipr *.iws # 构建输出文件 build/ app/build/ *.apk *.ap_ *.dex *.class # Kotlin编译相关产物 *.kotlin_module # 临时/缓存文件 *.bin *.lock *.tab
关于你的build.gradle配置
看了你的项目构建配置,没有任何会导致额外生成冗余文件的问题。这些自动生成的文件都是Android Gradle插件和Kotlin编译器的标准输出,修改build.gradle反而可能破坏正常构建流程,所以完全不需要调整它。
后续操作(如果已经误提交过这些文件)
如果你之前不小心把这些文件提交到了Git仓库,可以先把它们从Git追踪中移除(本地文件会保留,不影响构建):
git rm -r --cached build/ .idea/ *.apk *.bin *.lock *.tab
然后提交你的.gitignore文件:
git add .gitignore git commit -m "Add gitignore to exclude build outputs and cache files"
这样之后,这些烦人的自动生成文件就再也不会出现在你的提交列表里啦!
内容的提问来源于stack exchange,提问作者Kishan Galgotra
相关产品推荐
相关产品推荐

