在继续在真实手机上开发我的应用程序并测试时,我需要在同一部手机上安装它的发布版本,以用于演示目的(发布版本响应更快,感谢no-logs)。
问题是,在Android中的同一设备上共存两个应用程序的唯一方法是使用不同的软件包名称。
但是包名需要重新分解和大量传播手动修复......更不用说这会混淆版本控制......
理想情况下,Eclipse + ADT会允许附加一个修饰符变量,该变量会自动为调试/发布生成不同的包名,并允许这样的共存,但我找不到任何允许这样做的机制。
你知道有什么方法可以解决这个问题吗?
欢迎创意解决方案和想法。
答案 0 :(得分:8)
使用Android Studio因为gradle让您的生活更轻松 - 只需使用applicationIdSuffix
android {
...
buildTypes {
release {...}
debug {
applicationIdSuffix '.debug'
}
}
}
了解更多信息here。
答案 1 :(得分:2)
我知道的唯一方法是更改应用程序清单文件中的包名称。 Eclipse应该为您处理所有代码重命名。
答案 2 :(得分:2)
您可以将所有代码放在Library Project中,然后只有两个正常项目, 有不同的包名称,只包括两个库项目?
这应该将您的所有代码保存在一个地方。 普通项目很可能只需要一个指向的有效清单文件 图书馆项目中的活动。
答案 3 :(得分:0)
您可能希望使用this technique,ant以及其他工具尝试Jenkins,以按照@LAS_VEGAS的建议自动执行包重命名。
虽然不是你要求的,this cool code snippet可以帮助你在运行时找出你的代码是调试还是发布。
另一个有趣的尝试可以在this thread中找到。我不确定它是否适用于Android。
答案 4 :(得分:0)
在Android Studio中,使用产品风味添加构建变体,可以轻松地针对各种环境进行自定义,并同时测试同一应用的多个应用变体。有关详情,请查看此链接 - Configuring Gradle