java - प्रोगुअर चालू / बंद गुणों का उपयोग करना




android ant proguard (4)

मेरे प्रोजेक्ट में.प्रॉपर्टीज फ़ाइल में एक प्रॉपर्टी प्रोग्यूर्ड.कॉन्ग है और जब मैं चींटी चलाऊँ तो यह प्रोजेक्टर चलाएगा। निम्न में से सभी को प्रोगुर्ड को चलाने के लिए प्रेरित करेगा

 proguard.config
 proguard.config=
 proguard.config=proguard.cfg

प्रोगुअर चालू / बंद करने के लिए गुण फ़ाइल के भीतर कोई रास्ता नहीं है?

अन्यथा मुझे इस पर नियंत्रण रखने के लिए proguard.config संपत्ति को जोड़ने / हटाने या उसका नाम बदलने के लिए एक स्क्रिप्ट लिखने की आवश्यकता है। मैं न सिर्फ संपत्तियों को प्राप्त / सेट करूंगा मैं इसके लिए सबसे अच्छा समाधान चाहता हूँ फिलहाल मैं proguard.config का नाम बदलने के लिए replaceregexpr कोडिंग कर रहा हूं और कुछ और को बंद कर देता हूं। बेहतर समाधान ढूंढना और जानना चाहूंगा कि यह कैसे दूसरों को नियंत्रित कर रहे हैं?


Answers

इस संपत्ति को सेट करें

minifyEnabled false

अपने ऐप build.gradle

डिबग में निष्क्रिय करने और इसे जारी करने के लिए भी इस तरह:

 buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
        debug {
            minifyEnabled false 
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }

    }

एक बहुत आसान तरीका है बस लाइन है

#proguard.config=proguard.cfg

या इससे भी बेहतर अभी भी इसे बाहर पूरी तरह से छोड़ दो! इस तरह प्रूगार्ड बिल्कुल नहीं चलता है।


यहां यह कैसे किया जाता है:

अपने प्रोजेक्ट में proguard.config = proguard.cfg सेट न करें। प्रॉपर्टीज़ फ़ाइल

अपने निर्माण में। प्रॉपर्टी फाइल सेट करें

 proguarded=on    # or whatever variable you chose

इन मैक्रोज़ को परिभाषित करें यदि आप एंड्रॉइड का निर्माण कर रहे हैं ताकि डिबगिंग हमेशा बंद हो।

  <macrodef name="set-app-debuggable">
    <sequential>
        <echo>Updating AndroidManifest.xml with debuggable set to true</echo>           
       <replaceregexp file="./AndroidManifest.xml"
                            match='android:debuggable="(.*)"'
                            replace='android:debuggable="true"'
                            byline="false">         
        </replaceregexp>
    </sequential>
</macrodef>
<macrodef name="set-app-not-debuggable">
    <sequential>
        <echo>Updating AndroidManifest.xml with debuggable set to false</echo>          
        <replaceregexp file="./AndroidManifest.xml"
                            match='android:debuggable="(.*)"'
                            replace='android:debuggable="false"'
                            byline="false">         
        </replaceregexp>
    </sequential>
</macrodef>

फिर इन स्थितियों को सेट करें या इन पर निर्भर करता है, अगर आप प्रोग्रामिंग के बाहर डिबगिंग को संरक्षित करना चाहते हैं:

<target name="-set-mode-check">
    <echo> set mode checking properties ... </echo>
    <echo> Proguard Property  value is '${proguard.config}' </echo>
    <echo> Proguard Property  value is '${proguarded}' </echo>
    <condition property="proguard.config" value="proguard.cfg">
       <isset property="proguarded"/>
   </condition>
    <echo> Proguard Property  value after condition set is '${proguard.config}' </echo>
     <if condition="${proguarded}">
        <then>
            <echo>****  This build is proguarded so setting debuggable off  ****</echo>
            <set-app-not-debuggable />
        </then>
        <else>
            <echo>****  This build is not proguarded so setting debuggable on ****</echo>
            <set-app-debuggable />
        </else>
    </if>

</target>

प्रोजेक्ट में proguard.config सेट करने की कोई ज़रूरत नहीं है। प्रॉपर्टीज़ फ़ाइल बिल्कुल भी।


इस तरह कुछ कोशिश करें ...

<bean
    id="mySessionFactory"
    class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">

    <property name="configLocation">    
        <value>
            classpath:location_of_config_file/hibernate.cfg.xml
        </value>
    </property>

    <property name="hibernateProperties">
        <props>

            ...    


        </props>    
    </property>

</bean>




java android ant proguard