Page MenuHomePhabricator

[android] Fix android CI + build with CMake changes
AbandonedPublicDraft

Authored by jon on Jul 3 2022, 10:41 AM.
Tags
None
Referenced Files
Unknown Object (File)
Sun, Dec 15, 7:22 PM
Unknown Object (File)
Sun, Dec 15, 7:21 PM
Unknown Object (File)
Sun, Dec 15, 7:21 PM
Unknown Object (File)
Sun, Dec 15, 7:21 PM
Unknown Object (File)
Sun, Dec 15, 8:00 AM
Unknown Object (File)
Sun, Dec 15, 8:00 AM
Unknown Object (File)
Sun, Dec 15, 8:00 AM
Unknown Object (File)
Sun, Dec 15, 8:00 AM

Details

Summary

Update android build to re-use comm cmake projects

Depends on D4432

Test Plan

cd native/android && ./gradlew bundleRelease

Diff Detail

Repository
rCOMM Comm
Lint
No Lint Coverage
Unit
No Test Coverage

Event Timeline

jon added a parent revision: D4432: [nix] Add fbjni.
jon edited the test plan for this revision. (Show Details)
jon edited the summary of this revision. (Show Details)

Remove androidDevEnv from dev shell

There's currently no way to accept the ndk and patcher
licenses which makes it unusable for now.

Remove explicit includes directories

Should be available through CMake targets

Harbormaster returned this revision to the author for changes because remote builds failed.Jul 3 2022, 10:56 AM
Harbormaster failed remote builds in B10237: Diff 14126!

Stash attempt to do canonical cmake build

Harbormaster returned this revision to the author for changes because remote builds failed.Jul 5 2022, 9:32 AM
Harbormaster failed remote builds in B10297: Diff 14195!

Going to abandon to avoid it polluting the backlog.

Unresolved issues:

  • Demand to target cross compilation requires the sources files to be present, so we can't really use native pre-built nix packages
  • Nixpkgs' android-sdk.composeSdk doesn't really support agreeing to the ndk and patch licenses.
  • Android uses a patched version of cmake 3.10 which makes importing sibling projects impossible

Future work:

  • Support nixpkgs to auto-generate the ndk license in the expected location
  • Use cmake 3.21+ which supports android toolchain files natively