Hi, i have an app written in ionic 3(3.9.2) and iam using cordova-android 8.1.0 . Because of new google play policy i need to upgrade cordova to new version so i can target SDK 32. Now iam deciding which way to go.
I know that upgrading from ionic 3 to higher version is a problem - i would have to rewrite app in actual version of ionic. As i understand how ionic works - ionic-angular is only a web part and cordova is the native part, which just wraps the web application to work on android. So is it possible that even ionic 3 app will work with cordova-android 11? Or there are some requirements on ionic version?
Another way could be migration to capacitor, but as i read, capacitor works with at least ionic v4, so i would have to rewrite app anyway.
cordova-android is framework agnostic, they don’t care about your framework, should work with any.
capacitor is also framework agnostic, if you are just porting a Cordova app everything should just work as it does in Cordova. But things can get tricky if you want to start using Capacitor plugins and features as it expects users to be using more up to date tooling, and can cause conflicts with old packages such as typescript 3.
But still, that can be workarounded by using plugins like
Capacitor.Plugins.PluginName.MethodName() instead of using the import syntax.
Ah thats good news, i will try to upgrade to cordova 11 and see if it works. Anyone has any experiences with running ionic3 app and with cordova-android 11?
Later i will think about capacitor, but in ionic documentation on app development support page there is a table which says that ionic 3 is not supported with capacitor so iam kinda confused.
In theory Capacitor can run with any framework, all you need is a folder with the web assets.
The problems appear when you try to use plugins like in this example:
When you do that, typescript 3 will fail to build the folder with the web assets. So that’s probably why the docs say it’s not supported, it’s not possible to make it build as documented. To build like that you are going to need typescript 4 which is not going to build in Ionic 3 apps.
But you can still use Capacitor object directly as I mentioned on my previous message. Using
Capacitor.Plugins.PluginName.MethodName() will work for iOS and Android apps, but not for web.
Just to share some insight on the support chart you mentioned…that mainly means we won’t put engineering effort to support ionic v3 and capacitor. While they could work, if there are any issues, we’re not going to put time into getting it fixed since Ionic v3 is not supported at all anymore.
Insert note about how you should upgrade to Ionic v6 sooner than later as it will benefit you and your codebase
Has there been a resolution for this? I am in the same boat but have been unable to successfully build for Android 12.
The resolution is yes, it is compatible.
If you are having problems building is better if you create your own thread and provide more information about the error you are getting, plugins installed, etc.