For any stragglers out there that have not upgraded from ionic v1, rest assured you can still get Ionic v1 to build on Cordova 12 using cordova-android@13 and cordova-ios@7.1.1
Just know, that its going to get harder and harder to keep upgrading all the other environments and not upgrade Ionic. Take this as a shot over the bow, Ionic v1 won’t just be EOL, it will be dead and you won’t be to keep band-aiding it (like I currently am). I fear the upgrade rewrites to move to something newer…but it will be unavoidable within the next 18-24 months.
The android environment is a bit more tricky but it can be done. Here are my environments:
ANDROID:
Ionic-CLI: for v1, it must be v6.17.1 or lower, ionic-cli v7 no long supports Ionic v1
Ionic:
Ionic CLI : 6.17.0 (C:\Users\rolin\AppData\Roaming\npm\node_modules@ionic\cli)
Ionic Framework : ionic1 1.3.4
@ionic/v1-toolkit : 3.2.20Cordova:
Cordova CLI : 12.0.0 (cordova-lib@12.0.2)
Cordova Platforms : android 13.0.0
Cordova Plugins : cordova-plugin-ionic-keyboard 2.2.0, cordova-plugin-ionic-webview 5.0.0, (and 29 other plugins)Utility:
cordova-res : 0.15.4
native-run : 1.7.1System:
Android SDK Tools : 26.1.1 (C:\Users\rolin\AppData\Local\Android\sdk)
NodeJS : v22.16.0 (C:\Program Files\nodejs\node.exe)
npm : 11.4.1
OS : Windows 10
I have gradle locally installed but it may not be needed anymore. In my build I saw output that different parts of the build were using different gradle versions on it is own, different than what I have installed. In particular, which is probably causing the most breaks, I saw gradle 8.7 being used.
gradle -v
Gradle 7.6.5
Build time: 2025-06-04 13:02:22 UTC
Revision: 13a09d0cc61025596acd4acf05d1980a79838906Kotlin: 1.7.10
Groovy: 3.0.13
Ant: Apache Ant™ version 1.10.13 compiled on January 4 2023
JVM: 17.0.14 (Oracle Corporation 17.0.14+8-LTS-191)
OS: Windows 10 10.0 amd64gulp -v
CLI version: 3.1.0
Local version: 4.0.2
Config.xml
<preference name="android-compileSdkVersion" value="34" /> <preference name="android-minSdkVersion" value="23" /> <preference name="android-targetSdkVersion" value="34" />
Android Studio:
- v2020.3.1 Artic Fox (though I suspect the latest version will work too, I just didn’t want to risk it)
- Android Api/SDK 34
- Android SDK Build-Tools v 35.0.1
-
Manual Notes:
- Your v1 project resources need to be manually copied to the android res folders, there is a linking problem with in Cordova-Android@v13 that will not create your linking for you. Even though the following two sections are probably already defined in your config.xml file, the linking issue is not creating/adding them to the proper
../res/
destinations: - I manually copied everything from the
/resources/android
folder to/platforms/android/app/main/res
location, then deleted theicon
andsplash
folders from the destination. They don’t belong there. - In the
../res/values/colors.xml
you will need to add the following line to your<resources>
tag:<color name="cdv_splashscreen_background">#FFFFFF</color>
*** Since cordova-android v14 just came out (April) I am going to let that one bake in a bit before trying to upgrade to it.
Some of your plugins will probably break, I had three that I had to make alterations for to get to work. There are solutions for them, you will just have to dig a bit to find them.
Android Plugins:
cordova.cmd plugin ls
com-sarriaroman-photoviewer 1.3.0 “PhotoViewer” - needed alterations
com.peerio.cordova.plugin.carrier 1.0.1 “Carrier”
cordova-clipboard 1.3.0 “Clipboard”
cordova-custom-config 5.1.1 “cordova-custom-config”
cordova-launch-review 4.1.3 “Launch Review”
cordova-open-native-settings 1.5.6 “Native settings”
cordova-plugin-android-notch 1.0.0 “AndroidNotch”
cordova-plugin-appavailability 0.4.2 “AppAvailability”
cordova-plugin-appinfo 2.1.2 “AppInfo Plugin”
cordova-plugin-console 1.1.0 “Console”
cordova-plugin-customurlscheme 5.0.2 “Custom URL scheme”
cordova-plugin-deeplinks 1.1.1 “Cordova Deeplinks Plugin” - needed alterations
cordova-plugin-device 3.0.0 “Device”
cordova-plugin-deviceinformation 2.0.2 “DeviceInformation”
cordova-plugin-dialogs 2.0.2 “Notification”
cordova-plugin-enable-multidex 0.2.0 “Enable Multidex”
cordova-plugin-file 8.1.3 “File”
cordova-plugin-file-downloader 0.4.0 “Downloader”
cordova-plugin-file-md5 0.3.3 “MD5 Checksum”
cordova-plugin-file-opener2 4.0.0 “File Opener2”
cordova-plugin-file-transfer 2.0.0 “File Transfer”
cordova-plugin-firebasex 18.0.7 “Google Firebase Plugin”
cordova-plugin-geolocation 5.0.0 “Geolocation”
cordova-plugin-inappbrowser 6.0.0 “InAppBrowser”
cordova-plugin-ionic-keyboard 2.2.0 “cordova-plugin-ionic-keyboard”
cordova-plugin-ionic-webview 5.0.0 “cordova-plugin-ionic-webview”
cordova-plugin-network-information 3.0.0 “Network Information”
cordova-plugin-qrscanner-11 3.0.5 “QRScanner”
cordova-plugin-request-location-accuracy 2.3.0 “Request Location Accuracy”
cordova-plugin-screensize 1.3.1 “screensize”
cordova-plugin-sim 1.3.3 “SIM”
cordova-plugin-splashscreen 6.0.2 “Splashscreen”
cordova-plugin-statusbar 4.0.0 “StatusBar”
cordova-plugin-vibration 3.1.1 “Vibration”
cordova-plugin-zip 3.1.0 “cordova-plugin-zip”
cordova-sms-plugin 1.0.4 “Cordova SMS Plugin”
cordova.plugins.diagnostic 7.2.3 “Diagnostic”
===========================
MAC/IOS
This was actually much easier ( a first) for iOS than it was for Android:
Ionic-CLI: for v1, it must be v6.17.1 or lower, ionic-cli v7 no long supports Ionic v1
Ionic:
Ionic CLI : 6.17.1 (/Users/rpo/.nvm/versions/node/v23.5.0/lib/node_modules/@ionic/cli)
Ionic Framework : ionic1 1.3.4
@ionic/v1-toolkit : 3.2.15Cordova:
Cordova CLI : 12.0.0 (cordova-lib@12.0.2)
Cordova Platforms : ios 7.1.1
Cordova Plugins : cordova-plugin-ionic-keyboard 2.2.0, cordova-plugin-ionic-webview 5.0.0, (and 27 other plugins)Utility:
cordova-res : 0.15.4
native-run : 2.0.1System:
ios-deploy : 1.12.2
ios-sim : 8.0.2
NodeJS : v23.5.0 (/Users/rpo/.nvm/versions/node/v23.5.0/bin/node)
npm : 11.0.0
OS : macOS Unknown
Xcode : Xcode 16.2 Build version 16C5032a
*** NOTE: Unfortunately I did the upgrade a few months ago and don’t remember if there was anything overly complicated about upgrading but I don’t think there was. A rare time it went rather smoothly upgrading the Mac environment.
iOS Plugins:
cordova plugin ls
com-sarriaroman-photoviewer 1.2.4 “PhotoViewer”
com.peerio.cordova.plugin.carrier 1.0.1 “Carrier”
cordova-clipboard 1.3.0 “Clipboard”
cordova-launch-review 4.1.1 “Launch Review”
cordova-open-native-settings 1.5.6 “Native settings”
cordova-plugin-add-swift-support 2.0.2 “AddSwiftSupport”
cordova-plugin-appavailability 0.4.2 “AppAvailability”
cordova-plugin-appinfo 2.1.2 “AppInfo Plugin”
cordova-plugin-customurlscheme 5.0.2 “Custom URL scheme”
cordova-plugin-deeplinks 1.1.1 “Cordova Deeplinks Plugin”
cordova-plugin-delete-launch-screen-cache 1.0.2 “DeleteLaunchScreenCache”
cordova-plugin-device 3.0.0 “Device”
cordova-plugin-deviceinformation 2.0.2 “DeviceInformation”
cordova-plugin-dialogs 2.0.2 “Notification”
cordova-plugin-file-downloader 0.4.0 “Downloader”
cordova-plugin-file-md5 0.3.3 “MD5 Checksum”
cordova-plugin-file-opener2 4.0.0 “File Opener2”
cordova-plugin-file 8.1.3 “File”
cordova-plugin-firebasex 18.0.5 “Google Firebase Plugin”
cordova-plugin-geolocation 5.0.0 “Geolocation”
cordova-plugin-inappbrowser 6.0.0 “InAppBrowser”
cordova-plugin-ionic-keyboard 2.2.0 “cordova-plugin-ionic-keyboard”
cordova-plugin-ionic-webview 5.0.0 “cordova-plugin-ionic-webview”
cordova-plugin-network-information 3.0.0 “Network Information”
cordova-plugin-ns0m-file-transfer 2.0.0-dev “File Transfer”
cordova-plugin-qrscanner-11 3.0.5 “QRScanner”
cordova-plugin-queries-schemes 0.1.1 “App Queries Strings”
cordova-plugin-request-location-accuracy 2.3.0 “Request Location Accuracy”
cordova-plugin-screensize 1.3.1 “screensize”
cordova-plugin-sim 1.3.3 “SIM”
cordova-plugin-splashscreen 6.0.2 “Splashscreen”
cordova-plugin-statusbar 4.0.0-dev “StatusBar”
cordova-plugin-vibration 3.1.1 “Vibration”
cordova-plugin-zip 3.1.0 “cordova-plugin-zip”
cordova-sms-plugin 1.0.4 “Cordova SMS Plugin”
cordova.plugins.diagnostic 7.2.3 “Diagnostic”