| #
71ea6032 |
| 22-Jun-2023 |
Kudo Chien <[email protected]> |
[android][tools] fix expo go versioning issues on android (#22950)
# Why
fix expo-go android versioning for sdk 49
close ENG-8955
# How
- [tools] fix for react-native monorepo changes
- [
[android][tools] fix expo go versioning issues on android (#22950)
# Why
fix expo-go android versioning for sdk 49
close ENG-8955
# How
- [tools] fix for react-native monorepo changes
- [tools] update manifest-merger because the original one doesn't support java 17. since the new manifest-merger has kotlin runtime and the jar takes about 35MB. rather than committing a prebuilt jar, now we build manifest-merger from source.
- [tools] since #22609 we don't have `package` in libraries' AndroidManifest.xml, the manifest-merger still requires the `package`, so we have to temporarily put the `package` back during manifest merging. (the `package` name is generated from `namespace` in build.gradle)
- [tools] the original jarjar uses outdated [ASM](https://asm.ow2.io/) and it doesn't support bytecode generated by kotlin. react-native now has some kotlin code, and the original jarjar cannot transform package name from those kotlin classes. i've tried to rebuild a jarjar from [this revision](https://github.com/google/jarjar/commit/e11d5636aa45664271c8f1603067527b2520f591). this requires some manual steps like updating ASM libs and install ant builder. so i still commit the prebuilt jarjar in this pr.
- [updates] force casting for `UpdateEntity` to deal with kotlin smart casting from versioned to unversioned kernel class. (i'll leave inline comment for this)
- [expo-modules-core's `android-annotation`] the project stays in a place that does not support versioning yet. in this pr i just keep it as an unversionable project. cc @lukmccall
# Test Plan
`et add-sdk -p android -s 49.0.0` + android versioned expo-go + sdk 49 NCL smoke test
show more ...
|