History log of /expo/android/app/proguard-rules.pro (Results 1 – 14 of 14)
Revision Date Author Comments
# 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