[android] Remove unnecessary version checks (#24203)# Why This PR is related to #24201, it removes unnecessary version checks # How Remove version check logic for SDK's < 23 # Test Pla
[android] Remove unnecessary version checks (#24203)# Why This PR is related to #24201, it removes unnecessary version checks # How Remove version check logic for SDK's < 23 # Test Plan Tested in Bare Expo in Android 13 simulator
show more ...
[android] Drop Android SDK 21 and 22 support (#24201)# Why We are dropping Android SDK 21 and 22 support, we want to use this opportunity to also change the way minSdkVersion and other build.g
[android] Drop Android SDK 21 and 22 support (#24201)# Why We are dropping Android SDK 21 and 22 support, we want to use this opportunity to also change the way minSdkVersion and other build.gradle options which are the same across most of the modules are handled. Right now for each module minSdkVersion is read from the root project properties, if undefined it fallbacks to a default value which is defined on a per-module basis. In the new version we want the option to be configured from a gradle plugin so that it's not necessary to change the fallback value in ~70 files when changing the property. For now the SDK 49 compatibility checks increase amount of boilerplate in the , but with SDK 51 we will be able to remove them and ship modules with a lot less of it. # How Used the gradle plugin as a source of the minSdkVersion compileSdkVersion and targetSdkVersion settings. Settings are applied automatically with the plugin and can be overwritten in the build.gradle of the module. Along with these options lintOptions have been moved to the gradle plugin and two functions were created: useExpoPublising and useCoreDependencies both can be called after the plugin is applied to reduce some of the boilerplate. # Test Plan Tested in Bare Expo and Expo Go on Android SDK 33 and 34 (emulator)
Publish packages@expo/[email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected]expo-module-
Publish packages@expo/[email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected]
Publish packages@expo/[email protected]@expo/[email protected]@expo/[email protected]@expo/[email protected]@expo/[email protected]@expo/[email protected][email protected]
Publish packages@expo/[email protected]@expo/[email protected]@expo/[email protected]@expo/[email protected]@expo/[email protected]@expo/[email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected]
[menu][Android] Fix task ':packageReleaseAssets' uses this output of task ':copyAssets without declaring dependency (#24393)# Why Fixes https://github.com/expo/expo/issues/24389. # How Mak
[menu][Android] Fix task ':packageReleaseAssets' uses this output of task ':copyAssets without declaring dependency (#24393)# Why Fixes https://github.com/expo/expo/issues/24389. # How Make sure that the release task doesn't use the output of the `copyAssets`. # Test Plan - `npx expo prebuild --clean -p android && cd android && ./gradlew assembleRelease assembleAndroidTest -DtestBuildType=release`
Publish packages@expo/[email protected]@expo/[email protected]@expo/[email protected]@expo/[email protected]@expo/[email protected]@expo/[email protected]@expo/[email protected]@expo/pac
Publish packages@expo/[email protected]@expo/[email protected]@expo/[email protected]@expo/[email protected]@expo/[email protected]@expo/[email protected]@expo/[email protected]@expo/[email protected]@expo/[email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected]@expo/[email protected][email protected][email protected]
[packages] fix react-native 0.73 compatibility [1/3] (#24018)# Why fix react-native 0.73 compatibility. these are for AGP 8 support - https://github.com/react-native-community/discussions-and-pr
[packages] fix react-native 0.73 compatibility [1/3] (#24018)# Why fix react-native 0.73 compatibility. these are for AGP 8 support - https://github.com/react-native-community/discussions-and-proposals/issues/671#issuecomment-1677632448 # How - [packages][bare-expo] set jvm version only if AGP < 8 - [av][dev-launcher] fix AGP 8 non transitive R issue - [dev-client][dev-launcher][dev-menu][core][notifications] fix AGP 8 non default buildConfig issue # Test Plan ci passed in #23961 (https://github.com/expo/expo/pull/23961/checks)
Publish packages@expo/[email protected]@expo/[email protected]@expo/[email protected]@expo/[email protected]@expo/[email protected]@expo/[email protected][email protected]create-expo-module
Publish packages@expo/[email protected]@expo/[email protected]@expo/[email protected]@expo/[email protected]@expo/[email protected]@expo/[email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected]@expo/[email protected][email protected]
Publish packages[email protected][email protected][email protected][email protected][email protected]
chore: update react-native to 0.72.1 (#23262)# Why update react-native 0.72.1 for sdk 49 # How - bump react-native to 0.72.1 - re-version android/ios sdk 49 code - [react-native-lab] che
chore: update react-native to 0.72.1 (#23262)# Why update react-native 0.72.1 for sdk 49 # How - bump react-native to 0.72.1 - re-version android/ios sdk 49 code - [react-native-lab] cherry-pick necessary commits between 0.72.0..0.72.1 # Test Plan - ci passed - bare-expo - versioned expo go
Publish packages@expo/[email protected][email protected][email protected][email protected][email protected][email protected][email protected]expo-dev-l
Publish packages@expo/[email protected]@expo/[email protected]@expo/[email protected]@expo/[email protected]@expo/[email protected]@expo/[email protected][email protected]expo-build-pr
Publish packages@expo/[email protected]@expo/[email protected]@expo/[email protected]@expo/[email protected]@expo/[email protected]@expo/[email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected]
Publish packages@expo/[email protected]@expo/[email protected][email protected][email protected][email protected][email protected][email protected][email protected]ex
Publish packages@expo/[email protected]@expo/[email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected]
Publish packages@expo/[email protected]@expo/[email protected]@expo/[email protected][email protected][email protected][email protected][email protected][email protected]
Publish packages@expo/[email protected]@expo/[email protected]@expo/[email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected]
Publish packages@expo/[email protected]@expo/[email protected]@expo/[email protected]@expo/[email protected]@expo/[email protected]@expo/[email protected]@expo/[email protected]babel-preset-ex
Publish packages@expo/[email protected]@expo/[email protected]@expo/[email protected]@expo/[email protected]@expo/[email protected]@expo/[email protected]@expo/[email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected]@expo/[email protected][email protected]
[android][dev-launcher][dev-menu] Fix eventemitter error when fabric is enabled (#22977)# Why Updating react-native to the new RC revealed a misconfiguration on dev-client when using the new ar
[android][dev-launcher][dev-menu] Fix eventemitter error when fabric is enabled (#22977)# Why Updating react-native to the new RC revealed a misconfiguration on dev-client when using the new architecture, which was causing the app to crash. <img width="402" alt="image" src="https://github.com/expo/expo/assets/11707729/51c381d3-b41f-430a-a20c-9d9a7ddd8722"> Closes ENG-7955 # How - Replace `ReactActivityDelegate` with the new `DefaultReactActivityDelegate` class - Close the DevMenu from the native side before opening Dev Menu from React Native - Update DevMenu bundle # Test Plan Run dev-client locally through fabric-tester and bare-expo <table> <tr><th>fabric-tester</th><th>bare-expo</th></tr> <tr> <td> <video src="https://github.com/expo/expo/assets/11707729/f6bacf5d-f257-4d7c-9864-65df9b734048"/> </td> <td> <video src="https://github.com/expo/expo/assets/11707729/99205a53-2144-4ee0-981e-bcd2d8285212" /> </td> </tr> </table> # Checklist <!-- Please check the appropriate items below if they apply to your diff. This is required for changes to Expo modules. --> - [ ] Documentation is up to date to reflect these changes (eg: https://docs.expo.dev and README.md). - [ ] Conforms with the [Documentation Writing Style Guide](https://github.com/expo/expo/blob/main/guides/Expo%20Documentation%20Writing%20Style%20Guide.md) - [ ] This diff will work correctly for `npx expo prebuild` & EAS Build (eg: updated a module plugin).
[menu][Android] Rewrite safe area view using new API (#21609)
[packages] fix another gradle 8 warnings (#22609)# Why there are other gradle 8 build warnings: ``` > Task :expo:processReleaseManifest package="expo.core" found in source AndroidManifest.x
[packages] fix another gradle 8 warnings (#22609)# Why there are other gradle 8 build warnings: ``` > Task :expo:processReleaseManifest package="expo.core" found in source AndroidManifest.xml: /home/runner/work/expo/expo/packages/expo/android/src/main/AndroidManifest.xml. Setting the namespace via a source AndroidManifest.xml's package attribute is deprecated. Please instead set the namespace (or testNamespace) in the module's build.gradle file, as described here: https://developer.android.com/studio/build/configure-app-module#set-namespace This migration can be done automatically using the AGP Upgrade Assistant, please refer to https://developer.android.com/studio/build/agp-upgrade-assistant for more information. ``` # How migrate `package` in **AndroidManifest.xml** to `namespace` in **build.gradle** # Test Plan ci passed
[dev-client][android] Add support for the new architecture (#22607)# Why Closes ENG-7955 # How Implement the missing `getJSIModulePackage` methods to both `ReactNativeHost`s in order to s
[dev-client][android] Add support for the new architecture (#22607)# Why Closes ENG-7955 # How Implement the missing `getJSIModulePackage` methods to both `ReactNativeHost`s in order to support the new architecture. `ReactPackageTurboModuleManagerDelegate` was already implemented on https://github.com/expo/expo/pull/19931 # Test Plan Run `fabric-tester` and `bare-expo` apps on Android # Checklist <!-- Please check the appropriate items below if they apply to your diff. This is required for changes to Expo modules. --> - [ ] Documentation is up to date to reflect these changes (eg: https://docs.expo.dev and README.md). - [ ] Conforms with the [Documentation Writing Style Guide](https://github.com/expo/expo/blob/main/guides/Expo%20Documentation%20Writing%20Style%20Guide.md) - [ ] This diff will work correctly for `npx expo prebuild` & EAS Build (eg: updated a module plugin).
[menu][Android] Start using new modules API (#21582)# Why Rewrite some menu modules to use the new API. # Test Plan - bare-expo ✅
[packages] fix gradle build warnings for gradle 8 (#22537)# Why there are some gradle warnings and will deprecate on gradle 8. since react-native 0.72 upgraded gradle 8, we should deal with thes
[packages] fix gradle build warnings for gradle 8 (#22537)# Why there are some gradle warnings and will deprecate on gradle 8. since react-native 0.72 upgraded gradle 8, we should deal with these warnings. close ENG-7481 # How ``` > Configure project :expo-modules-core WARNING:Software Components will not be created automatically for Maven publishing from Android Gradle Plugin 8.0. To opt-in to the future behavior, set the Gradle property android.disableAutomaticComponentCreation=true in the `gradle.properties` file or use the new publishing DSL. ``` remove the legacy `androidSourcesJar` ``` > Task :expo-constants:createDebugExpoConfig Execution optimizations have been disabled for task ':expo-constants:createDebugExpoConfig' to ensure correctness due to the following reasons: - Gradle detected a problem with the following location: '/Users/user/expo-app/android'. Reason: Task ':expo-constants:createDebugExpoConfig' uses this output of task ':app:checkDebugAarMetadata' without declaring an explicit or implicit dependency. This can lead to incorrect results being produced, depending on what order the tasks are executed. Please refer to https://docs.gradle.org/7.5.1/userguide/validation_problems.html#implicit_dependency for more details about this problem. ``` remove `create${targetName}ExpoConfig` task inputs and some refactoring of the `get-app-config-android.gradle` # Test Plan ci passed
[dev-launcher][dev-menu] fix nightlies build error 0.73.0-nightly-20230515-066f0b76d (#22503)# Why fix react-native nightlies build error (0.73.0-nightly-20230515-066f0b76d) which was caused mai
[dev-launcher][dev-menu] fix nightlies build error 0.73.0-nightly-20230515-066f0b76d (#22503)# Why fix react-native nightlies build error (0.73.0-nightly-20230515-066f0b76d) which was caused mainly by [`DevInternalSettings` updated as package-private](https://github.com/facebook/react-native/commit/1a9e444b616300666) # How - move `DevLauncherInternalSettings` and `DevMenuDevSettings` into `com.facebook.react.devsupport` package, so that we can inherit the package-private `DevInternalSettings`. - introducing `DevLauncherInternalSettingsWrapper` and `DevMenuInternalSettingsWrapper` allows us to access the package-private `DevInternalSettings` - some misc changes i will leave in pr inline comments # Test Plan - test suite ci passed - test suite nightlies ci passed
Upgrade roboletric and junit versions to be consistent (#22395)# Why The bumping of robolectric to 4.10 means that we no longer need jetifier to translate old support library dependencies. #
Upgrade roboletric and junit versions to be consistent (#22395)# Why The bumping of robolectric to 4.10 means that we no longer need jetifier to translate old support library dependencies. # How * Updates `robolectric` to `4.10` and `junit` to `4.13.2` * Updates test dependencies in `expo-modules-test-core` to their latest versions * A minor change needed to be made to the `expo-clipboard` test because of changes to the way that robolectric handles decoding bitmaps for tests. # Test Plan Ensured [unit tests still pass](https://github.com/josephyanks/expo/actions/runs/4896200135/jobs/8742724860) Trying to verify end to end tests locally.
Publish packages@expo/[email protected]@expo/[email protected]@expo/[email protected]@expo/[email protected]@expo/[email protected]@expo/[email protected]@expo/[email protected]@expo/[email protected]
Publish packages@expo/[email protected]@expo/[email protected]@expo/[email protected]@expo/[email protected]@expo/[email protected]@expo/[email protected]@expo/[email protected]@expo/[email protected]@expo/[email protected]@expo/[email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected][email protected]@expo/[email protected][email protected][email protected]
[dev-menu] Fix JS entry file in development builds (#21984)# WhyWhen using `.expo/.virtual-metro-entry` as an entry file the`rewriteExpoRequestUrl` detects the expected entry file by checking th
[dev-menu] Fix JS entry file in development builds (#21984)# WhyWhen using `.expo/.virtual-metro-entry` as an entry file the`rewriteExpoRequestUrl` detects the expected entry file by checking the`package.json`, which does not work in the case of `dev-menu` due to itprimarily being a library and having it's `"main"` field inside`package.json` point to `build/DevMenu.js` instead of the necessary"index"# HowRevert the entry file in dev-menu to `index`# Test PlanRun bare-expo with `override fun getUseDeveloperSupport() = true` and`export EX_DEV_LAUNCHER_URL=http://localhost:8090`# Checklist- [ ] Documentation is up to date to reflect these changes (eg:https://docs.expo.dev and README.md).- [ ] Conforms with the [Documentation Writing StyleGuide](https://github.com/expo/expo/blob/main/guides/Expo%20Documentation%20Writing%20Style%20Guide.md)- [ ] This diff will work correctly for `expo prebuild` & EAS Build (eg:updated a module plugin).
12345678