Committing android/ and ios/

Why android/ and ios/ Are Checked Into Version Control

The native project holds your app's identity: the application ID and version in build.gradle, permissions and intent filters in AndroidManifest.xml, icons in res/, and on iOS the Info.plist usage strings and signing team. Leave android/ out of Git 1,932 and a teammate's clone has no project at all. The template's .gitignore already excludes what should not be committed; the other 53 files are yours to track:

The ignored parts of the Android projectShell
git status --short --ignored android
Output
!! android/app/build/
!! android/app/src/main/assets/
!! android/app/src/main/res/xml/config.xml
!! android/capacitor-cordova-android-plugins/

The ignored paths are build output and what cap sync recreates: the web copy and two JSON files in assets/, the Cordova 129 config.xml and the Cordova plugin module (Migrating from Cordova). A fresh clone builds after npm 2,036 ci, the web build and npx cap sync.