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

Support expo-dev-client #142

Merged
merged 2 commits into from
Sep 14, 2022
Merged

Support expo-dev-client #142

merged 2 commits into from
Sep 14, 2022

Conversation

Kudo
Copy link
Owner

@Kudo Kudo commented Sep 14, 2022

Why

expo-dev-client has bundled reanimated that doesn't support v8. this pr is addressing the issue.

How

this is a just work and not perfect solution. since expo-dev-client is only for debug build, we could leave jsc libraries only in debug build. originally our config-plugin tries to remove libjsc* for all build variants. now the config-plugin only removes jsc in release build. it will append the following statements into android/app/build.gradle

// @generated begin react-native-v8 - expo prebuild (DO NOT MODIFY) sync-82a32619f78958d84e700d6fd28589aa422b6a61

android {
    androidComponents {
        onVariants(selector().withBuildType('release')) {
            packaging.jniLibs.excludes.add('**/**/libjsc*')
            packaging.jniLibs.excludes.add('**/**/libhermes*')
        }
    }
}
// @generated end react-native-v8

@Kudo Kudo marked this pull request as ready for review September 14, 2022 07:11
@Kudo Kudo merged commit b71d5d6 into main Sep 14, 2022
@Kudo Kudo deleted the support-expo-dev-client branch September 14, 2022 07:12
Kudo added a commit to expo/expo that referenced this pull request Sep 16, 2022
# Why

another attempt than #18151 to support react-native-v8

# How

if there's *libv8android.so*, we just use the js executor factory from main ReactNativeHost.
for the bundled reanimated in dev-menu, i have a pr to keep jsc in debug build: Kudo/react-native-v8#142

# Test Plan

```sh
$ yarn create expo-app -t blank@sdk-46 sdk46v8
$ cd sdk46v8
$ npx expo install react-native-v8 v8-android-jit
# add "plugins": ["react-native-v8"] to app.json

$ npx expo install expo-dev-client
$ npx expo prebuild -p android
# patch node_modules/expo-dev-launcher

$ npx expo run:android
```
lukmccall pushed a commit to expo/expo that referenced this pull request Sep 16, 2022
# Why

another attempt than #18151 to support react-native-v8

# How

if there's *libv8android.so*, we just use the js executor factory from main ReactNativeHost.
for the bundled reanimated in dev-menu, i have a pr to keep jsc in debug build: Kudo/react-native-v8#142

# Test Plan

```sh
$ yarn create expo-app -t blank@sdk-46 sdk46v8
$ cd sdk46v8
$ npx expo install react-native-v8 v8-android-jit
# add "plugins": ["react-native-v8"] to app.json

$ npx expo install expo-dev-client
$ npx expo prebuild -p android
# patch node_modules/expo-dev-launcher

$ npx expo run:android
```
Ddv0623 pushed a commit to omniaintranet/expo that referenced this pull request Sep 26, 2022
# Why

another attempt than expo#18151 to support react-native-v8

# How

if there's *libv8android.so*, we just use the js executor factory from main ReactNativeHost.
for the bundled reanimated in dev-menu, i have a pr to keep jsc in debug build: Kudo/react-native-v8#142

# Test Plan

```sh
$ yarn create expo-app -t blank@sdk-46 sdk46v8
$ cd sdk46v8
$ npx expo install react-native-v8 v8-android-jit
# add "plugins": ["react-native-v8"] to app.json

$ npx expo install expo-dev-client
$ npx expo prebuild -p android
# patch node_modules/expo-dev-launcher

$ npx expo run:android
```
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant