AppCenter bash脚本用于更改Android Manifest文件中的Version Name

问题描述 投票:0回答:1

我在AppCenter中为使用Xamarin Forms制作的Android应用程序创建了一张CI CD,我正在尝试使用自定义脚本更改Manifest文件中的Version Name。我尝试了一些方法,主要来自this post from Montemagno但没有成功。

我已经看到在脚本中使用这个BUILD_REPOSITORY_LOCALPATHAPPCENTER_SOURCE_DIRECTORY变量,尝试了两个并且没有用。

我的清单文件位于此路径:src/Dashview.Mobile/Dashview.Mobile.Android/Properties/AndroidManifest.xml

我的脚本就像:

#!/usr/bin/env bash

# Updating Manifest

MANIFEST="$APPCENTER_SOURCE_DIRECTORY/src/Dashview.Mobile/Dashview.Mobile.Android/Properties/AndroidManifest.xml"

VERSIONNAME=`grep versionName ${MANIFEST} | sed 's/.*versionName\s*=\s*\"\([^\"]*\)\".*/\1/g'`

sed -i.bak "s/android:versionName="\"${VERSIONNAME}\""/android:versionName="\"1.0.${APPCENTER_BUILD_ID}\""/" ${MANIFEST}

rm -f ${MANIFEST}.bak

# Print out file for reference
cat $MANIFEST

echo 

该脚本位于Xamarin.Android项目的根目录中,是一个名为appcenter-pre-build.sh的预构建

在生成的日志中,我看不到清单是用cat命令更改的,它被AppCenter识别,因为我可以看到预构建徽章但是它就像没有被执行因为我的应用程序总是在1.0.0版。

如果有人做过这样的事情,我会很感激你的帮助!

android xamarin.forms xamarin.android visual-studio-app-center
1个回答
0
投票

你看过这里Version Name change example in script吗?还有一些其他示例如何使用预构建脚本在AndroidManifest.xml中更改值。

关于文件夹目录问题。如果您有一个Xamarin Android项目,那么我认为您需要使用

$APPCENTER_SOURCE_DIRECTORY/YourDroidProjectName/Properties/AndroidManifest.xml
© www.soinside.com 2019 - 2024. All rights reserved.