使用 Maven Android 插件可变包名称
我正在使用 Maven Android 插件来构建我的应用程序。
实际上,我正在构建同一应用程序的 3 个“品牌”版本(应用程序图标、颜色等......发生变化,但功能不变)。我知道我需要为每个应用程序使用不同的包名称,以便将它们视为不同的。
到目前为止,我已经设法在 strings.xml 中使用 Maven 过滤器来获得“动态”值:
<string name="app_name">${app_name}</string>
<string name="widget_name">${widget_name}</string>
<string name="app_icon">${app_icon}</string>
问题是这不适用于包名称!如果我这样做:
<manifest package="${foo.bar}">
ADT(实际上是 XML 验证器)抱怨说属性包具有无效字符“$”
我找不到任何解决方法...有没有办法告诉 ADT启动 Maven 资源过滤或类似的东西?
I'm using the Maven Android Plugin to build my application.
Actually, I'm building 3 "branded" versions of the same app (the app icon, colors, etc... change, but not the features). I'm aware that I need to use a different package name for each application, for them to be considered as different.
So far I have managed to have "dynamic" values, using Maven filters in strings.xml :
<string name="app_name">${app_name}</string>
<string name="widget_name">${widget_name}</string>
<string name="app_icon">${app_icon}</string>
The problem is that this does not work for the package name ! If I do :
<manifest package="${foo.bar}">
ADT (well, the XML validator actually) complains saying attribute package has invalid character '$'
I can't find any workaround for this... Is there a way to tell ADT to launch the Maven resources filtering or something like that ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
经过进一步研究,这似乎相当简单!
您只需要在 Maven Android Plugin 的配置中添加
即可。似乎从版本 > 开始工作2.9.0:After further research, it appears to be fairly easy !
You just need to add
<renameManifestPackage>
in the configuration of the Maven Android Plugin. Seems to work starting at version > 2.9.0 :