Android - 安全地将敏感文件存储在同一项目中

时间:2014-01-27 23:37:18

标签: android security storage assets sensitive-data

假设我有一个Android项目设置和一个git存储库。我在哪里可以将我的密钥库(和其他敏感文件)放在我的项目中,这样我可以保证在导出应用程序时它不会在.apk 内结束(但是会在git存储库中) )?

例如,我无法将敏感文件放在assets文件夹中,因为它最终会在.apk中。

是否存在将这些文件存储在我缺少的Android文件层次结构中的位置?

2 个答案:

答案 0 :(得分:3)

即使你有.gitignored它,也不要将你的密钥库放在源代码管理或项目文件夹的任何位置。这是一份个人文档,与您的SSH密钥一样对待。

最好将其保存在外部位置,例如您自己管理的文档文件夹或个人密钥库文件夹。正如您所提到的,这些不需要最终在APK中,因此它们纯粹支持文档和文件。

答案 1 :(得分:2)

  

是否存在将这些文件存储在我缺少的Android文件层次结构中的位置?

将它们放在项目根目录中。项目根目录中唯一直接合并到APK中的文件是AndroidManifest.xml,甚至可以使用新的构建系统和项目目录结构。

或者,创建一些不会与任何现有目录发生冲突的其他目录,并且不会被Android使用,例如_stuff/

或者,让您的项目本身位于子目录中,将其他相关文件放在对等目录中。

另外,请确保正确设置.gitignore,以便文件只会进入您在Git仓库中实际需要的Git仓库。