Page MenuHomePhabricator

[Android] Use native modules from CMake
AbandonedPublic

Authored by varun on Feb 1 2023, 2:01 PM.
Tags
None
Referenced Files
Unknown Object (File)
Mon, Apr 15, 1:31 AM
Unknown Object (File)
Mon, Apr 15, 1:31 AM
Unknown Object (File)
Mon, Apr 15, 1:31 AM
Unknown Object (File)
Mon, Apr 15, 1:31 AM
Unknown Object (File)
Mon, Apr 15, 1:31 AM
Unknown Object (File)
Mon, Apr 15, 1:31 AM
Unknown Object (File)
Mon, Apr 15, 1:28 AM
Unknown Object (File)
Feb 27 2024, 2:17 AM
Subscribers

Details

Summary

Use the CMake native modules target instead of
including the sources directly.

https://linear.app/comm/issue/ENG-776

Test Plan

Android gate passes

yarn react-native run-android

Diff Detail

Repository
rCOMM Comm
Branch
jonringer/android-cmake-sane (branched from master)
Lint
No Lint Coverage
Unit
No Test Coverage

Event Timeline

Harbormaster returned this revision to the author for changes because remote builds failed.Feb 1 2023, 2:19 PM
Harbormaster failed remote builds in B15966: Diff 21802!

Propagate native_rust_library include path

Harbormaster returned this revision to the author for changes because remote builds failed.Feb 2 2023, 9:38 AM
Harbormaster failed remote builds in B16021: Diff 21867!
Harbormaster returned this revision to the author for changes because remote builds failed.Feb 5 2023, 7:03 PM
Harbormaster failed remote builds in B16160: Diff 22110!

Wait on cxxbridge, instead of rust library target

Harbormaster returned this revision to the author for changes because remote builds failed.Feb 7 2023, 9:01 AM
Harbormaster failed remote builds in B16230: Diff 22198!
ashoat requested changes to this revision.Feb 7 2023, 10:45 AM

Can you modify the Test Plan to include running / playing around with the Android app? I want to make sure it doesn't eg. crash on start, etc.

As always, encourage you to try to reach further in your Test Plan – instead of just testing the immediate / obvious thing, ask yourself how this impacts the product, and test the part of the product that it will impact

This revision now requires changes to proceed.Feb 7 2023, 10:45 AM

Need to compile the .so's for the native libraries, then make their symbols available to jni with system.loadLibrary()

Can you modify the Test Plan to include running / playing around with the Android app? I want to make sure it doesn't eg. crash on start, etc.

Sorry, the intel mac just goes to 100% fans and does nothing. Switching to the m1 allowed me to make progress; determined that the jni was failing to load symbols as they were previously part of the libcomm_jni_module, but now part of a separate libcomm-native-modules library.

varun abandoned this revision.
varun edited reviewers, added: jon; removed: varun.