android - Gradle脚本XML转换

标签 android regex xml gradle

我正在编写gradle脚本,我需要在此脚本中修改androidManifest。
我不知道该怎么做,我需要在此 list 中更改2个属性。

我试图将regEx与ant.replaceregexp一起使用,但是我无法编写regEx来仅替换 Activity 节点的android:name。

有没有更好的方法可以修改它?

也许我可以使用XML解析器,但是之后我不知道如何写文件。

在这里您可以找到我的 list :

<?xml version='1.0' encoding='utf-8'?>
<manifest android:hardwareAccelerated="true" android:versionCode="10402" android:versionName="1.4.2" android:windowSoftInputMode="adjustPan" package="com.yyyyyy.xxxxxx" xmlns:android="http://schemas.android.com/apk/res/android">
    <supports-screens android:anyDensity="true" android:largeScreens="true" android:normalScreens="true" android:resizeable="true" android:smallScreens="true" android:xlargeScreens="true" />
    <uses-permission android:name="android.permission.INTERNET" />
    <application android:debuggable="true" android:hardwareAccelerated="true" android:icon="@drawable/icon" android:label="@string/app_name">
        <!--GradleActivity--><activity android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale" android:label="@string/app_name" android:launchMode="singleTop" android:name="xxxxxx" android:screenOrientation="portrait" android:theme="@android:style/Theme.Black.NoTitleBar">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <service android:name="com.yyyyyy.xxxxxx.TrackingService">
        </service>
        <receiver android:name="com.yyyyyy.xxxxxx.BootCompletedIntentReceiver">
            <intent-filter>
                <action android:name="android.intent.action.BOOT_COMPLETED" />
            </intent-filter>
        </receiver>
        <activity android:exported="true" android:name="com.plugin.gcm.PushHandlerActivity" />
        <receiver android:name="com.plugin.gcm.CordovaGCMBroadcastReceiver" android:permission="com.google.android.c2dm.permission.SEND">
            <intent-filter>
                <action android:name="com.google.android.c2dm.intent.RECEIVE" />
                <action android:name="com.google.android.c2dm.intent.REGISTRATION" />
                <category android:name="com.yyyyyy.xxxxxx" />
            </intent-filter>
        </receiver>
        <service android:name="com.plugin.gcm.GCMIntentService" />
    </application>
    <uses-sdk android:minSdkVersion="7" android:targetSdkVersion="18" />
    <uses-feature android:name="android.hardware.telephony" android:required="false" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
    <uses-permission android:name="android.permission.SEND_SMS" />
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
    <uses-permission android:name="android.permission.PREVENT_POWER_KEY" />
    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <uses-permission android:name="android.permission.VIBRATE" />
    <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
    <uses-permission android:name="android.permission.GET_ACCOUNTS" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <permission android:name="com.yyyyyy.xxxxxx.permission.C2D_MESSAGE" android:protectionLevel="signature" />
    <uses-permission android:name="com.yyyyyy.xxxxxx.permission.C2D_MESSAGE" />
</manifest>

我想将“< Activity > => android:name = xxxxx”属性更改为“< Activity > => android:name = zzzzzzz”

谢谢。

最佳答案

您可以将此正则表达式与组一起使用:

/(<activity.*android:name=")(\w+)(.*">)/gm

而这种替代:
\1zzzzz\3

链接:

https://regex101.com/r/vI7sK3/5

关于android - Gradle脚本XML转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32483241/

相关文章:

java - 如何使用 HttpClient

java - 将 XML 视为树的工具?

regex - 在vim中,如何复制正则表达式模式?

mysql - 不匹配电话号码的正则表达式

xml - Opencv级联分类器xml文件生成

python - (Python Scipy) 如何展平 csr_matrix 并将其附加到另一个 csr_matrix?

android - 任何不需要 APK 签名的 android 自动化工具?

android - 如何使用scrollTo Android 创建动画

Android 谷歌地图 ListView 与 onClickListener()

正则表达式用于查找不包括用 C++ 编写的代码的注释的魔数(Magic Number)