I’ve been banging my head against this for days now. I have an Ioinc v5 app that won’t load in android studio. I think the issue is related to the AndroidX stuff that cropped up last year but none of the solutions help me. I’ve deleted and rerun the steps to generate the Android build several times and I’m on my latest version and again stuck at this error in Android Studio:
ERROR: Manifest merger failed : Attribute application@appComponentFactory value=(android.support.v4.app.CoreComponentFactory) from [com.android.support:support-compat:28.0.0] AndroidManifest.xml:22:18-91
is also present at [androidx.core:core:1.0.0] AndroidManifest.xml:22:18-86 value=(androidx.core.app.CoreComponentFactory).
Suggestion: add 'tools:replace="android:appComponentFactory"' to <application> element at AndroidManifest.xml:5:5-43:19 to override.
I’ve tried doing that but then the AStudio complains with:
The prefix "tools" for attribute "tools:replace" associated with an element type "application" is not bound.
I have a suspicion that the AdMobFree plugin might be the source of the issue as that is the only thing that hooks in to the Firebase/Google Play world and it built fine a few weeks ago before I included that.
I’m at a loss where to go next, I’ve developed for iOS in ObjC and Swift and WebDev is my day job but I’m at a total loss with Android.
I’m building with Capacitor. This is my package.json file below. Please help
{
"name": "CalWOD",
"version": "0.0.1",
"author": "Simon Barker",
"homepage": "",
"scripts": {
"ng": "ng",
"start": "ng serve",
"build": "ng build",
"test": "ng test",
"lint": "ng lint",
"e2e": "ng e2e"
},
"private": true,
"dependencies": {
"@angular/common": "~8.2.14",
"@angular/core": "~8.2.14",
"@angular/forms": "~8.2.14",
"@angular/platform-browser": "~8.2.14",
"@angular/platform-browser-dynamic": "~8.2.14",
"@angular/router": "~8.2.14",
"@capacitor/android": "^1.5.0",
"@capacitor/core": "1.5.1",
"@capacitor/ios": "^1.5.0",
"@ionic-native/admob-free": "^5.22.0",
"@ionic-native/core": "^5.0.0",
"@ionic-native/media": "^5.22.0",
"@ionic-native/native-audio": "^5.22.0",
"@ionic-native/splash-screen": "^5.0.0",
"@ionic-native/status-bar": "^5.0.0",
"@ionic/angular": "^5.0.4",
"cordova-admob-sdk": "^0.24.1",
"cordova-plugin-admob-free": "^0.27.0",
"cordova-plugin-androidx": "^1.0.2",
"cordova-plugin-file": "^6.0.2",
"cordova-plugin-media": "^5.0.3",
"cordova-plugin-nativeaudio": "^3.0.9",
"cordova-promise-polyfill": "0.0.2",
"core-js": "^2.5.4",
"moment": "^2.24.0",
"rxjs": "~6.5.1",
"tslib": "^1.9.0",
"zone.js": "~0.9.1"
},
"devDependencies": {
"@angular-devkit/build-angular": "~0.803.20",
"@angular/cli": "~8.3.23",
"@angular/compiler": "~8.2.14",
"@angular/compiler-cli": "~8.2.14",
"@angular/language-service": "~8.2.14",
"@capacitor/cli": "1.5.1",
"@ionic/angular-toolkit": "^2.2.0",
"@types/jasmine": "~3.3.8",
"@types/jasminewd2": "~2.0.3",
"@types/node": "~8.9.4",
"codelyzer": "^5.0.0",
"cordova-plugin-device": "^2.0.2",
"cordova-plugin-ionic-keyboard": "^2.2.0",
"cordova-plugin-ionic-webview": "^4.1.3",
"cordova-plugin-splashscreen": "^5.0.2",
"cordova-plugin-statusbar": "^2.4.2",
"cordova-plugin-whitelist": "^1.3.3",
"jasmine-core": "~3.4.0",
"jasmine-spec-reporter": "~4.2.1",
"jetifier": "^1.6.5",
"karma": "~4.1.0",
"karma-chrome-launcher": "~2.2.0",
"karma-coverage-istanbul-reporter": "~2.0.1",
"karma-jasmine": "~2.0.1",
"karma-jasmine-html-reporter": "^1.4.0",
"protractor": "~5.4.0",
"ts-node": "~7.0.0",
"tslint": "~5.15.0",
"typescript": "~3.4.3"
},
"description": "AirBike and Rower workouts to build your cardio engine.",
"cordova": {
"plugins": {
"cordova-plugin-whitelist": {},
"cordova-plugin-statusbar": {},
"cordova-plugin-device": {},
"cordova-plugin-splashscreen": {},
"cordova-plugin-ionic-webview": {},
"cordova-plugin-ionic-keyboard": {},
"cordova-plugin-media": {},
"cordova-plugin-admob-free": {}
},
"platforms": []
}
}