Find the real cause of Android SDK conflicts. Trace AAR, JAR, Maven, manifest, and native files, explain Gradle errors, compare healthy baselines, and export clear reports.🩺 Find the real causeAndroid SDK errors can stop a build with a wall of Gradle text. Mobile SDK Conflict Doctor turns that mess into a clear report. It shows what was found, where it came from, and what to check next.🔎 Scan the whole Android setupScan AAR and JAR files, Android library folders, Maven and EDM4U data, manifests, Gradle templates, rules, properties, and native libraries. See the package, asset folder, file, and line behind each item.⚠️ Catch risky conflictsFind duplicate Java classes, duplicate libraries, version limits, manifest clashes, missing ABIs, native library copies, and AndroidX or Jetifier problems. Results are split into Detected, Likely, and Informational groups, so a guess is never shown as a fact.🧩 Make build errors easierImport a or Gradle log. Known error shapes are linked to project evidence. Unknown errors stay unknown. The tool does not make up a fix.🛡️ Fix with careMost fixes are clear steps you review and make yourself. One guarded AndroidX or Jetifier case can show an exact change, ask for approval, save a backup, and support rollback. Generated Gradle output and package files are never changed.📊 Compare and shareSave a healthy baseline, then see what was added, removed, or changed. Export JSON, Markdown, HTML, and a redacted support set. Run scans and exports from batch mode for CI.Mobile SDK Conflict Doctor works beside EDM4U. It does not replace it. It never downloads SDKs, changes packages, or uploads your data.📄Documentation✅ CompatibilityUnity 2022.3.41f1 or newer. Exact release checks were run on 2022.3.41f1, 6000.3.9f1, and 6000.4.4f1. This is an editor-only, Android-first tool. It adds no runtime code. Source-only scans do not need Android Build Support. Android builds still do. iOS and CocoaPods are not included in version 1.🔎 Scan coverageScans AAR, JAR, androidlib, Maven/POM, EDM4U Dependencies.xml, source manifests, Gradle templates, Gradle properties, ProGuard/R8 files, and native .so libraries. It records owners, source paths, source lines, archive entries, ABI data, AndroidX/Jetifier settings, and literal SDK/toolchain evidence.⚠️ FindingsChecks for duplicate Java classes, duplicate embedded artifacts, Maven version limits, manifest contributors and clashes, duplicate native libraries, missing required ABIs, AndroidX/Jetifier mismatch, and some old Gradle settings. Findings are split into Detected, Likely, and Informational. Preflight predictions are kept separate from build-confirmed results.🧩 Build logsImports or Gradle logs. Known errors use a versioned signature catalog and link back to project evidence. Unknown messages stay Unrecognized and receive no made-up fix.📊 Baselines and reportsA healthy baseline is saved at ProjectSettings/MobileSdkConflictDoctor/Baseline.json. Compare added, removed, and changed normalized items. Export JSON, Markdown, HTML, and support-redacted files with a SHA-256 manifest. Redaction covers common paths and secret shapes, but files should still be checked before sharing.🛡️ Safe changesScans are read-only by default. Generated output can be used as evidence but is never edited. Most fixes are manual. The only automatic version 1 edit is one supported AndroidX/Jetifier property change in a project-local Assets/Plugins/Android/gradleTemplate.properties file when clear resolver evidence exists. Apply requires a full diff preview and approval. It creates exact backups, writes a journal, checks the result, rescans, and supports guarded rollback. Packages and generated Gradle files are never change targets.🤖 Batch mode and CIExecute with:-batchmode -nographics -projectPath -executeMethod KevinBjorvand.MobileSdkConflictDoctor.MobileSdkConflictDoctorBatch.Run -mobileSdkDoctorOutput Options:-mobileSdkDoctorThreshold detected|likely|information|none-mobileSdkDoctorLog -mobileSdkDoctorBaseline -mobileSdkDoctorIncludeGeneratedExit codes: 0 pass, 2 threshold met, 3 incomplete scan, 4 bad input or export, and 5 unhandled error. Reports are still written when code 2 fails CI.🔌 Public APIMobileSdkProjectScanner.ScanMobileSdkBuildLogImporter.ImportIntoMobileSdkBaselineComparer.CompareMobileSdkReportExporter.Export / ExportToDirectoryMobileSdkModelValidator.ValidateMobileSdkRemediationTransactionService.Preview / Apply / RollbackMobileSdkConflictDoctorBatch.ExecutePublic serializable models use namespace KevinBjorvand.MobileSdkConflictDoctor, schema 1, tool 1.0.0.🔒 Privacy and scopeNo SDK downloads. No network upload. No package changes. It does not run, replace, update, or configure EDM4U, Gradle, Android Studio, or SDK installers. It does not promise that every build will succeed.📄DocumentationAI was used for bug detection and increasing code quality. As well as logo and marketing generation. Core code is human generated.


