| #
0502d1f9 |
| 18-May-2023 |
Tomasz Sapeta <[email protected]> |
Remove Amplitude from Expo Go (#22523)
|
| #
e17ef3c0 |
| 26-Oct-2022 |
Kudo Chien <[email protected]> |
[android] Add react-native-svg proguard rules
Ref: https://github.com/software-mansion/react-native-svg#problems-with-proguard
|
| #
1833af43 |
| 06-Jul-2022 |
Kudo Chien <[email protected]> |
[android] Add @shopify/react-native-skia vendoring support for Expo Go (#17964)
# Why
like #17704 but for android
close ENG-4889
# How
- introduce vendor modules autolinking for expo go.
[android] Add @shopify/react-native-skia vendoring support for Expo Go (#17964)
# Why
like #17704 but for android
close ENG-4889
# How
- introduce vendor modules autolinking for expo go.
previously, reanimated is the only vendor module having cxx code, we had a fixed versioning script for reanimated. because react-native-skia also has cxx code, i'm trying to keep the versioning more modularized and like what we did for ios versioning. ideally, a vendor module should have a dedicated gradle project. that's why i introduced a vendor module autolinking here.
- vendoring tool: add react-native-skia support
- versioning tool: trying to add a minimum support for new style versioning like ios.
currently, after transforming the code, i still prebuild the *.so to `jniLibs`. in the future when we commit `android/versioned-react-native/ABI46_0_0` to git, we can always build the versioned *.so from source.
# Test Plan
- android unversioned expo go + NCL skia
- android versioned expo go + NCL skia
Co-authored-by: Tomasz Sapeta <[email protected]>
show more ...
|
| #
8529910f |
| 28-Jun-2021 |
andy <[email protected]> |
[android][segment] update segment proguard rules (#13425)
|
| #
032d1607 |
| 29-Sep-2020 |
Łukasz Kosmaty <[email protected]> |
[expo-notifications] Fix crashes when Proguard is enabled (#10421)
# Why
Fixes https://github.com/expo/expo/issues/10407.
# How
- fixed `DoNotStrip` annotation not working with classes
-
[expo-notifications] Fix crashes when Proguard is enabled (#10421)
# Why
Fixes https://github.com/expo/expo/issues/10407.
# How
- fixed `DoNotStrip` annotation not working with classes
- added `DoNotStrip` to `NotificationsScoper`
I've also re-apply fix from https://github.com/expo/expo/pull/10411 using annotation. See https://github.com/expo/expo/pull/10411#issuecomment-699935746.
# Test Plan
- bare-expo ✅
- using steps below ✅
1. expo init ExpoBare
2. select Bare workflow -> minimal
3. cd ExpoBare
4. expo install expo-notifications
5. Open project in Android Studio
6. Enable Proguard (update enableProguardInReleaseBuilds from false to true in app/build.gradle file)
7. Create release build
8. Run apk on device
# Changelog
- [expo-notifications] Fixed crashing when Proguard is enabled.
- Fixed `DoNotStrip` annotation not working with classes.
show more ...
|
| #
47f62da2 |
| 28-Sep-2020 |
Cedric van Putten <[email protected]> |
[task-manager] Prevent proguard from tree-shake the headless app loader (#10411)
|
| #
2dd16364 |
| 13-Dec-2019 |
Stanisław Chmiela <[email protected]> |
[android] Remove SpongyCastle (#6464)
# Why
May fix https://github.com/expo/expo/issues/5688.
# How
From what I understood from the code (SpongyCastle integration was in the Android codebas
[android] Remove SpongyCastle (#6464)
# Why
May fix https://github.com/expo/expo/issues/5688.
# How
From what I understood from the code (SpongyCastle integration was in the Android codebase from day one, so no PR description for me):
- we verify whether the app that is being served actually is served by an authenticated Expo user (`expo-cli` sends an authenticated request to Expo servers to sign the manifest under given username with a private key)
- X.509 is used as the format of the key
- since not every Android platform provides a `KeyFactory` for `X.509` keys, SpongyCastle was added to ensure X.509 factory works on every device
What I found:
- no online resource uses `X.509` as an argument to `KeyFactory.getInstance`.
- `X.509` was supported only in Android APIs 1-8 ([source](https://developer.android.com/guide/topics/security/cryptography#SupportedKeyFactory))
- `RSA` is supported in Android API 1+ ([source](https://developer.android.com/guide/topics/security/cryptography#SupportedKeyFactory))
- if we substitute `X.509` with `RSA` in the `KeyFactory.getInstance`, the signature is still validated
- if we substitute `X.509` with `DSA`, the signature validation fails
- after these changes our code looks just like `verify` method from `godlibrary`: https://github.com/abook23/godlibrary/blob/master/src/main/java/com/god/util/RSAUtlis.java#L227-L243
# Test Plan
Running experiences works. `SecureStore` NCL screen still works as expected.
Values saved in `SecureStore` are persisted between `master` and this branch.
show more ...
|
| #
cba8cefe |
| 30-Jul-2019 |
Tomasz Sapeta <[email protected]> |
[android][core][templates] Add ProGuard rules into @unimodules/core to prevent unimodule methods from being stripped on production builds
|
| #
8d441c7e |
| 14-Mar-2019 |
Stanisław Chmiela <[email protected]> |
[packages] Move unimodules foundation to `org.unimodules` scope
|
| #
3b6a24fb |
| 13-Dec-2018 |
Tomasz Sapeta <[email protected]> |
[ios][android][sdk][ncl] Background location, geofencing and background fetch (#2338)
# Why
Canny issues:
- https://expo.canny.io/feature-requests/p/background-tasks-support
- https://expo.cann
[ios][android][sdk][ncl] Background location, geofencing and background fetch (#2338)
# Why
Canny issues:
- https://expo.canny.io/feature-requests/p/background-tasks-support
- https://expo.canny.io/feature-requests/p/background-location-tracking
- https://expo.canny.io/feature-requests/p/geofencing-api
Related PR:
- https://github.com/expo/universe/pull/3201 (docs)
# How
The core of this PR is to implement TaskManager that provides an API to manage tasks, especially these that run while the app is in the background. I hope I documented this piece enough so I don't have to write it here again
This PR also adds three ways of how we can use background tasks:
- Background location updates
`Location.startLocationUpdatesAsync`, `Location.stopLocationUpdatesAsync`, `Location.hasStartedLocationUpdatesAsync`
- Geofencing
`Location.startGeofencingAsync`, `Location.stopGeofencingAsync`, `Location.hasStartedGeofencingAsync`
- Background fetch
`expo-background-fetch` module, *iOS only so far*
Also, to improve the quality of `expo-location`, I've deprecated `enableHighAccuracy` option and introduced a new one called `accuracy`. It allows to use all possible accuracies provided by iOS platform. Android has fewer options of accuracy, but I've made simple mapping (see https://github.com/expo/expo/pull/2338/files#diff-66bdbbc66d3410d9198aa17584b5409eR633).
All new modules and `expo-location` are now TypeScripted
# Test Plan
New APIs examples in `native-component-list`:
- `BackgroundFetch` - shows the status and the date of the last background fetch which can be manually triggered in Xcode (Debug -> Simulate background fetch).
- `Location` -> `Background location map` - it tracks your location by drawing a polyline.
- `Location` -> `Geofencing map` - this one will work better once we merge #2316, as it should show local notifications when the device enters/exits a region.
- `TaskManager` - shows all registered tasks for the experience.
There are also some quick tests in `test-suite` for the new methods in `Location` and `TaskManager` modules.
show more ...
|
| #
73dc4e05 |
| 13-Nov-2018 |
Eric Samelson <[email protected]> |
[android] exclude unversioned modules from proguard
|
| #
dbb21dbe |
| 07-Sep-2018 |
Stanisław Chmiela <[email protected]> |
Add universal modules configuration to ProGuard (#3119)
fbshipit-source-id: b2461e8
|
| #
96f02744 |
| 13-Dec-2017 |
Jesse Ruder <[email protected]> |
Update proguard config to fix AppConstants
fbshipit-source-id: 5af8aa3
|
| #
2a38a11e |
| 16-Aug-2016 |
Exponent GitHub Bot <[email protected]> |
Initial commit
fbshipit-source-id: ddcb55df54d1382bb3f003f7e62f0bfc195fb9b7
|