### Description
Updating react-native to 0.70.15
### Motivation and Context
To address the issue with the failed checksum after boost switching URL
from Jfrog
### Description
<!-- Describe your changes. -->
### Motivation and Context
<!-- - Why is this change required? What problem does it solve?
- If it fixes an open issue, please link to the issue here. -->
- Remove redundant `OnnxruntimeModuleExampleE2ETest CheckOutputComponentExists` test
- Attempt to close any Application Not Responding (ANR) dialog prior to running Android test
- Add `--take-screenshots failing` option to detox test commands to save screenshots on failure
### Description
<!-- Describe your changes. -->
Replace jcenter. It's deprecated and not responding.
### Motivation and Context
<!-- - Why is this change required? What problem does it solve?
- If it fixes an open issue, please link to the issue here. -->
Fix CIs
# Description
This PR removes the building of the ORT "mobile" packages and much of the associated infrastructure which is no longer needed.
Not removed yet - tools/ci_build/github/android/mobile_package.required_operators.config and the helper scripts that depend on it.
# Motivation and Context
The mobile packages were deprecated in 1.18. Users should use the full packages (Android - onnxruntime-android, iOS - onnxruntime-c/onnxruntime-objc) instead or do a custom build.
### Description
<!-- Describe your changes. -->
Reland previous reverted changes for loading model from buffer - Android
### Motivation and Context
<!-- - Why is this change required? What problem does it solve?
- If it fixes an open issue, please link to the issue here. -->
#13903
---------
Co-authored-by: rachguo <rachguo@rachguos-Mac-mini.local>
Co-authored-by: rachguo <rachguo@rachguos-Mini.attlocal.net>
### Description
<!-- Describe your changes. -->
Integrate react native e2e test framework with detox.
https://wix.github.io/Detox/
Good build in CI:
https://dev.azure.com/onnxruntime/onnxruntime/_build/results?buildId=946695&view=results
### Motivation and Context
<!-- - Why is this change required? What problem does it solve?
- If it fixes an open issue, please link to the issue here. -->
Write cross-platform end-to-end tests in JavaScript.
Resolve flaky e2e tests in react native ci pipelines.
---------
Co-authored-by: rachguo <rachguo@rachguos-Mini.attlocal.net>
Co-authored-by: rachguo <rachguo@rachguos-Mac-mini.local>
### Description
<!-- Describe your changes. -->
Re-enable the react native e2e android unit test for react native CI as
recent change of specifying `default` instead of `google-apis` in
android emulator CI tests gives pretty stable result for now.
Upgrade the targetSDKversion for gradle test project in
react-native/android to meet minimum target api level requirement for
Google Play apps.
https://support.google.com/googleplay/android-developer/answer/11926878?hl=en
### Motivation and Context
<!-- - Why is this change required? What problem does it solve?
- If it fixes an open issue, please link to the issue here. -->
React Native CI issue.
- Update Gradle version used in most places from 6.8.3 to 8.0.1. Update Android Gradle Plugin version where applicable.
Not updated in this change: React Native Android projects (under `js/react_native/`). That can be done later along with updating the React Native projects.
- Add Gradle wrapper in `java/` to make it easier to consistently use a specific Gradle version.
Record more info from the React Native CI E2E test. In particular, log the view hierarchy when exiting the test and dump logs from Android emulator to the build output.
**Description**:
Use full ORT package for onnxruntime-react-native.
Left the params required for the mobile build in comments so they're
easily discovered if we need to create onnxruntime-react-native-mobile
in the future.
**Motivation and Context**
Remove barrier to using ORT with react native as the mobile package that
was being used supports a limited range of opsets/operators/types, and
requires ORT format models. The full package will run any model.
# Motivation
Currently, ORT minimal builds use kernel def hashes to map from nodes to
kernels to execute when loading the model. As the kernel def hashes must
be known ahead of time, this works for statically registered kernels.
This works well for the CPU EP.
For this approach to work, the kernel def hashes must also be known at
ORT format model conversion time, which means the EP with statically
registered kernels must also be enabled then. This is not an issue for
the always-available CPU EP. However, we do not want to require that any
EP which statically registers kernels is always available too.
Consequently, we explore another approach to match nodes to kernels that
does not rely on kernel def hashes. An added benefit of this is the
possibility of moving away from kernel def hashes completely, which
would eliminate the maintenance burden of keeping the hashes stable.
# Approach
In a full build, ORT uses some information from the ONNX op schema to
match a node to a kernel. We want to avoid including the ONNX op schema
in a minimal build to reduce binary size. Essentially, we take the
necessary information from the ONNX op schema and make it available in a
minimal build.
We decouple the ONNX op schema from the kernel matching logic. The
kernel matching logic instead relies on per-op information which can
either be obtained from the ONNX op schema or another source.
This per-op information must be available in a minimal build when there
are no ONNX op schemas. We put it in the ORT format model.
Existing uses of kernel def hashes to look up kernels are replaced
with the updated kernel matching logic. We no longer store
kernel def hashes in the ORT format model’s session state and runtime
optimization representations. We no longer keep the logic to
generate and ensure stability of kernel def hashes.
* Pipeline for ONNX Runtime react native
* Fix a test failure
* test with custom built binaries
* add onnxruntime-common package back
* don't bob build when bootstrap
* revise Android test
* rename example to e2e
* remove onnxruntime packages from package.json
* remove release-it package
* upgrade gradle version to the same as CI
* add a pipeline for react native
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* android and ios mobile build for react native e2e
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* use android aar package template
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* use android aar package template
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* publish ios test results
* add e2e tests and publish a npm package
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* remove aar from npm package
* wait for view displayed
* change a waiting logic
* increase wait time for app launching
* give more time to launch an app
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* disable metro server on testing
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* test ios simulator launching
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* fix iOS e2e test
* use a publishing version of npm packages
* make pretty
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* make only one onnxruntime-common package after packaging
* make a powershell script of packaging universal
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Add a warning for file changes during a test
* clean up
* fix lint errors
* fix js npm packaging
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* Update mac-react-native-ci-pipeline.yml for Azure Pipelines
* resolve comments
* fix a typo