Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(android): auto-download NDK r21c for module builds if needed #11755

Merged
merged 5 commits into from Jun 9, 2020

Conversation

jquick-axway
Copy link
Contributor

@jquick-axway jquick-axway commented Jun 5, 2020

JIRA:

Summary:

  • The macOS distribution of Android NDK r21c has been "notarized" by Google. This means macOS Catalina will no longer show security popups when attempting to do a module build.
  • Will only auto-download this NDK version for module builds if no installation was found.
  • Fixed builds with NDK r21 to no longer log harmless "Bad file descriptor" errors.

Module Test:

  1. Use a macOS Catalina machine that does not have the NDK installed.
  2. Download the zipped source of module ti.imagefactory.
  3. Open the Terminal.
  4. CD to directory: ./ti.imagefactory/android
  5. Enter: appc run -p android
  6. Verify that you see log message similar to the below. This may take a few minutes.
    [INFO] [GRADLE] Preparing "Install NDK (revision: 21.2.6472646)"
  7. Verify that the module builds and its example project runs.

- This NDK version was notarized for macOS Catalina. Prevents security popups when doing module builds.
@build
Copy link
Contributor

build commented Jun 5, 2020

Messages
📖

💾 Here's the generated SDK zipfile.

📖 ✊ The commits in this PR match our conventions! Feel free to Rebase and Merge this PR when ready.
📖

✅ All tests are passing
Nice one! All 6631 tests are passing.
(There are 703 skipped tests not included in that total)

Generated by 🚫 dangerJS against 5ecb06b

- Compiling with Android NDK 21 and higher would cause several harmless "Bad file descriptor" errors to be logged.
- Caused by NDK 21 setting "--output-sync" argument default. Setting it to "none" restores old behavior.
- Using NDK command line argument --output-sync will cause a build failure on NDK 19 and lower. And we don't need to pass it into NDK 20.
Copy link
Contributor

@garymathews garymathews left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

CR: PASS

Copy link
Contributor

@ssjsamir ssjsamir left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

FR Passed: No longer see Bad file descriptor errors and able to install NDK if no other NDKs are found.

Test Environment

MacOS Catalina: 10.15.5 Beta
Xcode: 11.4
Java Version: 1.8.0_131
Android NDK: 21.1.6273396-beta2
Node.js: 10.16.3
""NPM":"5.0.0","CLI":"8.0.0""
Andoird Pixl xl 7.1.1 Emulator 

@ssjsamir ssjsamir merged commit 51c43bc into tidev:master Jun 9, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants