我用以下几行见过几个例子:
IE9+
我使用和不使用此行运行应用程序(当然,使用我的软件包)并且没有发现任何差异。 我也查看了生成的/.../ BuildConfig.java,也没有任何变化。
如何将BuildConfig保存在ProGuard中?
谢谢!
答案 0 :(得分:3)
BuildConfig包含在编译时设置的许多useful values。特别是这些:
boolean DEBUG – if the build is debuggable.
int VERSION_CODE
String VERSION_NAME
String APPLICATION_ID
String BUILD_TYPE – name of the build type, e.g. "release"
String FLAVOR – name of the flavor, e.g. "paidapp"
您还可以设置自己的配置值,例如用于测试和生产的不同URL,并从BuildConfig文件中检索它们,而不是维护您自己的Config.java文件。这可以通过将buildConfigFields添加到gradle buildTypes来完成,如下所示:
buildTypes {
debug {
buildConfigField "boolean", "SOME_VAR", "true"
}
release {
buildConfigField "boolean", "SOME_VAR", "false"
}
}
所以要回答你的问题,据我所知你不必保留文件,但最好这样做并将其用于配置需求。
答案 1 :(得分:2)
与任何其他课程一样,如果您通过反射间接访问该课程,则需要-keep
该课程,因此ProGuard不会对其进行模糊处理或将其作为未使用进行优化。
BuildConfig
的访问模式通常都是直接的,没有反射,所以在这些情况下,让ProGuard处理你的BuildConfig
也没关系。
答案 2 :(得分:0)
某些ACRA之类的崩溃报告器库确实通过反射来访问BuildConfig
,因此,如果您使用一个库并希望在崩溃报告中获取其信息,则应该-keep
。