這個獨立的 Jetifier 工具會將支援資料庫依附元件程式庫遷移至對等的 AndroidX 套件。這項工具可讓您直接遷移個別程式庫,而不必使用 Android Studio 附帶的 Android Gradle 外掛程式。
安裝 Jetifier
如要安裝 Jetifier,請下載 ZIP 檔案並解壓縮。您的裝置必須已安裝 Java 1.8 版。
使用方式
如要處理程式庫,請傳遞目前的程式庫路徑和工具應建立的輸出檔案路徑。Jetifier 支援 JAR、AAR 和 ZIP 檔案,包括巢狀封存檔案。
./jetifier-standalone -i <source-library> -o <output-library>
選項
選項 | 是否必填 | 說明 |
---|---|---|
-i, --input <path> | 是 | 輸入程式庫的路徑 (JAR、AAR 或 ZIP)。 |
-o, --output <path> | 是 | 輸出檔案的路徑。如果檔案已存在,則 Jetifier 會覆寫該檔案。 |
-c, --config <path> | 否 | 選用自訂設定檔的路徑。 |
-l, --log <level> | 否 | 記錄層級。允許的值包括:
|
-r | 否 | 以反向模式執行 (「de-jetification」)。 |
範例
下列範例會在 libraryToProcess.aar
程式庫 (在目前的目錄中) 中執行公用程式,並將輸出內容寫入同一個目錄中的 result.aar
:
./jetifier-standalone -i libraryToProcess.aar -o result.aar
使用須知
Jetifier 會遷移指向 android.support.*
套件的 Java、XML、POM 和 ProGuard 參照,並將參照改為指向對應的 androidx.*
套件。
由於 android.support.*
的 ProGuard 萬用字元不一定能直接對應至 androidx.*
套件,因此 Jetifier 會產生所有符合資格的替代項目。
如果 android.support.*
套件中的類型不屬於任何支援資料庫成果,只要該類型有對應項目,Jetifier 仍會遷移該類型。不過,系統無法保證這項遷移作業正常運作,因為對應關係可能不夠全面,無法涵蓋所有自訂類型。
進階用法
Jetifier 公用程式支援部分進階用途。
反向模式
如果您傳遞 -r
標記,公用程式就會以「反向模式」執行。在這個模式下,公用程式會將 AndroidX API 轉換為支援資料庫中的對等項目,而不是轉換支援資料庫中的項目。舉例來說,如果您開發使用 AndroidX API 的程式庫,但也需要發布使用支援資料庫的版本,就可以採用反向模式。
範例
下列範例會在 myAndroidXLib.aar
程式庫 (在目前的目錄中) 中以反向模式執行公用程式,並將輸出內容寫入同一個目錄中的 supportLibVersion.aar
:
./jetifier-standalone -r -i myAndroidXLib.aar -o supportLibVersion.aar
自訂設定檔
Jetifier 工具會使用設定檔,將支援程式庫類別對應至相等的 AndroidX 項目。如有需要,您可以建立自訂設定檔來調整對應作業。您甚至可以在對應中新增原本不是支援資料庫成員的新類別;例如,您可以修改對應,以要使用 AndroidX 而寫的後繼類別取代自有類別。
如要使用自訂設定檔,請先從公用程式的 jetifier-core-*.jar
檔案擷取 default.generated.config
檔案,然後儲存檔案。對設定檔副本進行必要的編輯,並使用 -c
標記將檔案傳遞到公用程式。例如:
./jetifier-standalone -i libraryToProcess.aar -o result.aar -c myCustomMapping.config