2011-10-07 7 views
12

इसलिए जब मैं अपने एंड्रॉइड ऐप को संकलित कर रहा हूं तो मुझे लगभग हमेशा कुछ संदेश मिलता है:Xlint का उपयोग करें: एंड्रॉइड के साथ बहिष्करण

[javac] Note: /home/kurtis/sandbox/udj/androidApp/src/org/klnusbaum/udj/PlaylistFragment.java uses or overrides a deprecated API. 
[javac] Note: Recompile with -Xlint:deprecation for details. 

मैं इस विकल्प के साथ कैसे पुन: संकलित करूं? क्या मुझे अपने build.xml में कुछ संपादित करना है?

+2

यदि चींटी के बजाय ग्रैडल का उपयोग करते हैं, तो http://stackoverflow.com/questions/18689365/how-to-add-xlintunchecked-to-my-android-gradle-based-project – aleb

उत्तर

11

हाँ, ...

 
     - Customize only one target: 
      - copy/paste the target into this file, *before* the 
       <setup/> task. 
      - customize it to your needs. 

मतलब build.xml फ़ाइल में नीचे बयान के अनुसार, अगर आप चाहते हैं कि:

  1. $ ANDROID_SDK_ROOT/उपकरण/चींटी पर जाएं /main_rules.xml फ़ाइल और "संकलन" लक्ष्य की प्रतिलिपि बनाएँ।

  2. अपने build.xml फ़ाइल में चिपकाएं < सेटअप/> कार्य से पहले। इसी तरह

    <compilerarg value="-Xlint:deprecation"/> 
    
  3. , आप इस तरह अनियंत्रित कार्यों के लिए के रूप में अन्य संकलक विकल्प, जोड़ सकते हैं::

  4. फिर काम के लिए निम्न तत्व जोड़

    <compilerarg value="-Xlint:unchecked"/> 
    
+0

बहुत बढ़िया देखें। जब मैं घर आऊंगा और संभवतः अपना जवाब स्वीकार करूँगा तो मैं इसे आजमाउंगा। –

2

ऐसा लग रहा है आपको बस अपने प्रोजेक्ट फ़ोल्डर की रूट में build.properties या ant.properties में विकल्प निर्दिष्ट करने में सक्षम होना चाहिए। मैंने कोशिश की और यह काम नहीं लग रहा था। मैं अपनी build.xml फ़ाइल को संपादित करने से बचना चाहता था क्योंकि अगर आपको अपनी परियोजना को अपडेट करने की आवश्यकता है तो यह बाद में जटिलता जोड़ता है। हालांकि, मैं इसके चारों ओर एक रास्ता खोजने में असमर्थ था। हालांकि, बल्कि पूरे compile लक्ष्य को कॉपी की तुलना में मैं कहा:

<property name="java.compilerargs" value="-Xlint:unchecked" /> 

सिर्फ फ़ाइल के तल पर import लाइन से पहले।

23

इन गुणों जिसे चींटी कमांड लाइन पर परिभाषित किया जा सकता, परहेज संपादन: और की आवश्यकता के बिना

ant -Djava.compilerargs=-Xlint debug

+0

धन्यवाद। उत्कृष्ट सुझाव। – Bram

14

भी सरल:

ant "-Djava.compilerargs=-Xlint:unchecked -Xlint:deprecation" debug

सभी एक प्रकार का वृक्ष चेतावनी सक्षम करने के लिए एक पूर्ण javac लक्ष्य की प्रतिलिपि बनाएँ: ant.properties फ़ाइल में निम्न पंक्ति डालें:

java.compilerargs=-Xlint:unchecked 

इस तरह, यह एंड्रॉइड एसडीके डिफ़ॉल्ट बिल्ड कॉन्फ़िगरेशन से java.compilerargs को ओवरराइड करता है। (आप स्वयं को जांच सकते हैं कि यह डिफ़ॉल्ट रूप से खाली है, बीटीडब्ल्यू)। एसडीके अपडेट के साथ कोई गड़बड़ नहीं है जो आपके प्रोजेक्ट को अधिसूचित किए बिना डिफ़ॉल्ट जावैक लक्ष्य बदल सकता है।

बस करने के लिए एक और अधिक बारीक तरीका! :)