每次我发布我的应用程序时,我都会将所有url字符串和一些键从测试更改为生产。我这样做的方式就是在发布之前注释掉测试字符串。是否有更好的方法根据生成类型处理字符串?
只需在构建中制作两种口味。格拉德尔。然后是两个目录,同样在链接中给出(developer.android.com/tools/building/configuration-gradle.html)。因为您只需要更改字符串,所以只需复制字符串即可。将xml文件放入新目录(即dev和production)中删除原始字符串。xml
就这样。:)
无需移动您的java文件或其他布局文件。
简言之,将所有内容保留在“main”目录中,以便在所有构建风格中保持一致。将依赖于构建风格的值重写到它们各自的目录中。
如果需要使用一些字符串,你可以使用Gradle
buildTypes {
release {
resValue 'string', 'adUnitIdMain', '"production-id-value-should-be-here"'
resValue 'string', 'adUnitIdList', '"production-id-value-should-be-here"'
resValue 'string', 'adUnitIdDetail', '"production-id-value-should-be-here"'
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
debug {
resValue 'string', 'adUnitIdMain', '"test-id-value-should-be-here"'
resValue 'string', 'adUnitIdList', '"test-id-value-should-be-here"'
resValue 'string', 'adUnitIdDetail', '"test-id-value-should-be-here"'
}
}
假设您使用Android Studio,默认情况下系统会创建一个基本的版本
和调试
风格。因此,如果在项目的app/src
文件夹中添加debug
和release
文件夹,则可以在其中声明单独的值。
所以你的结构应该是这样的:
project
-app
-src
-debug
-java
...
-res
-values
-strings.xml
-release
-java
...
-res
-values
-strings.xml
-main
-java
...
-res
-values
-strings.xml
我还应该补充一点,如果您有一个字符串未在debug
或release
文件夹中定义,它将返回到您的main
文件夹。
在 Android Studio 中,当我单击工具栏中的“调试”图标时,会出现 gradle 以尝试进行发布版本。 首先,它显示了“编辑配置”弹出窗口。在底部,它有一条消息“您当前选择的变体(app release unsigned.apk)的apk未签名。请为此变体(release)指定签名配置。 为什么当我单击“调试”时,它试图使用“发布”?显然我改变了什么,我希望我知道。。。 这是我的应用程
问题内容: 在C ++中,我通常会设置2个构建- 分别调试和发布,分别具有和预先定义。然后,我将使用这些定义来确定常量值,例如启用/禁用日志记录,服务器URL等。 现在,在Java / Android中,在构建发行版之前我会注释掉一些东西。我知道这不是一个好方法。我可能会忘记一些东西。 确保在构建发行版本(签名)或调试版本(未签名)时什么都不会忘记的常见做法是什么? 问题答案: (默认情况下)没有
版本号 采用三位版本号,分别是主版本号、次版本号、修订版本号。例如 5.1.2。 参见: http://semver.org/lang/zh-CN/。 主版本号:主版本号内的所有版本必须相互兼容;与其它主版本号不一定完全兼容,尽量向下兼容。 次版本号:代表新特性增强。版本号越大特性越丰富。 修订版本号:代表BugFix版本。只做bug修复使用,版本号越大越稳定。 版本维护 最多同时维护两个版本。
我的目标是发布一个具有单一依赖项的项目。我有一个nexus存储库,我在其中部署快照和发布版本。 我唯一的依赖性 我的nexus repo中发布了以下候选版本 当要求版本插件解决依赖关系时,它声称没有新的依赖关系可用。所以他认为 但是,如果在我的项目中有版本1.0.0-SNAPSHOT,那么版本1.1.0-RC1将解析为最新版本。 我错过了什么?(我查看了插件源代码,我们有以下片段: 对我来说这辆车
我有一个activity,需要SDK,但仍然想使应用程序的其余部分可用于较低的SDK版本。有没有一种方法可以把用户的SDK读成一个字符串,这样我就可以放在一个if语句中了?
我目前在为Android构建发布版本时遇到了问题。< br >密钥库文件/密码/别名是正确的,并且我已经将“生成构建”设置为发布,但是我仍然收到以下通知: 警告:在没有有效证书的情况下为 Android 构建将生成一个临时证书,该证书不能用于重新分发应用程序。创建Android证书非常简单且免费,请参阅:http://www.codenameone.com/signing.html 我以前成功使用