【问题标题】:Variable package name with Maven Android Plugin带有 Maven Android 插件的变量包名称
【发布时间】:2011-11-27 15:32:20
【问题描述】:

我正在使用 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 资源过滤或类似的东西?

【问题讨论】:

    标签: android maven adt


    【解决方案1】:

    经过进一步研究,这似乎相当容易!

    您只需要在Maven Android Plugin的配置中添加&lt;renameManifestPackage&gt;即可。似乎从 > 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>
    

    【讨论】:

    • 它对你有用吗?我的应用无法安装到模拟器
    • 老兄,这个问题是一年半前回答的,以前可以用,现在不知道最新的SDK,抱歉
    • 有效!这是我的误解:) 感谢您的回答!
    猜你喜欢
    • 1970-01-01
    • 2013-02-16
    • 2013-01-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-18
    • 2012-03-15
    相关资源
    最近更新 更多