In Cordova, platforms/android was a build product: cordova prepare rewrites it from config.xml, www/ and plugins/ (The Build Pipeline), an upgrade means platform rm and platform add, and Adding Platforms warned you never to edit it. Capacitor 243,123 generates the project once and lets you change it directly.
| Question | Cordova platforms/ | Capacitor android/, ios/ |
|---|---|---|
| Created by | Every prepare, platform add | cap add, once |
| Native change goes in | config.xml or a hook | The native file itself |
| In Git 1,932 | Usually ignored | Committed |
| Plugin native code | Copied into the platform | Gradle 19,597 module in node_modules |
| Platform upgrade | Remove and re-add | npm 2,036 upgrade, cap migrate |
The price is that nothing regenerates the project for you: a new requirement, such as the API 36 target Google Play 1 has demanded since 31 August 2026, arrives through cap migrate or your own edit. The gain is that an upgrade can no longer silently delete a native change.