merge wiki into developer.android.com if necessary and delete
- Dominant language
- C++
- Stars
- 10.5k
- Forks
- 4.3k
- PR merge metrics
- No merged PRs in 30d
Description
Hi, I'm hoping for some clarification on when AGP will install the NDK, i.e. asking if
https://github.com/android/ndk-samples/wiki/Configure-NDK-Path#ndk-with-agp-41
is also relevant to newer AGP versions.
Per https://github.com/android/ndk-samples/wiki/Configure-NDK-Path#ndk-with-agp-41,
AGP 4.1 (but maybe not newer?) will automatically install the NDK if it isn't installed already.
Per https://developer.android.com/studio/projects/install-ndk#install_ndk_and_cmake_automatically
AGP 4.2+ will automatically install the specified NDK version the _first time the project is built_, and only _if the licenses are pre-accepted_.
Per https://developer.android.com/studio/projects/configure-agp-ndk#agp_version_41,
Maybe this is only done by Android Studio? For AGP 4.2+.
The reason I ask is because I'm trying to [decide on a path](https://github.com/flutter/flutter/issues/155576) for Flutter to get debug symbols included in app bundles by default (one of our most liked issues https://github.com/flutter/flutter/issues/60240). Ideally, I'd like avoid re-inventing the wheel and instead rely on AGP to do this, as AGP has the ability to strip prebuilt libraries and package the debug symbols appropriately within the app bundle.
But per @DanAlbert's comment on https://github.com/android/ndk/discussions/1844, this behavior only works if the ndk is installed, so I'd like to be sure that users will have the NDK installed (otherwise from my local testing, the debug symbols end up getting included in the actual app, which would be a very bad outcome).
Per my local testing, if I remove all locally installed ndk versions and then make a new (Flutter) project using AGP 8.1, the ndk doesn't seem to be get installed, and instead we see logs:
```
C/C++: Folder /Users/mackall/Library/Android/sdk/ndk/26.1.10909125 does not exist. Ignoring.
[ ] C/C++: Folder /Users/mackall/Library/Android/sdk/ndk-bundle does not exist. Ignoring.
[ ] Unable to strip library '/Users/mackall/development/BugTesting/fifth/build/app/intermediates/merged_native_libs/release/mergeReleaseNativeLibs/out/lib/x86_64/libflutter.so' due to missing strip tool for ABI
'x86_64'. Packaging it as is.
```
Is this expected behavior, or is Flutter somehow missing some configuration that would be required to get the ndk installed automatically?
Also sorry if this is the wrong place to ask the question - it relates to the first sample page, but I'm aware the question is also slightly more broad than that so feel free to redirect me if this isn't the right place to ask.
Contributor guide
Research direction
Compare the linked ndk-samples wiki section with the three developer.android.com pages and the reported AGP 8.1 behavior. Confirm which AGP versions install the NDK automatically, then determine whether the wiki content should be merged into developer.android.com and removed; done means the guidance is consistent and the migration decision is documented.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- android
- Domain
- documentation
- Issue type
- Documentation
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100