gpt4 book ai didi

android - 创建 Android 应用程序测试版本的推荐方法

转载 作者:太空宇宙 更新时间:2023-11-03 13:33:56 26 4
gpt4 key购买 nike

我们有一个使用 Mono for Android 构建的 Android 应用程序,现在我们希望制作一个可部署的测试版本以用于验收测试。重要的是生产版本保留在设备上并继续工作。在不引起包名称冲突等干扰的情况下创建测试版本的推荐方法是什么?

最佳答案

此解决方案适用于 Android 的 Mono,并允许您根据 Visual Studio 中的构建配置更改应用程序的包名称:

  1. 为您的解决方案创建一个新的构建配置测试
  2. 在您的项目中定义一个新的条件编译符号TEST
  3. 将现有的 AndroidManifest.xml 重命名为 AndroidManifest-Template.xml
  4. Properties 文件夹中创建两个 .xslt 文件:
    list 转换.xslt:

    <?xml version="1.0" ?>
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
    <xsl:output indent="yes" />
    <xsl:template match="@*|node()">
    <xsl:copy>
    <xsl:apply-templates select="@*|node()" />
    </xsl:copy>
    </xsl:template>
    <xsl:template match="/manifest/@package">
    <xsl:attribute name="package">
    <xsl:value-of select="'<your.test.package.name.here>'" />
    </xsl:attribute>
    </xsl:template>
    </xsl:stylesheet>

    list 副本.xslt:

    <?xml version="1.0" ?>
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
    <xsl:output indent="yes" />
    <xsl:template match="@*|node()">
    <xsl:copy>
    <xsl:apply-templates select="@*|node()" />
    </xsl:copy>
    </xsl:template>
    </xsl:stylesheet>
  5. 将两个 XslTransformation 任务添加到项目文件的 BeforeBuild 目标:

    <Target Name="BeforeBuild">
    <XslTransformation
    Condition="'$(Configuration)|$(Platform)' != 'Test|AnyCPU'"
    XslInputPath="Properties\manifest-copy.xslt"
    XmlInputPaths="Properties\AndroidManifest-Template.xml"
    OutputPaths="Properties\AndroidManifest.xml" />
    <XslTransformation
    Condition="'$(Configuration)|$(Platform)' == 'Test|AnyCPU'"
    XslInputPath="Properties\manifest-transform.xslt"
    XmlInputPaths="Properties\AndroidManifest-Template.xml"
    OutputPaths="Properties\AndroidManifest.xml" />
    </Target>
  6. 对条件代码使用TEST 符号:

    #if TEST
    [Application(
    Label = "App Test",
    Theme = "@style/Theme.App.Test",
    Icon = "@drawable/ic_launcher_test")]
    #else
    [Application(
    Label = "App",
    Theme = "@style/Theme.App",
    Icon = "@drawable/ic_launcher")]
    #endif

您现在可以通过更改构建配置在测试应用和常规应用之间切换:)

关于android - 创建 Android 应用程序测试版本的推荐方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9631714/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com