1

私の Android プロジェクトでは、project.properties ファイルに次のプロパティを設定しています。

proguard.config=proguard.cfg

このプロパティを何らかの方法で設定および設定解除するカスタム マクロが必要です。

マクロと正規表現を使用してこのプロパティを設定解除するにはどうすればよいですか? 私がはっきりしていない2つのことは、これを空のプロパティ値に設定する方法です。それは単に proguard.config= または proguard.config='' でしょうか

これを行うためのマクロは何でしょうか?

 <macrodef name="turn-on-proguard">
    <sequential>    
       <replaceregexp file="./project.properties"
                            match='proguard.config="(.*)"'
                            replace='proguard.config=proguard.cfg'
                            byline="false">         
        </replaceregexp>
    </sequential>
</macrodef>



 <macrodef name="turn-off-proguard">
    <sequential>    
       <replaceregexp file="./project.properties"
                            match='proguard.config="(.*)"'
                            replace='proguard.config='
                            byline="false">         
        </replaceregexp>
    </sequential>
</macrodef>

これは機能しますか?アップデート。turn-proguard-off は何もしません。

4

1 に答える 1

0

あなたの解決策は私にとって非常に不明確です。ドット文字をエスケープしませんか? 正規表現で引用符とグループ化を使用するのはなぜですか? これは作業スクリプトです:

<macrodef name="turnonproguard">
    <sequential>    
       <replaceregexp file="project.properties"
                match='proguard\.config=.*'
                replace='proguard.config=proguard.cfg'
                byline="false"/>
    </sequential>
</macrodef>

<macrodef name="turnoffproguard">
    <sequential>    
       <replaceregexp file="project.properties"
                match='proguard\.config=.*'
                replace='proguard.config='
                byline="false"/>
    </sequential>
</macrodef>

<target name="on">
    <turnonproguard/>
</target>

<target name="off">
    <turnoffproguard/>
</target>
于 2012-06-09T15:13:27.433 に答える