जेटफ़ायर

स्टैंडअलोन Jetifier टूल, सपोर्ट-लाइब्रेरी पर निर्भर लाइब्रेरी को के बजाय, मिलते-जुलते AndroidX पैकेज पर भरोसा करते हैं. यह टूल आपको बंडल किए गए 'Android Gradle प्लग इन' का इस्तेमाल करने के बजाय, अलग-अलग लाइब्रेरी Android Studio से कनेक्ट किया है.

Jetifier इंस्टॉल करें

Jetifier इंस्टॉल करने के लिए, zip डाउनलोड करें फ़ाइल और उसे एक्सट्रैक्ट करें. आपके डिवाइस में Java वर्शन 1.8 या उसके बाद वाला वर्शन इंस्टॉल होना चाहिए.

इस्तेमाल

लाइब्रेरी प्रोसेस करने के लिए, मौजूदा लाइब्रेरी का पाथ पास करें और पाथ आउटपुट फ़ाइल होनी चाहिए जिसे टूल को बनाना चाहिए. Jetifier, JAR, AAR, और ZIP के साथ काम करता है फ़ाइलें, जिनमें नेस्ट किए गए संग्रह शामिल हैं.

./jetifier-standalone -i <source-library> -o <output-library>

विकल्प

नीचे दी गई टेबल में, Jetifier टूल कमांड के लिए उपलब्ध विकल्प दिए गए हैं:

विकल्प ज़रूरी है? ब्यौरा
-i, --input <path> हां इनपुट लाइब्रेरी (JAR, AAR या ZIP) का पाथ.
-o, --output <path> हां आउटपुट फ़ाइल का पाथ. अगर फ़ाइल पहले से मौजूद है, तो Jetifier इसे ओवरराइट कर देता है.
-c, --config <path> नहीं वैकल्पिक कस्टम कॉन्फ़िगरेशन फ़ाइल का पाथ.
-l, --log <level> नहीं लॉगिंग लेवल. इन वैल्यू का इस्तेमाल करने की अनुमति है:
  • गड़बड़ी
  • चेतावनी
  • जानकारी
  • ज़्यादा शब्दों में जानकारी देना
अगर इस नीति के बारे में नहीं बताया गया है, तो यह डिफ़ॉल्ट रूप से "चेतावनी" के लिए सेट होती है.
-r नहीं रिवर्स मोड में काम करता है ("डी-जेटिफ़िकेशन").
-rebuildTopOfTree,
--rebuildTopOfTree
नहीं इसके अनुसार Maven डिस्ट्रिब्यूशन का ZIP फिर से बनाएं: जनरेट की गई POM फ़ाइल.
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है अगर सेट हो, तो फिर से लिखी गई सभी लाइब्रेरी उन्हें सपोर्ट लाइब्रेरी का हिस्सा माना जाता है. जेटिफ़िकेशन के लिए आवश्यक नहीं है.
-s, --strict नहीं नियम मौजूद न होने पर फ़ॉलबैक न करें; थ्रॉ एरर आज़माएं.
-stripSignatures,
--stripSignatures
नहीं गड़बड़ी की सूचना न दें हस्ताक्षर की गई लाइब्रेरी को खोजना; हस्ताक्षर वाली फ़ाइलों को हटा दें आज़माएं.
-t, -timestamp <arg> नहीं टाइमस्टैंप के बारे में यह नीति, संग्रहित की गई एंट्री को उनके बदले गए समय के तौर पर सेव किया जाएगा. वैल्यू: Keepपीछे (डिफ़ॉल्ट) Epoch या Now.

उदाहरण

नीचे दिया गया उदाहरण इसकी लाइब्रेरी libraryToProcess.aar पर उपयोगिता चलाता है मौजूदा डायरेक्ट्री और आउटपुट को उसी में result.aar पर लिखता है डायरेक्ट्री:

./jetifier-standalone -i libraryToProcess.aar -o result.aar

इस्तेमाल की जानकारी

Jetifier, Java, XML, POM, और ProGuard रेफ़रंस को माइग्रेट करता है, जो android.support.* पैकेज को बदला जा रहा है, ताकि वे संबंधित पैकेज पर ले जा सकें androidx.* पैकेज.

android.support.* के लिए ProGuard वाइल्डकार्ड हमेशा सीधे मैप नहीं करते हैं androidx.* पैकेज में, Jetifier सभी ज़रूरी शर्तें पूरी करता है.

अगर android.support.* पैकेज में कोई ऐसा टाइप है जो किसी यह लाइब्रेरी आर्टफ़ैक्ट के साथ काम करता है. हालांकि, यह तब तक अलग-अलग कैटगरी में माइग्रेट करता रहेगा, जब तक मैपिंग कर रही हूँ. हालांकि, इस माइग्रेशन के काम करने की कोई गारंटी नहीं है, क्योंकि हो सकता है कि मैप करने के नियम इतने सामान्य न हों कि वे सभी कस्टम टाइप को शामिल कर सकें.

बेहतर इस्तेमाल के लिए

Jetifier उपयोगिता, कुछ बेहतर इस्तेमाल के लिए काम करती है.

रिवर्स मोड

-r फ़्लैग को पास करने पर, यूटिलिटी रिवर्स मोड में काम करती है. इस मोड में, सुविधा, AndroidX API को सपोर्ट लाइब्रेरी जैसी सुविधाओं में बदल देती है. रिवर्स मोड तब उपयोगी होता है, जब आपको ऐसी लाइब्रेरी जो AndroidX API का इस्तेमाल करती हैं, लेकिन उन्हें सपोर्ट लाइब्रेरी पर क्लिक करें.

उदाहरण

नीचे दिए गए उदाहरण में, लाइब्रेरी पर यूटिलिटी को रिवर्स मोड में चलाया गया है मौजूदा डायरेक्ट्री में myAndroidXLib.aar है और आउटपुट को इस पर लिखता है इसी डायरेक्ट्री में supportLibVersion.aar:

./jetifier-standalone -r -i myAndroidXLib.aar -o supportLibVersion.aar

कस्टम कॉन्फ़िगरेशन फ़ाइल

Jetifier टूल, सपोर्ट लाइब्रेरी क्लास को मैप करने के लिए एक कॉन्फ़िगरेशन फ़ाइल का इस्तेमाल करता है AndroidX के जैसी सुविधाएं. अगर ज़रूरी हो, तो ऐसी कस्टम कॉन्फ़िगरेशन फ़ाइल बनाई जा सकती है जो इस मैपिंग को बदल देता है. आप मैपिंग में ऐसी नई क्लास भी जोड़ सकते हैं जो वे सपोर्ट लाइब्रेरी के सदस्य हैं. उदाहरण के लिए, आप अपनी खुद की किसी क्लास को, इस्तेमाल के लिए लिखी गई सक्सेसर क्लास से बदलने के लिए मैपिंग करना AndroidX.

कस्टम कॉन्फ़िगरेशन फ़ाइल का इस्तेमाल करने के लिए:

  1. यूटिलिटी के इस डिवाइस से default.generated.config फ़ाइल निकालें jetifier-core-*.jar फ़ाइल और उसे सेव करें.
  2. कॉन्फ़िगरेशन फ़ाइल की अपनी कॉपी में ज़रूरी बदलाव करें.
  3. -c फ़्लैग के साथ अपनी फ़ाइल को यूटिलिटी को भेजें.

उदाहरण के लिए:

./jetifier-standalone -i libraryToProcess.aar -o result.aar -c myCustomMapping.config