| #
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 ...
|
| #
6239b2d0 |
| 21-Oct-2022 |
Kudo Chien <[email protected]> |
[tools] Update android versioning script for sdk 47 (#19518)
# Why
update android versioning script for sdk 47
# How
- [android] update gradle wrapper version to 7.5.1, which aligned with r
[tools] Update android versioning script for sdk 47 (#19518)
# Why
update android versioning script for sdk 47
# How
- [android] update gradle wrapper version to 7.5.1, which aligned with react-native 0.70
- [localization] fix compileSdkVersion 33 build error
- [tools] update versioning script
- remove `renameHermesEngine` which is deprecated patchelf based hermes versioning
- replace duplicated runReactNativeCodegenAndroidAsync with `Codegen.runReactNativeCodegenAsync`
- update versioning script to support building in-place from react-native-lab
- update for react-native 0.70
- update versionCxx for expo-modules-core
- support other new style vendoring modules
- @react-native-community/slider
- react-native-gesture-handler (with cxx files but they're only for new architecture)
- react-native-screens (with cxx files but they're only for new architecture)
- react-native-svg
- react-native-reanimated (with cxx files)
- remove old reanimated versioning scripts
# Test Plan
```
$ et add-sdk -p android -s 47.0.0
$ cd android && ./gradlew :app:installVersionedDebug
# smoke test on sdk 47 NCL
```
show more ...
|
| #
f194f574 |
| 05-Jul-2022 |
Wojciech Kozyra <[email protected]> |
[versioning][android] Support react-native 69 (#18032)
* [skip ci] suppoort rn69
* version expo-modules-core
* review feedback + small cleanup
|
| #
a272999e |
| 11-Apr-2022 |
Bartosz Kaszubowski <[email protected]> |
[tools] add and hook up lint setup, remove `module-scripts` (#16974)
|
| #
d566f199 |
| 06-Apr-2022 |
Kudo Chien <[email protected]> |
[android][ios] Upgrade expo go to react-native 0.68 (#16752)
# Why
upgrade for sdk 45
# How
- upgrade our react-native fork to 0.68 based: https://github.com/expo/react-native/tree/sdk-45
[android][ios] Upgrade expo go to react-native 0.68 (#16752)
# Why
upgrade for sdk 45
# How
- upgrade our react-native fork to 0.68 based: https://github.com/expo/react-native/tree/sdk-45
- migrate android/ios projects to 0.68
- [android] bump `targetSdkVersion` and `compileSdkVersion` to 31 (aligned with react-native 0.68)
- [tools] update codegen customization in `update-rn` script
- [tools] update versioning scripts
- [android] replace our customized `NDK_ABI_FILTERS` with official supported `reactNativeArchitectures` gradle property
- [android] use jdk 11
that is a huge pr because of changes from `et update-rn`. recommend to review this pr by commits.
most `add-sdk` problems on 0.68 are fixed. there are still an issue on android. i'll address in another pr.
- expo-av CMakeLists.txt versioning
# Test Plan
- unversoned android expo-go + ncl
- unversoned ios expo-go + ncl
- `et add-sdk -p ios -s 45.0.0` + versioned ios sdk 45 expo-go + ncl
- `et add-sdk -p android -s 45.0.0` + versioned android sdk 45 expo-go + ncl (should commented out expo-av in `ExperiencePackagePicker.kt`
show more ...
|
| #
370fa39d |
| 28-Feb-2022 |
Kudo Chien <[email protected]> |
[android][ios] Fix versioning for expo go after react-native 0.67.2 upgrade (#16401)
# Why
for sdk45 and based on #16400
# How
- [tools] Fix versioning tools for react-native 0.67.2 upgrade
[android][ios] Fix versioning for expo go after react-native 0.67.2 upgrade (#16401)
# Why
for sdk45 and based on #16400
# How
- [tools] Fix versioning tools for react-native 0.67.2 upgrade
- [expo-modules-core][ios] Fix missing `EX` prefix to some objective-c files for versioning support
- [autolinking] Apply our cocoapods fix for `React-Core` swift support to versioned code
- [expo-updates] fix an incompatible `ReactInstanceManager` in UpdatesPackage where UpdateController is unversioned but UpdatePackage is versioned.
- [expo-file-system] okhttp/okio code for new versioned code build successfully. this is done in #16446
# Test Plan
- `et add-sdk -p android -s 45.0.0` and build/launch sdk 45 expo go with sdk 45 ncl
- `et add-sdk -p ios -s 45.0.0` and build/launch sdk 45 expo go with sdk 45 ncl
show more ...
|
| #
27eae4dd |
| 22-Sep-2021 |
Kudo Chien <[email protected]> |
[tools] fix android versioning (#14489)
# Why
support sdk 43 versioning for android client
# How
- should copy `ReactCommon` and `ReactAndroid` from `android/` folder into `android/versione
[tools] fix android versioning (#14489)
# Why
support sdk 43 versioning for android client
# How
- should copy `ReactCommon` and `ReactAndroid` from `android/` folder into `android/versioned-react-native/` where with our transformed code
- update `android-packages-to-keep.txt`
- fix some broken transformation after kotlinization
- fix some broken imports which should be kept
- introduce `// EXPO_VERSIONING_NEEDS_EXPOVIEW_R` that will be transformed as `import abi43_0_0.host.exp.expoview.R`
# Test Plan
```sh
$ et add-sdk -p android -s 43.0.0
$ cd android && ./gradlew :app:assembleVersionedRelease
```
show more ...
|
| #
7ec40459 |
| 21-Aug-2021 |
Kudo Chien <[email protected]> |
[tools] versioning libhermes.so soname for android (#13918)
# Why
for expo-go to load different hermes-engine version, versioning libhermes.so on filename is not enough, we should further update
[tools] versioning libhermes.so soname for android (#13918)
# Why
for expo-go to load different hermes-engine version, versioning libhermes.so on filename is not enough, we should further update the `soname`. otherwise, android will use loaded soname directly.
# How
use [patchelf](https://github.com/NixOS/patchelf) to update soname in versioning stage.
# Test Plan
based on #13793 and this change, re-generate sdk-42 aar and build versioned android expo-go. load these two projects without close activity
- load [sdk42 hermes bundle](https://expo.dev/@kudochien/sdk42) which hbc version is 74
- load local unversioned hermes project based on react-native 0.64 (hermes-engine 0.7.2) which hbc version is 76
before the change, expo-go will crash.
after the change, expo-go could load both two projects without problems.
show more ...
|
| #
978fc17b |
| 13-Aug-2021 |
Kudo Chien <[email protected]> |
[tools] Fix android versioning after rn 0.64 upgrade (#14013)
# Why
android versioning tool breaks after react-native 0.64 upgrade
# How
1. support codegen and the strategy aligned with ios
[tools] Fix android versioning after rn 0.64 upgrade (#14013)
# Why
android versioning tool breaks after react-native 0.64 upgrade
# How
1. support codegen and the strategy aligned with ios versioning in #13972:
run codegen before versioning and disable react-native's build time codegen.
2. support `Android-prebuilt.mk` versioning and update some new libraries to be included in versioning.
3. fix some expo-module error.
4. remove broken `expo-payments-stripe` transformation which expectedly to be remove from sdk43.
# Test Plan
`et add-sdk -p android -s 43.0.0` without errors.
after that i also testing the expo-go building which the errors are from some expo-modules updates, will not cover this in this pr.
show more ...
|