git管理的Android项目忽略密码或token的方法
在照着Android教材《第一行代码 第三版》写天气预报app项目的时候,我发现如果把开发者token写在代码里面,用git管理的时候就会把token暴露出来,即使后面删掉,也会留在commit历史中。而.gitignore
一般是忽略整个文件,没办法忽略单独一行。
所以可以将密码或者开发者token单独放在一个文件中,用.gitignore
忽略它,并且在使用的时候读取其中的token。
解决方案
在
app/src/main/res/values
目录下新建一个资源文件tokens.xml
,内容如下:1
2
3
4
<resources>
<string name="token">TAkhjf8d1nlSlspN(这里改成你的token)</string>
</resources>在使用的时候可以用
R.string.token
来直接访问,也可以将它存在一个全局可得的地方。把上面那个文件加入
.gitignore
。
注意
创建好之后不要让你的IDE自动把这个文件git add
了,否则.gitignore
不起作用,如果你已经git add
了,就使用下面这条命令恢复。
1 | $git reset HEAD app/src/main/res/values/tokens.xml |
git管理的Android项目忽略密码或token的方法
https://yxchangingself.xyz/posts/android-project-gitignore-token/