Jetifire tool migrates support-library-dependent libraries to rely on the equivalent AndroidX packages instead.
npm install jetifire
Jetifire tool migrates support-library-dependent libraries to rely on the equivalent AndroidX packages instead.
Created using nodejs, it is dependency free and read/writes files asynchronously, that means it is very fast ⚡
Node port of Mike Hardy's bash version (https://github.com/mikehardy/jetifier)``bash`
mkdir -p node_modules/testing
for i in {0..1000}
do
echo "import android.arch.core.util.Function;" > node_modules/testing/file_$i.java
done
Bash version
`bash`
npx jetify : 44.994 seconds
This version
`bash`
npx jetifire : 2.325 seconds
To install jetifire, run the following command:
`bash`
npm install --save jetifire
To process your libraries, simply run the jetifire command by putting it in an npm script or as a post install script.
1. Run the Jetifire
`bash`
./node_modules/.bin/jetifire
Reverse mode
`bash`
./node_modules/.bin/jetifire reverse
2. (Optional) add a postinstall script to your package.json: "postinstall": "jetifire"
Jetifire reads all your node_modules folder and looks for .java, .kt and .xml files, and then changes any android.support. imports to its corresponding androidx..
If there is a type in an android.support.*` package that does not come from any support library artifact, Jetifire still migrates the type as long as there is a mapping for it. However, this migration is not guaranteed to work, as there might not be mapping rules general enough to cover all the custom types.
Mike Hardy - for the original React Native Jetifier tool
Licensed under the CreativeCommons Attribution 2.5 License
* Free for use in both personal and commercial projects.
* Attribution requires leaving author name, author homepage link, and the license info intact.