這項獨立的 Jetifier 工具會遷移支援資料庫依附元件的程式庫,改為依賴對等的 AndroidX 套件。這項工具可讓您直接遷移單一的程式庫,而不必使用 Android Studio 附帶的 Android Gradle 外掛程式。
安裝 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 |
不 | 以反向模式執行 (「de-jetification」)。 |
-rebuildTopOfTree ,--rebuildTopOfTree |
否 | 根據產生的 POM 檔案重新建構 Maven 發行版本的 ZIP 檔案。 如果已設定,系統會將所有重寫的程式庫視為支援資料庫的一部分。Jetification 不需要。 |
-s ,--strict |
否 | 欠缺規則時不會進行遞補;而是擲回錯誤。 |
-stripSignatures ,--stripSignatures
|
否 | 處理已簽署的程式庫時,不擲回錯誤;改為移除簽名檔案。 |
-t ,-timestamp <arg> |
否 | 作為封存項目修改時間的時間戳記政策。值:keepPrevious (預設) 紀元時間或現在。 |
範例
下列範例會在 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