使用 Maven Android 插件可变包名称

发布于 2024-12-07 08:15:33 字数 591 浏览 0 评论 0原文

我正在使用 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

笑脸一如从前 2024-12-14 08:15:33

经过进一步研究,这似乎相当简单!

您只需要在 Maven Android Plugin 的配置中添加 即可。似乎从版本 > 开始工作2.9.0:

<plugin>
    <groupId>com.jayway.maven.plugins.android.generation2</groupId>
    <artifactId>maven-android-plugin</artifactId>
    <version>2.9.0-beta-5</version>
    <configuration>
        ...
        <renameManifestPackage>${manifest_package}</renameManifestPackage>
    </configuration>
</plugin>

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 :

<plugin>
    <groupId>com.jayway.maven.plugins.android.generation2</groupId>
    <artifactId>maven-android-plugin</artifactId>
    <version>2.9.0-beta-5</version>
    <configuration>
        ...
        <renameManifestPackage>${manifest_package}</renameManifestPackage>
    </configuration>
</plugin>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文