0

对于我正在处理的应用程序,我正在考虑定义一些属性文件,例如:debug.properties, beta.properties, release.properties. 这些文件大多将包含指向其相应环境的 url。根据我将设置的一些标志,应用程序将加载相应的属性文件并从那里读取值。

我想把这些文件放在资源文件夹中assetsraw但是在我的应用程序的扩展名从.apkto更改后.zip,我注意到这些文件是可访问和可读的。

如果您之前有经验,在 Android 中配置不同构建环境的最佳实践是什么?
有没有更好的地方可以放置属性文件以便无法访问它们?

4

1 回答 1

2

我在我的应用程序中也有同样的需求,发现了你发现的同样的问题:打开 apk 并编辑属性文件很容易。我选择的解决方案是将这些特定于环境的属性放在一些 Java 源文件中。我们每个环境都有一个 Android 项目。每个项目几乎都是空的,并且引用了一个实际包含应用程序代码的 Android 库。每个 Android 项目都包含一个声明其环境属性的 Java 文件。使用 Java 代替属性文件似乎违反直觉,但在打击盗版时,所有方法都很好。如果使用 Proguard,Java 文件可能会被混淆。更好的是,您可以使用可以加密 Java 源代码中的字符串的 Dexguard,这样就很难篡改源代码并将属性指向其他地方。

于 2013-06-25T14:43:57.767 回答