Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is there a way to mix AndroidX and a subproject that uses the support library?

I have an Android project that I would like to upgrade to AndroidX. However, I am using a module which is shared across other applications that have not migrated to AndroidX yet. I would like to avoid forking the code and prefer using the support library for the module while upgrading the reset of the project to use AndroidX.

Right now I cannot import any android.support.v7 classes. So for example import android.support.v7.widget.AppCompatEditText; fails.

I've tried to revert the changes made to build.gradle by the migration tool in the module but that doesn't prevent the compilation problem.

However in my gradle.properties still has:

android.useAndroidX=true
android.enableJetifier=true
like image 554
Doron Yakovlev Golani Avatar asked Oct 25 '18 15:10

Doron Yakovlev Golani


Video Answer


2 Answers

All modules used in your app need to move to AndroidX together. You'd need to move your module you want to keep on Support Library into a new project and only use it as a maven dependency or AAR in your AndroidX project.

like image 146
ianhanniballake Avatar answered Sep 30 '22 01:09

ianhanniballake


If you use multi-module project with androidX[About] and want to use a module with support library you can try to create gradle.properties file inside module folder and define

android.useAndroidX=false
android.enableJetifier=false

Moreover I would recommend you to create gradle.properties for every module to configure your project

[AndroidX and support compatibility]

like image 43
yoAlex5 Avatar answered Sep 30 '22 01:09

yoAlex5