【问题标题】:Android - Secure place to store sensitive files inside the same projectAndroid - 在同一项目中存储敏感文件的安全位置
【发布时间】:2014-02-19 01:39:36
【问题描述】:

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

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

在我缺少的 Android 文件层次结构中是否有存储此类文件的地方?

【问题讨论】:

    标签: android security storage assets sensitive-data


    【解决方案1】:

    即使您已 .gitignored,也不要将您的密钥库放在源代码管理或项目文件夹中的任何位置。这是一个个人文档,将被视为您的 SSH 密钥。

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

    【讨论】:

      【解决方案2】:

      在我缺少的 Android 文件层次结构中是否有存储此类文件的地方?

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

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

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

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

      【讨论】:

      • “甚至随着新的构建系统和项目目录结构的变化”,你能详细说明一下吗?
      • @Tiago:Google 正在开发 Gradle for Android 插件,作为用于编译和打包 APK 文件的新构建系统。今天,许多开发人员直接使用它,而且它是 Android Studio 项目的标准构建系统。与 Gradle for Android 一起使用而设计的项目的目录结构与我们自 2007 年底以来一直使用的经典结构略有不同。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-30
      • 1970-01-01
      • 2014-05-25
      • 2013-08-01
      • 1970-01-01
      • 2020-10-27
      相关资源
      最近更新 更多