2012-05-17 40 views
1

改變財產在我的Android項目我在project.properties以下屬性設置文件如何使用自定義的螞蟻規則regexpression在propertyfile

proguard.config=proguard.cfg 

,我需要在某種程度上將設置自定義的宏和取消這個性質。

如何設置使用宏和正則表達式取消設置此屬性? 我不清楚的兩件事是如何將其設置爲空屬性值。將 ,只是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什麼都不做。

回答

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>