首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何为maven -android项目使用外部settings.xml的maven设置?

如何为maven -android项目使用外部settings.xml的maven设置?
EN

Stack Overflow用户
提问于 2012-06-06 21:16:59
回答 1查看 2.3K关注 0票数 1

正如本文(链接到邮政)所述,我创建了一个Android项目。我使用了最后一个原型:android版本。

所以一切都很好,除了当我想发布一个版本时,我不知道如何传递证书属性。我创建了一个具有以下内容的settings.xml:

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<profiles>
    <profile>
        <id>android-debug</id>
        <properties>
            <sign.keystore>/Users/me/.android/debug.keystore</sign.keystore>
            <sign.alias>androiddebugkey</sign.alias>
            <sign.storepass>android</sign.storepass>
            <sign.keypass>android</sign.keypass>
        </properties>
    </profile>

    <profile>
        <id>android-release</id>
        <properties>
            <sign.keystore>/Users/me/myKeystore.keystore</sign.keystore>
            <sign.alias>myAlias</sign.alias>
            <sign.storepass><![CDATA[myPassword]]></sign.storepass>
            <sign.keypass><![CDATA[myPassword]]></sign.keypass>
        </properties>
    </profile>

</profiles>

然后我跑:

代码语言:javascript
复制
mvn -s setttings.xml clean release:prepare release:perform -Pandroid-release

但我一直忽略了android发布配置文件中定义的值。

有什么办法让这件事起作用吗?当我跑的时候:

代码语言:javascript
复制
mvn -s setttings.xml clean install -Pandroid-release,release

它构建一个apk并使用正确的证书对其进行签名。所以,也许只是maven执行插件,它不能从settings.xml读取属性?

EN

回答 1

Stack Overflow用户

发布于 2012-06-06 21:56:00

mvn -s setttings.xml清洁版:准备发布:执行-Pandroid-释放

我不知道为什么它总是忽略android发布配置文件中定义的值。

但是,如果您使用maven- release,我们实现所需的通常方法是将以下设置添加到您希望在发布阶段触发的配置文件中:

代码语言:javascript
复制
<profile>
    <id>android-release</id>
    <properties>
        <sign.keystore>/Users/me/myKeystore.keystore</sign.keystore>
        <sign.alias>myAlias</sign.alias>
        <sign.storepass><![CDATA[myPassword]]></sign.storepass>
        <sign.keypass><![CDATA[myPassword]]></sign.keypass>
    </properties>
    <!-- via this activation the profile is automatically used when the release 
        is done with the maven release plugin -->
    <activation>
        <property>
            <name>performRelease</name>
            <value>true</value>
        </property>
    </activation>
</profile>

因此,如果您现在使用mvn -s setttings.xml clean release:prepare release:perform,maven发布插件将自动获取profile android-release

请注意,概要文件在发布阶段会自动激活,如果不涉及maven- release,您仍然可以使用经典的mvn -s setttings.xml clean install -Pandroid-release方式使构建过程使用特定的profile android-release

有关更多细节,请访问maven-版本-插件文档

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10922447

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档