mirror of
				https://gitcode.com/gh_mirrors/re/react-native-pushy.git
				synced 2025-10-31 21:33:12 +08:00 
			
		
		
		
	feat: CI测试
This commit is contained in:
		
							
								
								
									
										6
									
								
								Example/testHotUpdate/.buckconfig
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								Example/testHotUpdate/.buckconfig
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,6 @@ | ||||
|  | ||||
| [android] | ||||
|   target = Google Inc.:Google APIs:23 | ||||
|  | ||||
| [maven_repositories] | ||||
|   central = https://repo1.maven.org/maven2 | ||||
| @@ -12,16 +12,16 @@ module.exports = { | ||||
|   apps: { | ||||
|     'ios.debug': { | ||||
|       type: 'ios.app', | ||||
|       binaryPath: 'ios/build/Build/Products/Debug-iphonesimulator/testHotUpdate.app', | ||||
|       binaryPath: 'ios/build/Build/Products/Debug-iphonesimulator/AwesomeProject.app', | ||||
|       build: | ||||
|         'xcodebuild -workspace ios/testHotUpdate.xcworkspace -scheme testHotUpdate -configuration Debug -sdk iphonesimulator -derivedDataPath ios/build', | ||||
|         'xcodebuild -workspace ios/AwesomeProject.xcworkspace -scheme AwesomeProject -configuration Debug -sdk iphonesimulator -derivedDataPath ios/build', | ||||
|     }, | ||||
|     'ios.release': { | ||||
|       type: 'ios.app', | ||||
|       binaryPath: | ||||
|         'ios/build/Build/Products/Release-iphonesimulator/testHotUpdate.app', | ||||
|         'ios/build/Build/Products/Release-iphonesimulator/AwesomeProject.app', | ||||
|       build: | ||||
|         'xcodebuild -workspace ios/testHotUpdate.xcworkspace -scheme testHotUpdate -configuration Release -sdk iphonesimulator -derivedDataPath ios/build', | ||||
|         'xcodebuild -workspace ios/AwesomeProject.xcworkspace -scheme AwesomeProject -configuration Release -sdk iphonesimulator -derivedDataPath ios/build', | ||||
|     }, | ||||
|     'android.debug': { | ||||
|       type: 'android.apk', | ||||
							
								
								
									
										4
									
								
								Example/testHotUpdate/.eslintrc.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								Example/testHotUpdate/.eslintrc.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,4 @@ | ||||
| module.exports = { | ||||
|   root: true, | ||||
|   extends: '@react-native-community', | ||||
| }; | ||||
							
								
								
									
										66
									
								
								Example/testHotUpdate/.flowconfig
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										66
									
								
								Example/testHotUpdate/.flowconfig
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,66 @@ | ||||
| [ignore] | ||||
| ; We fork some components by platform | ||||
| .*/*[.]android.js | ||||
|  | ||||
| ; Ignore "BUCK" generated dirs | ||||
| <PROJECT_ROOT>/\.buckd/ | ||||
|  | ||||
| ; Ignore polyfills | ||||
| node_modules/react-native/Libraries/polyfills/.* | ||||
|  | ||||
| ; Flow doesn't support platforms | ||||
| .*/Libraries/Utilities/LoadingView.js | ||||
|  | ||||
| .*/node_modules/resolve/test/resolver/malformed_package_json/package\.json$ | ||||
|  | ||||
| [untyped] | ||||
| .*/node_modules/@react-native-community/cli/.*/.* | ||||
|  | ||||
| [include] | ||||
|  | ||||
| [libs] | ||||
| node_modules/react-native/interface.js | ||||
| node_modules/react-native/flow/ | ||||
|  | ||||
| [options] | ||||
| emoji=true | ||||
|  | ||||
| exact_by_default=true | ||||
|  | ||||
| format.bracket_spacing=false | ||||
|  | ||||
| module.file_ext=.js | ||||
| module.file_ext=.json | ||||
| module.file_ext=.ios.js | ||||
|  | ||||
| munge_underscores=true | ||||
|  | ||||
| module.name_mapper='^react-native/\(.*\)$' -> '<PROJECT_ROOT>/node_modules/react-native/\1' | ||||
| module.name_mapper='^@?[./a-zA-Z0-9$_-]+\.\(bmp\|gif\|jpg\|jpeg\|png\|psd\|svg\|webp\|m4v\|mov\|mp4\|mpeg\|mpg\|webm\|aac\|aiff\|caf\|m4a\|mp3\|wav\|html\|pdf\)$' -> '<PROJECT_ROOT>/node_modules/react-native/Libraries/Image/RelativeImageStub' | ||||
|  | ||||
| suppress_type=$FlowIssue | ||||
| suppress_type=$FlowFixMe | ||||
| suppress_type=$FlowFixMeProps | ||||
| suppress_type=$FlowFixMeState | ||||
|  | ||||
| [lints] | ||||
| sketchy-null-number=warn | ||||
| sketchy-null-mixed=warn | ||||
| sketchy-number=warn | ||||
| untyped-type-import=warn | ||||
| nonstrict-import=warn | ||||
| deprecated-type=warn | ||||
| unsafe-getters-setters=warn | ||||
| unnecessary-invariant=warn | ||||
|  | ||||
| [strict] | ||||
| deprecated-type | ||||
| nonstrict-import | ||||
| sketchy-null | ||||
| unclear-type | ||||
| unsafe-getters-setters | ||||
| untyped-import | ||||
| untyped-type-import | ||||
|  | ||||
| [version] | ||||
| ^0.176.3 | ||||
							
								
								
									
										59
									
								
								Example/testHotUpdate/.github/workflows/e2e-android.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										59
									
								
								Example/testHotUpdate/.github/workflows/e2e-android.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,59 @@ | ||||
| name: e2e-android | ||||
| on: push | ||||
|  | ||||
| jobs: | ||||
|   e2e-android: | ||||
|     runs-on: macos-latest | ||||
|     env: | ||||
|       DETOX_CONFIGURATION: android.emu.release | ||||
|  | ||||
|     steps: | ||||
|       - name: Checkout repository | ||||
|         uses: actions/checkout@v3 | ||||
|  | ||||
|       - name: Setup Node.js | ||||
|         uses: actions/setup-node@v3 | ||||
|         with: | ||||
|           cache: yarn | ||||
|           node-version-file: .nvmrc | ||||
|  | ||||
|       - name: Install Yarn dependencies | ||||
|         run: yarn --frozen-lockfile --prefer-offline | ||||
|  | ||||
|       - name: Setup Java | ||||
|         uses: actions/setup-java@v3 | ||||
|         with: | ||||
|           cache: gradle | ||||
|           distribution: temurin | ||||
|           java-version: 17 | ||||
|  | ||||
|       - name: Cache Detox build | ||||
|         id: cache-detox-build | ||||
|         uses: actions/cache@v3 | ||||
|         with: | ||||
|           path: android/app/build | ||||
|           key: ${{ runner.os }}-detox-build | ||||
|           restore-keys: | | ||||
|             ${{ runner.os }}-detox-build | ||||
|  | ||||
|       - name: Detox build | ||||
|         run: yarn detox build --configuration ${{ env.DETOX_CONFIGURATION }} | ||||
|  | ||||
|       - name: Get device name | ||||
|         id: device | ||||
|         run: node -e "console.log('AVD_NAME=' + require('./.detoxrc').devices.emulator.device.avdName)" >> $GITHUB_OUTPUT | ||||
|  | ||||
|       - name: Detox test | ||||
|         uses: reactivecircus/android-emulator-runner@v2 | ||||
|         with: | ||||
|           api-level: 31 | ||||
|           arch: x86_64 | ||||
|           avd-name: ${{ steps.device.outputs.AVD_NAME }} | ||||
|           script: yarn detox test --configuration ${{ env.DETOX_CONFIGURATION }} --headless --record-logs all | ||||
|  | ||||
|       - name: Upload artifacts | ||||
|         if: failure() | ||||
|         uses: actions/upload-artifact@v3 | ||||
|         with: | ||||
|           name: detox-artifacts | ||||
|           path: artifacts | ||||
							
								
								
									
										13
									
								
								Example/testHotUpdate/.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										13
									
								
								Example/testHotUpdate/.gitignore
									
									
									
									
										vendored
									
									
								
							| @@ -24,16 +24,12 @@ ios/.xcode.env.local | ||||
|  | ||||
| # Android/IntelliJ | ||||
| # | ||||
| release/ | ||||
| build/ | ||||
| .idea | ||||
| .gradle | ||||
| local.properties | ||||
| *.iml | ||||
| *.hprof | ||||
| .cxx/ | ||||
| *.keystore | ||||
| !debug.keystore | ||||
|  | ||||
| # node.js | ||||
| # | ||||
| @@ -41,6 +37,12 @@ node_modules/ | ||||
| npm-debug.log | ||||
| yarn-error.log | ||||
|  | ||||
| # BUCK | ||||
| buck-out/ | ||||
| \.buckd/ | ||||
| *.keystore | ||||
| !debug.keystore | ||||
|  | ||||
| # fastlane | ||||
| # | ||||
| # It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the | ||||
| @@ -59,6 +61,3 @@ yarn-error.log | ||||
| # Ruby / CocoaPods | ||||
| /ios/Pods/ | ||||
| /vendor/bundle/ | ||||
|  | ||||
| # Temporary files created by Metro to check the health of the file watcher | ||||
| .metro-health-check* | ||||
							
								
								
									
										1
									
								
								Example/testHotUpdate/.nvmrc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								Example/testHotUpdate/.nvmrc
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | ||||
| 18 | ||||
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							| @@ -1 +0,0 @@ | ||||
| {} | ||||
| @@ -1 +0,0 @@ | ||||
| {"/Users/arvinh/Desktop/remotework/react-native-pushy/Example/testHotUpdate/detox.config.js":{"path":"/Users/arvinh/Desktop/remotework/react-native-pushy/Example/testHotUpdate/detox.config.js","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":110,"column":2}}},"fnMap":{},"branchMap":{"0":{"loc":{"start":{"line":4,"column":11},"end":{"line":4,"column":47}},"type":"cond-expr","locations":[{"start":{"line":4,"column":28},"end":{"line":4,"column":35}},{"start":{"line":4,"column":38},"end":{"line":4,"column":47}}],"line":4},"1":{"loc":{"start":{"line":9,"column":18},"end":{"line":9,"column":48}},"type":"cond-expr","locations":[{"start":{"line":9,"column":35},"end":{"line":9,"column":36}},{"start":{"line":9,"column":39},"end":{"line":9,"column":48}}],"line":9},"2":{"loc":{"start":{"line":15,"column":11},"end":{"line":15,"column":49}},"type":"cond-expr","locations":[{"start":{"line":15,"column":28},"end":{"line":15,"column":37}},{"start":{"line":15,"column":40},"end":{"line":15,"column":49}}],"line":15},"3":{"loc":{"start":{"line":16,"column":18},"end":{"line":16,"column":56}},"type":"cond-expr","locations":[{"start":{"line":16,"column":35},"end":{"line":16,"column":44}},{"start":{"line":16,"column":47},"end":{"line":16,"column":56}}],"line":16},"4":{"loc":{"start":{"line":58,"column":15},"end":{"line":58,"column":49}},"type":"cond-expr","locations":[{"start":{"line":58,"column":32},"end":{"line":58,"column":37}},{"start":{"line":58,"column":40},"end":{"line":58,"column":49}}],"line":58}},"s":{"0":1},"f":{},"b":{"0":[0,1],"1":[0,1],"2":[0,1],"3":[0,1],"4":[0,1]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"58bedfd3138217937b7d396abd7b0c5826481f79","contentHash":"522b38643de93a23c72e2d1e6fe4f7c043965dd9f6c9c9782d17180545d4bfd3"}} | ||||
| @@ -1 +0,0 @@ | ||||
| {"parent":"f45cbde3-af32-4880-b276-321a181077f9","pid":95187,"argv":["/usr/local/bin/node","/Users/arvinh/Desktop/remotework/react-native-pushy/Example/testHotUpdate/node_modules/.bin/jest","--config","e2e/jest.config.js","e2e"],"execArgv":[],"cwd":"/Users/arvinh/Desktop/remotework/react-native-pushy/Example/testHotUpdate","time":1680248198332,"ppid":95181,"coverageFilename":"/Users/arvinh/Desktop/remotework/react-native-pushy/Example/testHotUpdate/.nyc_output/19bd8c73-3fb6-4ed1-a0bb-38f0a5fd9ee6.json","externalId":"","uuid":"19bd8c73-3fb6-4ed1-a0bb-38f0a5fd9ee6","files":["/Users/arvinh/Desktop/remotework/react-native-pushy/Example/testHotUpdate/e2e/globalSetup.ts"]} | ||||
| @@ -1 +0,0 @@ | ||||
| {"parent":null,"pid":95180,"argv":["/usr/local/bin/node","/opt/homebrew/bin/yarn","detox","test","--configuration","android.emu.release"],"execArgv":[],"cwd":"/Users/arvinh/Desktop/remotework/react-native-pushy/Example/testHotUpdate","time":1680248197419,"ppid":95177,"coverageFilename":"/Users/arvinh/Desktop/remotework/react-native-pushy/Example/testHotUpdate/.nyc_output/d981de3a-162c-4c70-80a9-84bb168e00d7.json","externalId":"","uuid":"d981de3a-162c-4c70-80a9-84bb168e00d7","files":[]} | ||||
| @@ -1 +0,0 @@ | ||||
| {"parent":"d981de3a-162c-4c70-80a9-84bb168e00d7","pid":95181,"argv":["/usr/local/bin/node","/Users/arvinh/Desktop/remotework/react-native-pushy/Example/testHotUpdate/node_modules/.bin/detox","test","--configuration","android.emu.release"],"execArgv":[],"cwd":"/Users/arvinh/Desktop/remotework/react-native-pushy/Example/testHotUpdate","time":1680248197907,"ppid":95180,"coverageFilename":"/Users/arvinh/Desktop/remotework/react-native-pushy/Example/testHotUpdate/.nyc_output/f45cbde3-af32-4880-b276-321a181077f9.json","externalId":"","uuid":"f45cbde3-af32-4880-b276-321a181077f9","files":["/Users/arvinh/Desktop/remotework/react-native-pushy/Example/testHotUpdate/detox.config.js"]} | ||||
| @@ -1 +0,0 @@ | ||||
| {"processes":{"19bd8c73-3fb6-4ed1-a0bb-38f0a5fd9ee6":{"parent":"f45cbde3-af32-4880-b276-321a181077f9","children":[]},"d981de3a-162c-4c70-80a9-84bb168e00d7":{"parent":null,"children":["f45cbde3-af32-4880-b276-321a181077f9"]},"f45cbde3-af32-4880-b276-321a181077f9":{"parent":"d981de3a-162c-4c70-80a9-84bb168e00d7","children":["19bd8c73-3fb6-4ed1-a0bb-38f0a5fd9ee6"]}},"files":{"/Users/arvinh/Desktop/remotework/react-native-pushy/Example/testHotUpdate/e2e/globalSetup.ts":["19bd8c73-3fb6-4ed1-a0bb-38f0a5fd9ee6"],"/Users/arvinh/Desktop/remotework/react-native-pushy/Example/testHotUpdate/detox.config.js":["f45cbde3-af32-4880-b276-321a181077f9"]},"externalIds":{}} | ||||
| @@ -1 +1 @@ | ||||
| 3.1.1 | ||||
| 2.7.5 | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| source 'https://rubygems.org' | ||||
|  | ||||
| # You may use http://rbenv.org/ or https://rvm.io/ to install and use this version | ||||
| ruby File.read(File.join(__dir__, '.ruby-version')).strip | ||||
| ruby '3.1.1' | ||||
|  | ||||
| gem 'cocoapods', '~> 1.11', '>= 1.11.3' | ||||
| gem 'cocoapods', '~> 1.11', '>= 1.11.2' | ||||
|   | ||||
| @@ -1,30 +1,29 @@ | ||||
| GEM | ||||
|   remote: https://rubygems.org/ | ||||
|   specs: | ||||
|     CFPropertyList (3.0.5) | ||||
|     CFPropertyList (3.0.6) | ||||
|       rexml | ||||
|     activesupport (6.1.5.1) | ||||
|     activesupport (7.0.4.3) | ||||
|       concurrent-ruby (~> 1.0, >= 1.0.2) | ||||
|       i18n (>= 1.6, < 2) | ||||
|       minitest (>= 5.1) | ||||
|       tzinfo (~> 2.0) | ||||
|       zeitwerk (~> 2.3) | ||||
|     addressable (2.8.0) | ||||
|       public_suffix (>= 2.0.2, < 5.0) | ||||
|     addressable (2.8.1) | ||||
|       public_suffix (>= 2.0.2, < 6.0) | ||||
|     algoliasearch (1.27.5) | ||||
|       httpclient (~> 2.8, >= 2.8.3) | ||||
|       json (>= 1.5.1) | ||||
|     atomos (0.1.3) | ||||
|     claide (1.1.0) | ||||
|     cocoapods (1.11.3) | ||||
|     cocoapods (1.12.0) | ||||
|       addressable (~> 2.8) | ||||
|       claide (>= 1.0.2, < 2.0) | ||||
|       cocoapods-core (= 1.11.3) | ||||
|       cocoapods-core (= 1.12.0) | ||||
|       cocoapods-deintegrate (>= 1.0.3, < 2.0) | ||||
|       cocoapods-downloader (>= 1.4.0, < 2.0) | ||||
|       cocoapods-downloader (>= 1.6.0, < 2.0) | ||||
|       cocoapods-plugins (>= 1.0.0, < 2.0) | ||||
|       cocoapods-search (>= 1.0.0, < 2.0) | ||||
|       cocoapods-trunk (>= 1.4.0, < 2.0) | ||||
|       cocoapods-trunk (>= 1.6.0, < 2.0) | ||||
|       cocoapods-try (>= 1.1.0, < 2.0) | ||||
|       colored2 (~> 3.1) | ||||
|       escape (~> 0.0.4) | ||||
| @@ -32,10 +31,10 @@ GEM | ||||
|       gh_inspector (~> 1.0) | ||||
|       molinillo (~> 0.8.0) | ||||
|       nap (~> 1.0) | ||||
|       ruby-macho (>= 1.0, < 3.0) | ||||
|       ruby-macho (>= 2.3.0, < 3.0) | ||||
|       xcodeproj (>= 1.21.0, < 2.0) | ||||
|     cocoapods-core (1.11.3) | ||||
|       activesupport (>= 5.0, < 7) | ||||
|     cocoapods-core (1.12.0) | ||||
|       activesupport (>= 5.0, < 8) | ||||
|       addressable (~> 2.8) | ||||
|       algoliasearch (~> 1.0) | ||||
|       concurrent-ruby (~> 1.1) | ||||
| @@ -54,19 +53,19 @@ GEM | ||||
|       netrc (~> 0.11) | ||||
|     cocoapods-try (1.2.0) | ||||
|     colored2 (3.1.2) | ||||
|     concurrent-ruby (1.1.10) | ||||
|     concurrent-ruby (1.2.2) | ||||
|     escape (0.0.4) | ||||
|     ethon (0.15.0) | ||||
|     ethon (0.16.0) | ||||
|       ffi (>= 1.15.0) | ||||
|     ffi (1.15.5) | ||||
|     fourflusher (2.3.1) | ||||
|     fuzzy_match (2.0.4) | ||||
|     gh_inspector (1.1.3) | ||||
|     httpclient (2.8.3) | ||||
|     i18n (1.10.0) | ||||
|     i18n (1.12.0) | ||||
|       concurrent-ruby (~> 1.0) | ||||
|     json (2.6.1) | ||||
|     minitest (5.15.0) | ||||
|     json (2.6.3) | ||||
|     minitest (5.18.0) | ||||
|     molinillo (0.8.0) | ||||
|     nanaimo (0.3.0) | ||||
|     nap (1.1.0) | ||||
| @@ -76,25 +75,24 @@ GEM | ||||
|     ruby-macho (2.5.1) | ||||
|     typhoeus (1.4.0) | ||||
|       ethon (>= 0.9.0) | ||||
|     tzinfo (2.0.4) | ||||
|     tzinfo (2.0.6) | ||||
|       concurrent-ruby (~> 1.0) | ||||
|     xcodeproj (1.21.0) | ||||
|     xcodeproj (1.22.0) | ||||
|       CFPropertyList (>= 2.3.3, < 4.0) | ||||
|       atomos (~> 0.1.3) | ||||
|       claide (>= 1.0.2, < 2.0) | ||||
|       colored2 (~> 3.1) | ||||
|       nanaimo (~> 0.3.0) | ||||
|       rexml (~> 3.2.4) | ||||
|     zeitwerk (2.5.4) | ||||
|  | ||||
| PLATFORMS | ||||
|   ruby | ||||
|  | ||||
| DEPENDENCIES | ||||
|   cocoapods (~> 1.11, >= 1.11.3) | ||||
|   cocoapods (~> 1.11, >= 1.11.2) | ||||
|  | ||||
| RUBY VERSION | ||||
|    ruby 3.1.1p18 | ||||
|  | ||||
| BUNDLED WITH | ||||
|    2.2.27 | ||||
|    2.1.4 | ||||
|   | ||||
							
								
								
									
										66
									
								
								Example/testHotUpdate/README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										66
									
								
								Example/testHotUpdate/README.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,66 @@ | ||||
| # react-native-android-detox | ||||
|  | ||||
| [](https://github.com/remarkablemark/react-native-android-detox/actions/workflows/e2e-android.yml) | ||||
|  | ||||
| React Native Android Detox. The project has already been patched with the [additional Android configuration](https://wix.github.io/Detox/docs/introduction/project-setup/). | ||||
|  | ||||
| ## Prerequisites | ||||
|  | ||||
| Follow the [environment setup](https://wix.github.io/Detox/docs/introduction/getting-started). | ||||
|  | ||||
| ## Install | ||||
|  | ||||
| Clone the repository: | ||||
|  | ||||
| ```sh | ||||
| git clone https://github.com/remarkablemark/react-native-android-detox.git | ||||
| cd react-native-android-detox | ||||
| ``` | ||||
|  | ||||
| Install the dependencies: | ||||
|  | ||||
| ```sh | ||||
| yarn | ||||
| ``` | ||||
|  | ||||
| ## Build | ||||
|  | ||||
| ### Android (Debug) | ||||
|  | ||||
| Build the Android debug app: | ||||
|  | ||||
| ```sh | ||||
| yarn detox build --configuration android.emu.debug | ||||
| ``` | ||||
|  | ||||
| ### Android (Release) | ||||
|  | ||||
| Build the Android release app: | ||||
|  | ||||
| ```sh | ||||
| yarn detox build --configuration android.emu.release | ||||
| ``` | ||||
|  | ||||
| ## Test | ||||
|  | ||||
| ### Android (Debug) | ||||
|  | ||||
| Start the app: | ||||
|  | ||||
| ```sh | ||||
| yarn start | ||||
| ``` | ||||
|  | ||||
| Run the test: | ||||
|  | ||||
| ```sh | ||||
| yarn detox test --configuration android.emu.debug | ||||
| ``` | ||||
|  | ||||
| ### Android (Release) | ||||
|  | ||||
| Run the test: | ||||
|  | ||||
| ```sh | ||||
| yarn detox test --configuration android.emu.release | ||||
| ``` | ||||
							
								
								
									
										55
									
								
								Example/testHotUpdate/android/app/_BUCK
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										55
									
								
								Example/testHotUpdate/android/app/_BUCK
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,55 @@ | ||||
| # To learn about Buck see [Docs](https://buckbuild.com/). | ||||
| # To run your application with Buck: | ||||
| # - install Buck | ||||
| # - `npm start` - to start the packager | ||||
| # - `cd android` | ||||
| # - `keytool -genkey -v -keystore keystores/debug.keystore -storepass android -alias androiddebugkey -keypass android -dname "CN=Android Debug,O=Android,C=US"` | ||||
| # - `./gradlew :app:copyDownloadableDepsToLibs` - make all Gradle compile dependencies available to Buck | ||||
| # - `buck install -r android/app` - compile, install and run application | ||||
| # | ||||
|  | ||||
| load(":build_defs.bzl", "create_aar_targets", "create_jar_targets") | ||||
|  | ||||
| lib_deps = [] | ||||
|  | ||||
| create_aar_targets(glob(["libs/*.aar"])) | ||||
|  | ||||
| create_jar_targets(glob(["libs/*.jar"])) | ||||
|  | ||||
| android_library( | ||||
|     name = "all-libs", | ||||
|     exported_deps = lib_deps, | ||||
| ) | ||||
|  | ||||
| android_library( | ||||
|     name = "app-code", | ||||
|     srcs = glob([ | ||||
|         "src/main/java/**/*.java", | ||||
|     ]), | ||||
|     deps = [ | ||||
|         ":all-libs", | ||||
|         ":build_config", | ||||
|         ":res", | ||||
|     ], | ||||
| ) | ||||
|  | ||||
| android_build_config( | ||||
|     name = "build_config", | ||||
|     package = "com.awesomeproject", | ||||
| ) | ||||
|  | ||||
| android_resource( | ||||
|     name = "res", | ||||
|     package = "com.awesomeproject", | ||||
|     res = "src/main/res", | ||||
| ) | ||||
|  | ||||
| android_binary( | ||||
|     name = "app", | ||||
|     keystore = "//android/keystores:debug", | ||||
|     manifest = "src/main/AndroidManifest.xml", | ||||
|     package_type = "debug", | ||||
|     deps = [ | ||||
|         ":app-code", | ||||
|     ], | ||||
| ) | ||||
| @@ -1,72 +1,105 @@ | ||||
| apply plugin: "com.android.application" | ||||
| apply plugin: "com.facebook.react" | ||||
|  | ||||
| import com.android.build.OutputFile | ||||
|  | ||||
| /** | ||||
|  * This is the configuration block to customize your React Native Android app. | ||||
|  * By default you don't need to apply any configuration, just uncomment the lines you need. | ||||
|  * The react.gradle file registers a task for each build variant (e.g. bundleDebugJsAndAssets | ||||
|  * and bundleReleaseJsAndAssets). | ||||
|  * These basically call `react-native bundle` with the correct arguments during the Android build | ||||
|  * cycle. By default, bundleDebugJsAndAssets is skipped, as in debug/dev mode we prefer to load the | ||||
|  * bundle directly from the development server. Below you can see all the possible configurations | ||||
|  * and their defaults. If you decide to add a configuration block, make sure to add it before the | ||||
|  * `apply from: "../../node_modules/react-native/react.gradle"` line. | ||||
|  * | ||||
|  * project.ext.react = [ | ||||
|  *   // the name of the generated asset file containing your JS bundle | ||||
|  *   bundleAssetName: "index.android.bundle", | ||||
|  * | ||||
|  *   // the entry file for bundle generation. If none specified and | ||||
|  *   // "index.android.js" exists, it will be used. Otherwise "index.js" is | ||||
|  *   // default. Can be overridden with ENTRY_FILE environment variable. | ||||
|  *   entryFile: "index.android.js", | ||||
|  * | ||||
|  *   // https://reactnative.dev/docs/performance#enable-the-ram-format | ||||
|  *   bundleCommand: "ram-bundle", | ||||
|  * | ||||
|  *   // whether to bundle JS and assets in debug mode | ||||
|  *   bundleInDebug: false, | ||||
|  * | ||||
|  *   // whether to bundle JS and assets in release mode | ||||
|  *   bundleInRelease: true, | ||||
|  * | ||||
|  *   // whether to bundle JS and assets in another build variant (if configured). | ||||
|  *   // See http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Build-Variants | ||||
|  *   // The configuration property can be in the following formats | ||||
|  *   //         'bundleIn${productFlavor}${buildType}' | ||||
|  *   //         'bundleIn${buildType}' | ||||
|  *   // bundleInFreeDebug: true, | ||||
|  *   // bundleInPaidRelease: true, | ||||
|  *   // bundleInBeta: true, | ||||
|  * | ||||
|  *   // whether to disable dev mode in custom build variants (by default only disabled in release) | ||||
|  *   // for example: to disable dev mode in the staging build type (if configured) | ||||
|  *   devDisabledInStaging: true, | ||||
|  *   // The configuration property can be in the following formats | ||||
|  *   //         'devDisabledIn${productFlavor}${buildType}' | ||||
|  *   //         'devDisabledIn${buildType}' | ||||
|  * | ||||
|  *   // the root of your project, i.e. where "package.json" lives | ||||
|  *   root: "../../", | ||||
|  * | ||||
|  *   // where to put the JS bundle asset in debug mode | ||||
|  *   jsBundleDirDebug: "$buildDir/intermediates/assets/debug", | ||||
|  * | ||||
|  *   // where to put the JS bundle asset in release mode | ||||
|  *   jsBundleDirRelease: "$buildDir/intermediates/assets/release", | ||||
|  * | ||||
|  *   // where to put drawable resources / React Native assets, e.g. the ones you use via | ||||
|  *   // require('./image.png')), in debug mode | ||||
|  *   resourcesDirDebug: "$buildDir/intermediates/res/merged/debug", | ||||
|  * | ||||
|  *   // where to put drawable resources / React Native assets, e.g. the ones you use via | ||||
|  *   // require('./image.png')), in release mode | ||||
|  *   resourcesDirRelease: "$buildDir/intermediates/res/merged/release", | ||||
|  * | ||||
|  *   // by default the gradle tasks are skipped if none of the JS files or assets change; this means | ||||
|  *   // that we don't look at files in android/ or ios/ to determine whether the tasks are up to | ||||
|  *   // date; if you have any other folders that you want to ignore for performance reasons (gradle | ||||
|  *   // indexes the entire tree), add them here. Alternatively, if you have JS files in android/ | ||||
|  *   // for example, you might want to remove it from here. | ||||
|  *   inputExcludes: ["android/**", "ios/**"], | ||||
|  * | ||||
|  *   // override which node gets called and with what additional arguments | ||||
|  *   nodeExecutableAndArgs: ["node"], | ||||
|  * | ||||
|  *   // supply additional arguments to the packager | ||||
|  *   extraPackagerArgs: [] | ||||
|  * ] | ||||
|  */ | ||||
| react { | ||||
|     /* Folders */ | ||||
|     //   The root of your project, i.e. where "package.json" lives. Default is '..' | ||||
|     // root = file("../") | ||||
|     //   The folder where the react-native NPM package is. Default is ../node_modules/react-native | ||||
|     // reactNativeDir = file("../node_modules/react-native") | ||||
|     //   The folder where the react-native Codegen package is. Default is ../node_modules/react-native-codegen | ||||
|     // codegenDir = file("../node_modules/react-native-codegen") | ||||
|     //   The cli.js file which is the React Native CLI entrypoint. Default is ../node_modules/react-native/cli.js | ||||
|     // cliFile = file("../node_modules/react-native/cli.js") | ||||
|  | ||||
|     /* Variants */ | ||||
|     //   The list of variants to that are debuggable. For those we're going to | ||||
|     //   skip the bundling of the JS bundle and the assets. By default is just 'debug'. | ||||
|     //   If you add flavors like lite, prod, etc. you'll have to list your debuggableVariants. | ||||
|     // debuggableVariants = ["liteDebug", "prodDebug"] | ||||
| project.ext.react = [ | ||||
|     enableHermes: false,  // clean and rebuild if changing | ||||
| ] | ||||
|  | ||||
|     /* Bundling */ | ||||
|     //   A list containing the node command and its flags. Default is just 'node'. | ||||
|     // nodeExecutableAndArgs = ["node"] | ||||
|     // | ||||
|     //   The command to run when bundling. By default is 'bundle' | ||||
|     // bundleCommand = "ram-bundle" | ||||
|     // | ||||
|     //   The path to the CLI configuration file. Default is empty. | ||||
|     // bundleConfig = file(../rn-cli.config.js) | ||||
|     // | ||||
|     //   The name of the generated asset file containing your JS bundle | ||||
|     // bundleAssetName = "MyApplication.android.bundle" | ||||
|     // | ||||
|     //   The entry file for bundle generation. Default is 'index.android.js' or 'index.js' | ||||
|     // entryFile = file("../js/MyApplication.android.js") | ||||
|     // | ||||
|     //   A list of extra flags to pass to the 'bundle' commands. | ||||
|     //   See https://github.com/react-native-community/cli/blob/main/docs/commands.md#bundle | ||||
|     // extraPackagerArgs = [] | ||||
|  | ||||
|     /* Hermes Commands */ | ||||
|     //   The hermes compiler command to run. By default it is 'hermesc' | ||||
|     // hermesCommand = "$rootDir/my-custom-hermesc/bin/hermesc" | ||||
|     // | ||||
|     //   The list of flags to pass to the Hermes compiler. By default is "-O", "-output-source-map" | ||||
|     // hermesFlags = ["-O", "-output-source-map"] | ||||
| } | ||||
| apply from: "../../node_modules/react-native/react.gradle" | ||||
|  | ||||
| /** | ||||
|  * Set this to true to create four separate APKs instead of one, | ||||
|  * one for each native architecture. This is useful if you don't | ||||
|  * use App Bundles (https://developer.android.com/guide/app-bundle/) | ||||
|  * and want to have separate APKs to upload to the Play Store. | ||||
|  * Set this to true to create two separate APKs instead of one: | ||||
|  *   - An APK that only works on ARM devices | ||||
|  *   - An APK that only works on x86 devices | ||||
|  * The advantage is the size of the APK is reduced by about 4MB. | ||||
|  * Upload all the APKs to the Play Store and people will download | ||||
|  * the correct one based on the CPU architecture of their device. | ||||
|  */ | ||||
| def enableSeparateBuildPerCPUArchitecture = false | ||||
|  | ||||
| /** | ||||
|  * Set this to true to Run Proguard on Release builds to minify the Java bytecode. | ||||
|  * Run Proguard to shrink the Java bytecode in release builds. | ||||
|  */ | ||||
| def enableProguardInReleaseBuilds = false | ||||
|  | ||||
| /** | ||||
|  * The preferred build flavor of JavaScriptCore (JSC) | ||||
|  * The preferred build flavor of JavaScriptCore. | ||||
|  * | ||||
|  * For example, to use the international variant, you can use: | ||||
|  * `def jscFlavor = 'org.webkit:android-jsc-intl:+'` | ||||
| @@ -79,9 +112,16 @@ def enableProguardInReleaseBuilds = false | ||||
| def jscFlavor = 'org.webkit:android-jsc:+' | ||||
|  | ||||
| /** | ||||
|  * Private function to get the list of Native Architectures you want to build. | ||||
|  * This reads the value from reactNativeArchitectures in your gradle.properties | ||||
|  * file and works together with the --active-arch-only flag of react-native run-android. | ||||
|  * Whether to enable the Hermes VM. | ||||
|  * | ||||
|  * This should be set on project.ext.react and that value will be read here. If it is not set | ||||
|  * on project.ext.react, JavaScript will not be compiled to Hermes Bytecode | ||||
|  * and the benefits of using Hermes will therefore be sharply reduced. | ||||
|  */ | ||||
| def enableHermes = project.ext.react.get("enableHermes", false); | ||||
|  | ||||
| /** | ||||
|  * Architectures to build native code for. | ||||
|  */ | ||||
| def reactNativeArchitectures() { | ||||
|     def value = project.getProperties().get("reactNativeArchitectures") | ||||
| @@ -93,13 +133,82 @@ android { | ||||
|  | ||||
|     compileSdkVersion rootProject.ext.compileSdkVersion | ||||
|  | ||||
|     namespace "com.testhotupdate" | ||||
|     defaultConfig { | ||||
|         applicationId "com.testhotupdate" | ||||
|         applicationId "com.awesomeproject" | ||||
|         minSdkVersion rootProject.ext.minSdkVersion | ||||
|         targetSdkVersion rootProject.ext.targetSdkVersion | ||||
|         versionCode 1 | ||||
|         versionName "1.0" | ||||
|         testBuildType System.getProperty('testBuildType', 'debug') | ||||
|         testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner' | ||||
|         buildConfigField "boolean", "IS_NEW_ARCHITECTURE_ENABLED", isNewArchitectureEnabled().toString() | ||||
|  | ||||
|         if (isNewArchitectureEnabled()) { | ||||
|             // We configure the NDK build only if you decide to opt-in for the New Architecture. | ||||
|             externalNativeBuild { | ||||
|                 ndkBuild { | ||||
|                     arguments "APP_PLATFORM=android-21", | ||||
|                         "APP_STL=c++_shared", | ||||
|                         "NDK_TOOLCHAIN_VERSION=clang", | ||||
|                         "GENERATED_SRC_DIR=$buildDir/generated/source", | ||||
|                         "PROJECT_BUILD_DIR=$buildDir", | ||||
|                         "REACT_ANDROID_DIR=$rootDir/../node_modules/react-native/ReactAndroid", | ||||
|                         "REACT_ANDROID_BUILD_DIR=$rootDir/../node_modules/react-native/ReactAndroid/build", | ||||
|                         "NODE_MODULES_DIR=$rootDir/../node_modules" | ||||
|                     cFlags "-Wall", "-Werror", "-fexceptions", "-frtti", "-DWITH_INSPECTOR=1" | ||||
|                     cppFlags "-std=c++17" | ||||
|                     // Make sure this target name is the same you specify inside the | ||||
|                     // src/main/jni/Android.mk file for the `LOCAL_MODULE` variable. | ||||
|                     targets "awesomeproject_appmodules" | ||||
|                 } | ||||
|             } | ||||
|             if (!enableSeparateBuildPerCPUArchitecture) { | ||||
|                 ndk { | ||||
|                     abiFilters (*reactNativeArchitectures()) | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     if (isNewArchitectureEnabled()) { | ||||
|         // We configure the NDK build only if you decide to opt-in for the New Architecture. | ||||
|         externalNativeBuild { | ||||
|             ndkBuild { | ||||
|                 path "$projectDir/src/main/jni/Android.mk" | ||||
|             } | ||||
|         } | ||||
|         def reactAndroidProjectDir = project(':ReactAndroid').projectDir | ||||
|         def packageReactNdkDebugLibs = tasks.register("packageReactNdkDebugLibs", Copy) { | ||||
|             dependsOn(":ReactAndroid:packageReactNdkDebugLibsForBuck") | ||||
|             from("$reactAndroidProjectDir/src/main/jni/prebuilt/lib") | ||||
|             into("$buildDir/react-ndk/exported") | ||||
|         } | ||||
|         def packageReactNdkReleaseLibs = tasks.register("packageReactNdkReleaseLibs", Copy) { | ||||
|             dependsOn(":ReactAndroid:packageReactNdkReleaseLibsForBuck") | ||||
|             from("$reactAndroidProjectDir/src/main/jni/prebuilt/lib") | ||||
|             into("$buildDir/react-ndk/exported") | ||||
|         } | ||||
|         afterEvaluate { | ||||
|             // If you wish to add a custom TurboModule or component locally, | ||||
|             // you should uncomment this line. | ||||
|             // preBuild.dependsOn("generateCodegenArtifactsFromSchema") | ||||
|             preDebugBuild.dependsOn(packageReactNdkDebugLibs) | ||||
|             preReleaseBuild.dependsOn(packageReactNdkReleaseLibs) | ||||
|  | ||||
|             // Due to a bug inside AGP, we have to explicitly set a dependency | ||||
|             // between configureNdkBuild* tasks and the preBuild tasks. | ||||
|             // This can be removed once this is solved: https://issuetracker.google.com/issues/207403732 | ||||
|             configureNdkBuildRelease.dependsOn(preReleaseBuild) | ||||
|             configureNdkBuildDebug.dependsOn(preDebugBuild) | ||||
|             reactNativeArchitectures().each { architecture -> | ||||
|                 tasks.findByName("configureNdkBuildDebug[${architecture}]")?.configure { | ||||
|                     dependsOn("preDebugBuild") | ||||
|                 } | ||||
|                 tasks.findByName("configureNdkBuildRelease[${architecture}]")?.configure { | ||||
|                     dependsOn("preReleaseBuild") | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     splits { | ||||
| @@ -128,6 +237,7 @@ android { | ||||
|             signingConfig signingConfigs.debug | ||||
|             minifyEnabled enableProguardInReleaseBuilds | ||||
|             proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro" | ||||
|             proguardFile "${rootProject.projectDir}/../node_modules/detox/android/detox/proguard-rules-app.pro" | ||||
|         } | ||||
|     } | ||||
|  | ||||
| @@ -149,22 +259,67 @@ android { | ||||
| } | ||||
|  | ||||
| dependencies { | ||||
|     // The version of react-native is set by the React Native Gradle Plugin | ||||
|     implementation("com.facebook.react:react-android") | ||||
|     androidTestImplementation('com.wix:detox:+') | ||||
|     implementation 'androidx.appcompat:appcompat:1.1.0' | ||||
|     implementation fileTree(dir: "libs", include: ["*.jar"]) | ||||
|  | ||||
|     implementation("androidx.swiperefreshlayout:swiperefreshlayout:1.0.0") | ||||
|     //noinspection GradleDynamicVersion | ||||
|     implementation "com.facebook.react:react-native:+"  // From node_modules | ||||
|  | ||||
|     implementation "androidx.swiperefreshlayout:swiperefreshlayout:1.0.0" | ||||
|  | ||||
|     debugImplementation("com.facebook.flipper:flipper:${FLIPPER_VERSION}") { | ||||
|         exclude group:'com.facebook.fbjni' | ||||
|     } | ||||
|  | ||||
|     debugImplementation("com.facebook.flipper:flipper:${FLIPPER_VERSION}") | ||||
|     debugImplementation("com.facebook.flipper:flipper-network-plugin:${FLIPPER_VERSION}") { | ||||
|         exclude group:'com.facebook.flipper' | ||||
|         exclude group:'com.squareup.okhttp3', module:'okhttp' | ||||
|     } | ||||
|  | ||||
|     debugImplementation("com.facebook.flipper:flipper-fresco-plugin:${FLIPPER_VERSION}") | ||||
|     if (hermesEnabled.toBoolean()) { | ||||
|         implementation("com.facebook.react:hermes-android") | ||||
|     debugImplementation("com.facebook.flipper:flipper-fresco-plugin:${FLIPPER_VERSION}") { | ||||
|         exclude group:'com.facebook.flipper' | ||||
|     } | ||||
|  | ||||
|     if (enableHermes) { | ||||
|         //noinspection GradleDynamicVersion | ||||
|         implementation("com.facebook.react:hermes-engine:+") { // From node_modules | ||||
|             exclude group:'com.facebook.fbjni' | ||||
|         } | ||||
|     } else { | ||||
|         implementation jscFlavor | ||||
|     } | ||||
| } | ||||
|  | ||||
| if (isNewArchitectureEnabled()) { | ||||
|     // If new architecture is enabled, we let you build RN from source | ||||
|     // Otherwise we fallback to a prebuilt .aar bundled in the NPM package. | ||||
|     // This will be applied to all the imported transtitive dependency. | ||||
|     configurations.all { | ||||
|         resolutionStrategy.dependencySubstitution { | ||||
|             substitute(module("com.facebook.react:react-native")) | ||||
|                     .using(project(":ReactAndroid")) | ||||
|                     .because("On New Architecture we're building React Native from source") | ||||
|             substitute(module("com.facebook.react:hermes-engine")) | ||||
|                     .using(project(":ReactAndroid:hermes-engine")) | ||||
|                     .because("On New Architecture we're building Hermes from source") | ||||
|         } | ||||
|     } | ||||
| } | ||||
|  | ||||
| // Run this once to be able to run the application with BUCK | ||||
| // puts all compile dependencies into folder libs for BUCK to use | ||||
| task copyDownloadableDepsToLibs(type: Copy) { | ||||
|     from configurations.implementation | ||||
|     into 'libs' | ||||
| } | ||||
|  | ||||
| apply from: file("../../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesAppBuildGradle(project) | ||||
|  | ||||
| def isNewArchitectureEnabled() { | ||||
|     // To opt-in for the New Architecture, you can either: | ||||
|     // - Set `newArchEnabled` to true inside the `gradle.properties` file | ||||
|     // - Invoke gradle with `-newArchEnabled=true` | ||||
|     // - Set an environment variable `ORG_GRADLE_PROJECT_newArchEnabled=true` | ||||
|     return project.hasProperty("newArchEnabled") && project.newArchEnabled == "true" | ||||
| } | ||||
|   | ||||
							
								
								
									
										19
									
								
								Example/testHotUpdate/android/app/build_defs.bzl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								Example/testHotUpdate/android/app/build_defs.bzl
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,19 @@ | ||||
| """Helper definitions to glob .aar and .jar targets""" | ||||
|  | ||||
| def create_aar_targets(aarfiles): | ||||
|     for aarfile in aarfiles: | ||||
|         name = "aars__" + aarfile[aarfile.rindex("/") + 1:aarfile.rindex(".aar")] | ||||
|         lib_deps.append(":" + name) | ||||
|         android_prebuilt_aar( | ||||
|             name = name, | ||||
|             aar = aarfile, | ||||
|         ) | ||||
|  | ||||
| def create_jar_targets(jarfiles): | ||||
|     for jarfile in jarfiles: | ||||
|         name = "jars__" + jarfile[jarfile.rindex("/") + 1:jarfile.rindex(".jar")] | ||||
|         lib_deps.append(":" + name) | ||||
|         prebuilt_jar( | ||||
|             name = name, | ||||
|             binary_jar = jarfile, | ||||
|         ) | ||||
| @@ -0,0 +1,29 @@ | ||||
| package com.awesomeproject; | ||||
|  | ||||
| import com.wix.detox.Detox; | ||||
| import com.wix.detox.config.DetoxConfig; | ||||
|  | ||||
| import org.junit.Rule; | ||||
| import org.junit.Test; | ||||
| import org.junit.runner.RunWith; | ||||
|  | ||||
| import androidx.test.ext.junit.runners.AndroidJUnit4; | ||||
| import androidx.test.filters.LargeTest; | ||||
| import androidx.test.rule.ActivityTestRule; | ||||
|  | ||||
| @RunWith(AndroidJUnit4.class) | ||||
| @LargeTest | ||||
| public class DetoxTest { | ||||
|     @Rule | ||||
|     public ActivityTestRule<MainActivity> mActivityRule = new ActivityTestRule<>(MainActivity.class, false, false); | ||||
|  | ||||
|     @Test | ||||
|     public void runDetoxTests() { | ||||
|         DetoxConfig detoxConfig = new DetoxConfig(); | ||||
|         detoxConfig.idlePolicyConfig.masterTimeoutSec = 90; | ||||
|         detoxConfig.idlePolicyConfig.idleResourceTimeoutSec = 60; | ||||
|         detoxConfig.rnContextLoadTimeoutSec = (BuildConfig.DEBUG ? 180 : 60); | ||||
|  | ||||
|         Detox.runTests(mActivityRule, detoxConfig); | ||||
|     } | ||||
| } | ||||
| @@ -4,7 +4,7 @@ | ||||
|  * <p>This source code is licensed under the MIT license found in the LICENSE file in the root | ||||
|  * directory of this source tree. | ||||
|  */ | ||||
| package com.testhotupdate; | ||||
| package com.awesomeproject; | ||||
| 
 | ||||
| import android.content.Context; | ||||
| import com.facebook.flipper.android.AndroidFlipperClient; | ||||
| @@ -17,6 +17,7 @@ import com.facebook.flipper.plugins.inspector.DescriptorMapping; | ||||
| import com.facebook.flipper.plugins.inspector.InspectorFlipperPlugin; | ||||
| import com.facebook.flipper.plugins.network.FlipperOkhttpInterceptor; | ||||
| import com.facebook.flipper.plugins.network.NetworkFlipperPlugin; | ||||
| import com.facebook.flipper.plugins.react.ReactFlipperPlugin; | ||||
| import com.facebook.flipper.plugins.sharedpreferences.SharedPreferencesFlipperPlugin; | ||||
| import com.facebook.react.ReactInstanceEventListener; | ||||
| import com.facebook.react.ReactInstanceManager; | ||||
| @@ -24,16 +25,13 @@ import com.facebook.react.bridge.ReactContext; | ||||
| import com.facebook.react.modules.network.NetworkingModule; | ||||
| import okhttp3.OkHttpClient; | ||||
| 
 | ||||
| /** | ||||
|  * Class responsible of loading Flipper inside your React Native application. This is the debug | ||||
|  * flavor of it. Here you can add your own plugins and customize the Flipper setup. | ||||
|  */ | ||||
| public class ReactNativeFlipper { | ||||
|   public static void initializeFlipper(Context context, ReactInstanceManager reactInstanceManager) { | ||||
|     if (FlipperUtils.shouldEnableFlipper(context)) { | ||||
|       final FlipperClient client = AndroidFlipperClient.getInstance(context); | ||||
| 
 | ||||
|       client.addPlugin(new InspectorFlipperPlugin(context, DescriptorMapping.withDefaults())); | ||||
|       client.addPlugin(new ReactFlipperPlugin()); | ||||
|       client.addPlugin(new DatabasesFlipperPlugin(context)); | ||||
|       client.addPlugin(new SharedPreferencesFlipperPlugin(context)); | ||||
|       client.addPlugin(CrashReporterPlugin.getInstance()); | ||||
| @@ -1,4 +1,5 @@ | ||||
| <manifest xmlns:android="http://schemas.android.com/apk/res/android"> | ||||
| <manifest xmlns:android="http://schemas.android.com/apk/res/android" | ||||
|   package="com.awesomeproject"> | ||||
|  | ||||
|     <uses-permission android:name="android.permission.INTERNET" /> | ||||
|  | ||||
| @@ -8,7 +9,8 @@ | ||||
|       android:icon="@mipmap/ic_launcher" | ||||
|       android:roundIcon="@mipmap/ic_launcher_round" | ||||
|       android:allowBackup="false" | ||||
|       android:theme="@style/AppTheme"> | ||||
|       android:theme="@style/AppTheme" | ||||
|       android:networkSecurityConfig="@xml/network_security_config"> | ||||
|       <activity | ||||
|         android:name=".MainActivity" | ||||
|         android:label="@string/app_name" | ||||
|   | ||||
| @@ -0,0 +1,48 @@ | ||||
| package com.awesomeproject; | ||||
|  | ||||
| import com.facebook.react.ReactActivity; | ||||
| import com.facebook.react.ReactActivityDelegate; | ||||
| import com.facebook.react.ReactRootView; | ||||
|  | ||||
| public class MainActivity extends ReactActivity { | ||||
|  | ||||
|   /** | ||||
|    * Returns the name of the main component registered from JavaScript. This is used to schedule | ||||
|    * rendering of the component. | ||||
|    */ | ||||
|   @Override | ||||
|   protected String getMainComponentName() { | ||||
|     return "AwesomeProject"; | ||||
|   } | ||||
|  | ||||
|   /** | ||||
|    * Returns the instance of the {@link ReactActivityDelegate}. There the RootView is created and | ||||
|    * you can specify the renderer you wish to use - the new renderer (Fabric) or the old renderer | ||||
|    * (Paper). | ||||
|    */ | ||||
|   @Override | ||||
|   protected ReactActivityDelegate createReactActivityDelegate() { | ||||
|     return new MainActivityDelegate(this, getMainComponentName()); | ||||
|   } | ||||
|  | ||||
|   public static class MainActivityDelegate extends ReactActivityDelegate { | ||||
|     public MainActivityDelegate(ReactActivity activity, String mainComponentName) { | ||||
|       super(activity, mainComponentName); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     protected ReactRootView createRootView() { | ||||
|       ReactRootView reactRootView = new ReactRootView(getContext()); | ||||
|       // If you opted-in for the New Architecture, we enable the Fabric Renderer. | ||||
|       reactRootView.setIsFabric(BuildConfig.IS_NEW_ARCHITECTURE_ENABLED); | ||||
|       return reactRootView; | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     protected boolean isConcurrentRootEnabled() { | ||||
|       // If you opted-in for the New Architecture, we enable Concurrent Root (i.e. React 18). | ||||
|       // More on this on https://reactjs.org/blog/2022/03/29/react-v18.html | ||||
|       return BuildConfig.IS_NEW_ARCHITECTURE_ENABLED; | ||||
|     } | ||||
|   } | ||||
| } | ||||
| @@ -0,0 +1,104 @@ | ||||
| package com.awesomeproject; | ||||
|  | ||||
| import android.app.Application; | ||||
| import android.content.Context; | ||||
|  | ||||
| import androidx.annotation.Nullable; | ||||
|  | ||||
| import com.facebook.react.PackageList; | ||||
| import com.facebook.react.ReactApplication; | ||||
| import com.facebook.react.ReactInstanceManager; | ||||
| import com.facebook.react.ReactNativeHost; | ||||
| import com.facebook.react.ReactPackage; | ||||
| import com.facebook.react.config.ReactFeatureFlags; | ||||
| import com.facebook.react.shell.MainReactPackage; | ||||
| import com.facebook.soloader.SoLoader; | ||||
| import com.awesomeproject.newarchitecture.MainApplicationReactNativeHost; | ||||
| import java.lang.reflect.InvocationTargetException; | ||||
| import java.util.Arrays; | ||||
| import java.util.List; | ||||
| import cn.reactnative.modules.update.UpdateContext; | ||||
| import cn.reactnative.modules.update.UpdatePackage; | ||||
|  | ||||
| public class MainApplication extends Application implements ReactApplication { | ||||
|  | ||||
|     private final ReactNativeHost mReactNativeHost = | ||||
|             new ReactNativeHost(this) { | ||||
|                 @Override | ||||
|                 public boolean getUseDeveloperSupport() { | ||||
|                     return BuildConfig.DEBUG; | ||||
|                 } | ||||
|  | ||||
|                 @Nullable | ||||
|                 @Override | ||||
|                 protected String getJSBundleFile() { | ||||
|                     return UpdateContext.getBundleUrl(MainApplication.this); | ||||
|                 } | ||||
|  | ||||
|                 @Override | ||||
|                 protected List<ReactPackage> getPackages() { | ||||
|                     @SuppressWarnings("UnnecessaryLocalVariable") | ||||
|                     List<ReactPackage> packages = new PackageList(this).getPackages(); | ||||
|                     // Packages that cannot be autolinked yet can be added manually here, for example: | ||||
|                     // packages.add(new MyReactNativePackage()); | ||||
|                     return packages; | ||||
|                 } | ||||
|  | ||||
|                 @Override | ||||
|                 protected String getJSMainModuleName() { | ||||
|                     return "index"; | ||||
|                 } | ||||
|             }; | ||||
|  | ||||
|   private final ReactNativeHost mNewArchitectureNativeHost = | ||||
|       new MainApplicationReactNativeHost(this); | ||||
|  | ||||
|   @Override | ||||
|   public ReactNativeHost getReactNativeHost() { | ||||
|     if (BuildConfig.IS_NEW_ARCHITECTURE_ENABLED) { | ||||
|       return mNewArchitectureNativeHost; | ||||
|     } else { | ||||
|       return mReactNativeHost; | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   @Override | ||||
|   public void onCreate() { | ||||
|     super.onCreate(); | ||||
|     // If you opted-in for the New Architecture, we enable the TurboModule system | ||||
|     ReactFeatureFlags.useTurboModules = BuildConfig.IS_NEW_ARCHITECTURE_ENABLED; | ||||
|     SoLoader.init(this, /* native exopackage */ false); | ||||
|     initializeFlipper(this, getReactNativeHost().getReactInstanceManager()); | ||||
|   } | ||||
|  | ||||
|   /** | ||||
|    * Loads Flipper in React Native templates. Call this in the onCreate method with something like | ||||
|    * initializeFlipper(this, getReactNativeHost().getReactInstanceManager()); | ||||
|    * | ||||
|    * @param context | ||||
|    * @param reactInstanceManager | ||||
|    */ | ||||
|   private static void initializeFlipper( | ||||
|       Context context, ReactInstanceManager reactInstanceManager) { | ||||
|     if (BuildConfig.DEBUG) { | ||||
|       try { | ||||
|         /* | ||||
|          We use reflection here to pick up the class that initializes Flipper, | ||||
|         since Flipper library is not available in release mode | ||||
|         */ | ||||
|         Class<?> aClass = Class.forName("com.awesomeproject.ReactNativeFlipper"); | ||||
|         aClass | ||||
|             .getMethod("initializeFlipper", Context.class, ReactInstanceManager.class) | ||||
|             .invoke(null, context, reactInstanceManager); | ||||
|       } catch (ClassNotFoundException e) { | ||||
|         e.printStackTrace(); | ||||
|       } catch (NoSuchMethodException e) { | ||||
|         e.printStackTrace(); | ||||
|       } catch (IllegalAccessException e) { | ||||
|         e.printStackTrace(); | ||||
|       } catch (InvocationTargetException e) { | ||||
|         e.printStackTrace(); | ||||
|       } | ||||
|     } | ||||
|   } | ||||
| } | ||||
| @@ -0,0 +1,116 @@ | ||||
| package com.awesomeproject.newarchitecture; | ||||
|  | ||||
| import android.app.Application; | ||||
| import androidx.annotation.NonNull; | ||||
| import com.facebook.react.PackageList; | ||||
| import com.facebook.react.ReactInstanceManager; | ||||
| import com.facebook.react.ReactNativeHost; | ||||
| import com.facebook.react.ReactPackage; | ||||
| import com.facebook.react.ReactPackageTurboModuleManagerDelegate; | ||||
| import com.facebook.react.bridge.JSIModulePackage; | ||||
| import com.facebook.react.bridge.JSIModuleProvider; | ||||
| import com.facebook.react.bridge.JSIModuleSpec; | ||||
| import com.facebook.react.bridge.JSIModuleType; | ||||
| import com.facebook.react.bridge.JavaScriptContextHolder; | ||||
| import com.facebook.react.bridge.ReactApplicationContext; | ||||
| import com.facebook.react.bridge.UIManager; | ||||
| import com.facebook.react.fabric.ComponentFactory; | ||||
| import com.facebook.react.fabric.CoreComponentsRegistry; | ||||
| import com.facebook.react.fabric.FabricJSIModuleProvider; | ||||
| import com.facebook.react.fabric.ReactNativeConfig; | ||||
| import com.facebook.react.uimanager.ViewManagerRegistry; | ||||
| import com.awesomeproject.BuildConfig; | ||||
| import com.awesomeproject.newarchitecture.components.MainComponentsRegistry; | ||||
| import com.awesomeproject.newarchitecture.modules.MainApplicationTurboModuleManagerDelegate; | ||||
| import java.util.ArrayList; | ||||
| import java.util.List; | ||||
|  | ||||
| /** | ||||
|  * A {@link ReactNativeHost} that helps you load everything needed for the New Architecture, both | ||||
|  * TurboModule delegates and the Fabric Renderer. | ||||
|  * | ||||
|  * <p>Please note that this class is used ONLY if you opt-in for the New Architecture (see the | ||||
|  * `newArchEnabled` property). Is ignored otherwise. | ||||
|  */ | ||||
| public class MainApplicationReactNativeHost extends ReactNativeHost { | ||||
|   public MainApplicationReactNativeHost(Application application) { | ||||
|     super(application); | ||||
|   } | ||||
|  | ||||
|   @Override | ||||
|   public boolean getUseDeveloperSupport() { | ||||
|     return BuildConfig.DEBUG; | ||||
|   } | ||||
|  | ||||
|   @Override | ||||
|   protected List<ReactPackage> getPackages() { | ||||
|     List<ReactPackage> packages = new PackageList(this).getPackages(); | ||||
|     // Packages that cannot be autolinked yet can be added manually here, for example: | ||||
|     //     packages.add(new MyReactNativePackage()); | ||||
|     // TurboModules must also be loaded here providing a valid TurboReactPackage implementation: | ||||
|     //     packages.add(new TurboReactPackage() { ... }); | ||||
|     // If you have custom Fabric Components, their ViewManagers should also be loaded here | ||||
|     // inside a ReactPackage. | ||||
|     return packages; | ||||
|   } | ||||
|  | ||||
|   @Override | ||||
|   protected String getJSMainModuleName() { | ||||
|     return "index"; | ||||
|   } | ||||
|  | ||||
|   @NonNull | ||||
|   @Override | ||||
|   protected ReactPackageTurboModuleManagerDelegate.Builder | ||||
|       getReactPackageTurboModuleManagerDelegateBuilder() { | ||||
|     // Here we provide the ReactPackageTurboModuleManagerDelegate Builder. This is necessary | ||||
|     // for the new architecture and to use TurboModules correctly. | ||||
|     return new MainApplicationTurboModuleManagerDelegate.Builder(); | ||||
|   } | ||||
|  | ||||
|   @Override | ||||
|   protected JSIModulePackage getJSIModulePackage() { | ||||
|     return new JSIModulePackage() { | ||||
|       @Override | ||||
|       public List<JSIModuleSpec> getJSIModules( | ||||
|           final ReactApplicationContext reactApplicationContext, | ||||
|           final JavaScriptContextHolder jsContext) { | ||||
|         final List<JSIModuleSpec> specs = new ArrayList<>(); | ||||
|  | ||||
|         // Here we provide a new JSIModuleSpec that will be responsible of providing the | ||||
|         // custom Fabric Components. | ||||
|         specs.add( | ||||
|             new JSIModuleSpec() { | ||||
|               @Override | ||||
|               public JSIModuleType getJSIModuleType() { | ||||
|                 return JSIModuleType.UIManager; | ||||
|               } | ||||
|  | ||||
|               @Override | ||||
|               public JSIModuleProvider<UIManager> getJSIModuleProvider() { | ||||
|                 final ComponentFactory componentFactory = new ComponentFactory(); | ||||
|                 CoreComponentsRegistry.register(componentFactory); | ||||
|  | ||||
|                 // Here we register a Components Registry. | ||||
|                 // The one that is generated with the template contains no components | ||||
|                 // and just provides you the one from React Native core. | ||||
|                 MainComponentsRegistry.register(componentFactory); | ||||
|  | ||||
|                 final ReactInstanceManager reactInstanceManager = getReactInstanceManager(); | ||||
|  | ||||
|                 ViewManagerRegistry viewManagerRegistry = | ||||
|                     new ViewManagerRegistry( | ||||
|                         reactInstanceManager.getOrCreateViewManagers(reactApplicationContext)); | ||||
|  | ||||
|                 return new FabricJSIModuleProvider( | ||||
|                     reactApplicationContext, | ||||
|                     componentFactory, | ||||
|                     ReactNativeConfig.DEFAULT_CONFIG, | ||||
|                     viewManagerRegistry); | ||||
|               } | ||||
|             }); | ||||
|         return specs; | ||||
|       } | ||||
|     }; | ||||
|   } | ||||
| } | ||||
| @@ -0,0 +1,36 @@ | ||||
| package com.awesomeproject.newarchitecture.components; | ||||
|  | ||||
| import com.facebook.jni.HybridData; | ||||
| import com.facebook.proguard.annotations.DoNotStrip; | ||||
| import com.facebook.react.fabric.ComponentFactory; | ||||
| import com.facebook.soloader.SoLoader; | ||||
|  | ||||
| /** | ||||
|  * Class responsible to load the custom Fabric Components. This class has native methods and needs a | ||||
|  * corresponding C++ implementation/header file to work correctly (already placed inside the jni/ | ||||
|  * folder for you). | ||||
|  * | ||||
|  * <p>Please note that this class is used ONLY if you opt-in for the New Architecture (see the | ||||
|  * `newArchEnabled` property). Is ignored otherwise. | ||||
|  */ | ||||
| @DoNotStrip | ||||
| public class MainComponentsRegistry { | ||||
|   static { | ||||
|     SoLoader.loadLibrary("fabricjni"); | ||||
|   } | ||||
|  | ||||
|   @DoNotStrip private final HybridData mHybridData; | ||||
|  | ||||
|   @DoNotStrip | ||||
|   private native HybridData initHybrid(ComponentFactory componentFactory); | ||||
|  | ||||
|   @DoNotStrip | ||||
|   private MainComponentsRegistry(ComponentFactory componentFactory) { | ||||
|     mHybridData = initHybrid(componentFactory); | ||||
|   } | ||||
|  | ||||
|   @DoNotStrip | ||||
|   public static MainComponentsRegistry register(ComponentFactory componentFactory) { | ||||
|     return new MainComponentsRegistry(componentFactory); | ||||
|   } | ||||
| } | ||||
| @@ -0,0 +1,48 @@ | ||||
| package com.awesomeproject.newarchitecture.modules; | ||||
|  | ||||
| import com.facebook.jni.HybridData; | ||||
| import com.facebook.react.ReactPackage; | ||||
| import com.facebook.react.ReactPackageTurboModuleManagerDelegate; | ||||
| import com.facebook.react.bridge.ReactApplicationContext; | ||||
| import com.facebook.soloader.SoLoader; | ||||
| import java.util.List; | ||||
|  | ||||
| /** | ||||
|  * Class responsible to load the TurboModules. This class has native methods and needs a | ||||
|  * corresponding C++ implementation/header file to work correctly (already placed inside the jni/ | ||||
|  * folder for you). | ||||
|  * | ||||
|  * <p>Please note that this class is used ONLY if you opt-in for the New Architecture (see the | ||||
|  * `newArchEnabled` property). Is ignored otherwise. | ||||
|  */ | ||||
| public class MainApplicationTurboModuleManagerDelegate | ||||
|     extends ReactPackageTurboModuleManagerDelegate { | ||||
|  | ||||
|   private static volatile boolean sIsSoLibraryLoaded; | ||||
|  | ||||
|   protected MainApplicationTurboModuleManagerDelegate( | ||||
|       ReactApplicationContext reactApplicationContext, List<ReactPackage> packages) { | ||||
|     super(reactApplicationContext, packages); | ||||
|   } | ||||
|  | ||||
|   protected native HybridData initHybrid(); | ||||
|  | ||||
|   native boolean canCreateTurboModule(String moduleName); | ||||
|  | ||||
|   public static class Builder extends ReactPackageTurboModuleManagerDelegate.Builder { | ||||
|     protected MainApplicationTurboModuleManagerDelegate build( | ||||
|         ReactApplicationContext context, List<ReactPackage> packages) { | ||||
|       return new MainApplicationTurboModuleManagerDelegate(context, packages); | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   @Override | ||||
|   protected synchronized void maybeLoadOtherSoLibraries() { | ||||
|     if (!sIsSoLibraryLoaded) { | ||||
|       // If you change the name of your application .so file in the Android.mk file, | ||||
|       // make sure you update the name here as well. | ||||
|       SoLoader.loadLibrary("awesomeproject_appmodules"); | ||||
|       sIsSoLibraryLoaded = true; | ||||
|     } | ||||
|   } | ||||
| } | ||||
| @@ -1,35 +0,0 @@ | ||||
| package com.testhotupdate; | ||||
|  | ||||
| import com.facebook.react.ReactActivity; | ||||
| import com.facebook.react.ReactActivityDelegate; | ||||
| import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint; | ||||
| import com.facebook.react.defaults.DefaultReactActivityDelegate; | ||||
|  | ||||
| public class MainActivity extends ReactActivity { | ||||
|  | ||||
|   /** | ||||
|    * Returns the name of the main component registered from JavaScript. This is used to schedule | ||||
|    * rendering of the component. | ||||
|    */ | ||||
|   @Override | ||||
|   protected String getMainComponentName() { | ||||
|     return "testHotupdate"; | ||||
|   } | ||||
|  | ||||
|   /** | ||||
|    * Returns the instance of the {@link ReactActivityDelegate}. Here we use a util class {@link | ||||
|    * DefaultReactActivityDelegate} which allows you to easily enable Fabric and Concurrent React | ||||
|    * (aka React 18) with two boolean flags. | ||||
|    */ | ||||
|   @Override | ||||
|   protected ReactActivityDelegate createReactActivityDelegate() { | ||||
|     return new DefaultReactActivityDelegate( | ||||
|         this, | ||||
|         getMainComponentName(), | ||||
|         // If you opted-in for the New Architecture, we enable the Fabric Renderer. | ||||
|         DefaultNewArchitectureEntryPoint.getFabricEnabled(), // fabricEnabled | ||||
|         // If you opted-in for the New Architecture, we enable Concurrent React (i.e. React 18). | ||||
|         DefaultNewArchitectureEntryPoint.getConcurrentReactEnabled() // concurrentRootEnabled | ||||
|         ); | ||||
|   } | ||||
| } | ||||
| @@ -1,68 +0,0 @@ | ||||
| package com.testhotupdate; | ||||
|  | ||||
| import android.app.Application; | ||||
| import com.facebook.react.PackageList; | ||||
| import com.facebook.react.ReactApplication; | ||||
| import com.facebook.react.ReactNativeHost; | ||||
| import com.facebook.react.ReactPackage; | ||||
| import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint; | ||||
| import com.facebook.react.defaults.DefaultReactNativeHost; | ||||
| import com.facebook.soloader.SoLoader; | ||||
| import java.util.List; | ||||
|  | ||||
| import cn.reactnative.modules.update.UpdateContext; | ||||
|  | ||||
| public class MainApplication extends Application implements ReactApplication { | ||||
|  | ||||
|   private final ReactNativeHost mReactNativeHost = | ||||
|       new DefaultReactNativeHost(this) { | ||||
|           @Override | ||||
|           protected String getJSBundleFile() { | ||||
|               return UpdateContext.getBundleUrl(MainApplication.this); | ||||
|           } | ||||
|         @Override | ||||
|         public boolean getUseDeveloperSupport() { | ||||
|           return BuildConfig.DEBUG; | ||||
|         } | ||||
|  | ||||
|         @Override | ||||
|         protected List<ReactPackage> getPackages() { | ||||
|           @SuppressWarnings("UnnecessaryLocalVariable") | ||||
|           List<ReactPackage> packages = new PackageList(this).getPackages(); | ||||
|           // Packages that cannot be autolinked yet can be added manually here, for example: | ||||
|           // packages.add(new MyReactNativePackage()); | ||||
|           return packages; | ||||
|         } | ||||
|  | ||||
|         @Override | ||||
|         protected String getJSMainModuleName() { | ||||
|           return "index"; | ||||
|         } | ||||
|  | ||||
|         @Override | ||||
|         protected boolean isNewArchEnabled() { | ||||
|           return BuildConfig.IS_NEW_ARCHITECTURE_ENABLED; | ||||
|         } | ||||
|  | ||||
|         @Override | ||||
|         protected Boolean isHermesEnabled() { | ||||
|           return BuildConfig.IS_HERMES_ENABLED; | ||||
|         } | ||||
|       }; | ||||
|  | ||||
|   @Override | ||||
|   public ReactNativeHost getReactNativeHost() { | ||||
|     return mReactNativeHost; | ||||
|   } | ||||
|  | ||||
|   @Override | ||||
|   public void onCreate() { | ||||
|     super.onCreate(); | ||||
|     SoLoader.init(this, /* native exopackage */ false); | ||||
|     if (BuildConfig.IS_NEW_ARCHITECTURE_ENABLED) { | ||||
|       // If you opted-in for the New Architecture, we load the native entry point for this app. | ||||
|       DefaultNewArchitectureEntryPoint.load(); | ||||
|     } | ||||
|     ReactNativeFlipper.initializeFlipper(this, getReactNativeHost().getReactInstanceManager()); | ||||
|   } | ||||
| } | ||||
							
								
								
									
										48
									
								
								Example/testHotUpdate/android/app/src/main/jni/Android.mk
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										48
									
								
								Example/testHotUpdate/android/app/src/main/jni/Android.mk
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,48 @@ | ||||
| THIS_DIR := $(call my-dir) | ||||
|  | ||||
| include $(REACT_ANDROID_DIR)/Android-prebuilt.mk | ||||
|  | ||||
| # If you wish to add a custom TurboModule or Fabric component in your app you | ||||
| # will have to include the following autogenerated makefile. | ||||
| # include $(GENERATED_SRC_DIR)/codegen/jni/Android.mk | ||||
| include $(CLEAR_VARS) | ||||
|  | ||||
| LOCAL_PATH := $(THIS_DIR) | ||||
|  | ||||
| # You can customize the name of your application .so file here. | ||||
| LOCAL_MODULE := awesomeproject_appmodules | ||||
|  | ||||
| LOCAL_C_INCLUDES := $(LOCAL_PATH) | ||||
| LOCAL_SRC_FILES := $(wildcard $(LOCAL_PATH)/*.cpp) | ||||
| LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH) | ||||
|  | ||||
| # If you wish to add a custom TurboModule or Fabric component in your app you | ||||
| # will have to uncomment those lines to include the generated source | ||||
| # files from the codegen (placed in $(GENERATED_SRC_DIR)/codegen/jni) | ||||
| # | ||||
| # LOCAL_C_INCLUDES += $(GENERATED_SRC_DIR)/codegen/jni | ||||
| # LOCAL_SRC_FILES += $(wildcard $(GENERATED_SRC_DIR)/codegen/jni/*.cpp) | ||||
| # LOCAL_EXPORT_C_INCLUDES += $(GENERATED_SRC_DIR)/codegen/jni | ||||
|  | ||||
| # Here you should add any native library you wish to depend on. | ||||
| LOCAL_SHARED_LIBRARIES := \ | ||||
|   libfabricjni \ | ||||
|   libfbjni \ | ||||
|   libfolly_runtime \ | ||||
|   libglog \ | ||||
|   libjsi \ | ||||
|   libreact_codegen_rncore \ | ||||
|   libreact_debug \ | ||||
|   libreact_nativemodule_core \ | ||||
|   libreact_render_componentregistry \ | ||||
|   libreact_render_core \ | ||||
|   libreact_render_debug \ | ||||
|   libreact_render_graphics \ | ||||
|   librrc_view \ | ||||
|   libruntimeexecutor \ | ||||
|   libturbomodulejsijni \ | ||||
|   libyoga | ||||
|  | ||||
| LOCAL_CFLAGS := -DLOG_TAG=\"ReactNative\" -fexceptions -frtti -std=c++17 -Wall | ||||
|  | ||||
| include $(BUILD_SHARED_LIBRARY) | ||||
| @@ -0,0 +1,24 @@ | ||||
| #include "MainApplicationModuleProvider.h" | ||||
|  | ||||
| #include <rncore.h> | ||||
|  | ||||
| namespace facebook { | ||||
| namespace react { | ||||
|  | ||||
| std::shared_ptr<TurboModule> MainApplicationModuleProvider( | ||||
|     const std::string moduleName, | ||||
|     const JavaTurboModule::InitParams ¶ms) { | ||||
|   // Here you can provide your own module provider for TurboModules coming from | ||||
|   // either your application or from external libraries. The approach to follow | ||||
|   // is similar to the following (for a library called `samplelibrary`: | ||||
|   // | ||||
|   // auto module = samplelibrary_ModuleProvider(moduleName, params); | ||||
|   // if (module != nullptr) { | ||||
|   //    return module; | ||||
|   // } | ||||
|   // return rncore_ModuleProvider(moduleName, params); | ||||
|   return rncore_ModuleProvider(moduleName, params); | ||||
| } | ||||
|  | ||||
| } // namespace react | ||||
| } // namespace facebook | ||||
| @@ -0,0 +1,16 @@ | ||||
| #pragma once | ||||
|  | ||||
| #include <memory> | ||||
| #include <string> | ||||
|  | ||||
| #include <ReactCommon/JavaTurboModule.h> | ||||
|  | ||||
| namespace facebook { | ||||
| namespace react { | ||||
|  | ||||
| std::shared_ptr<TurboModule> MainApplicationModuleProvider( | ||||
|     const std::string moduleName, | ||||
|     const JavaTurboModule::InitParams ¶ms); | ||||
|  | ||||
| } // namespace react | ||||
| } // namespace facebook | ||||
| @@ -0,0 +1,45 @@ | ||||
| #include "MainApplicationTurboModuleManagerDelegate.h" | ||||
| #include "MainApplicationModuleProvider.h" | ||||
|  | ||||
| namespace facebook { | ||||
| namespace react { | ||||
|  | ||||
| jni::local_ref<MainApplicationTurboModuleManagerDelegate::jhybriddata> | ||||
| MainApplicationTurboModuleManagerDelegate::initHybrid( | ||||
|     jni::alias_ref<jhybridobject>) { | ||||
|   return makeCxxInstance(); | ||||
| } | ||||
|  | ||||
| void MainApplicationTurboModuleManagerDelegate::registerNatives() { | ||||
|   registerHybrid({ | ||||
|       makeNativeMethod( | ||||
|           "initHybrid", MainApplicationTurboModuleManagerDelegate::initHybrid), | ||||
|       makeNativeMethod( | ||||
|           "canCreateTurboModule", | ||||
|           MainApplicationTurboModuleManagerDelegate::canCreateTurboModule), | ||||
|   }); | ||||
| } | ||||
|  | ||||
| std::shared_ptr<TurboModule> | ||||
| MainApplicationTurboModuleManagerDelegate::getTurboModule( | ||||
|     const std::string name, | ||||
|     const std::shared_ptr<CallInvoker> jsInvoker) { | ||||
|   // Not implemented yet: provide pure-C++ NativeModules here. | ||||
|   return nullptr; | ||||
| } | ||||
|  | ||||
| std::shared_ptr<TurboModule> | ||||
| MainApplicationTurboModuleManagerDelegate::getTurboModule( | ||||
|     const std::string name, | ||||
|     const JavaTurboModule::InitParams ¶ms) { | ||||
|   return MainApplicationModuleProvider(name, params); | ||||
| } | ||||
|  | ||||
| bool MainApplicationTurboModuleManagerDelegate::canCreateTurboModule( | ||||
|     std::string name) { | ||||
|   return getTurboModule(name, nullptr) != nullptr || | ||||
|       getTurboModule(name, {.moduleName = name}) != nullptr; | ||||
| } | ||||
|  | ||||
| } // namespace react | ||||
| } // namespace facebook | ||||
| @@ -0,0 +1,38 @@ | ||||
| #include <memory> | ||||
| #include <string> | ||||
|  | ||||
| #include <ReactCommon/TurboModuleManagerDelegate.h> | ||||
| #include <fbjni/fbjni.h> | ||||
|  | ||||
| namespace facebook { | ||||
| namespace react { | ||||
|  | ||||
| class MainApplicationTurboModuleManagerDelegate | ||||
|     : public jni::HybridClass< | ||||
|           MainApplicationTurboModuleManagerDelegate, | ||||
|           TurboModuleManagerDelegate> { | ||||
|  public: | ||||
|   // Adapt it to the package you used for your Java class. | ||||
|   static constexpr auto kJavaDescriptor = | ||||
|       "Lcom/awesomeproject/newarchitecture/modules/MainApplicationTurboModuleManagerDelegate;"; | ||||
|  | ||||
|   static jni::local_ref<jhybriddata> initHybrid(jni::alias_ref<jhybridobject>); | ||||
|  | ||||
|   static void registerNatives(); | ||||
|  | ||||
|   std::shared_ptr<TurboModule> getTurboModule( | ||||
|       const std::string name, | ||||
|       const std::shared_ptr<CallInvoker> jsInvoker) override; | ||||
|   std::shared_ptr<TurboModule> getTurboModule( | ||||
|       const std::string name, | ||||
|       const JavaTurboModule::InitParams ¶ms) override; | ||||
|  | ||||
|   /** | ||||
|    * Test-only method. Allows user to verify whether a TurboModule can be | ||||
|    * created by instances of this class. | ||||
|    */ | ||||
|   bool canCreateTurboModule(std::string name); | ||||
| }; | ||||
|  | ||||
| } // namespace react | ||||
| } // namespace facebook | ||||
| @@ -0,0 +1,61 @@ | ||||
| #include "MainComponentsRegistry.h" | ||||
|  | ||||
| #include <CoreComponentsRegistry.h> | ||||
| #include <fbjni/fbjni.h> | ||||
| #include <react/renderer/componentregistry/ComponentDescriptorProviderRegistry.h> | ||||
| #include <react/renderer/components/rncore/ComponentDescriptors.h> | ||||
|  | ||||
| namespace facebook { | ||||
| namespace react { | ||||
|  | ||||
| MainComponentsRegistry::MainComponentsRegistry(ComponentFactory *delegate) {} | ||||
|  | ||||
| std::shared_ptr<ComponentDescriptorProviderRegistry const> | ||||
| MainComponentsRegistry::sharedProviderRegistry() { | ||||
|   auto providerRegistry = CoreComponentsRegistry::sharedProviderRegistry(); | ||||
|  | ||||
|   // Custom Fabric Components go here. You can register custom | ||||
|   // components coming from your App or from 3rd party libraries here. | ||||
|   // | ||||
|   // providerRegistry->add(concreteComponentDescriptorProvider< | ||||
|   //        AocViewerComponentDescriptor>()); | ||||
|   return providerRegistry; | ||||
| } | ||||
|  | ||||
| jni::local_ref<MainComponentsRegistry::jhybriddata> | ||||
| MainComponentsRegistry::initHybrid( | ||||
|     jni::alias_ref<jclass>, | ||||
|     ComponentFactory *delegate) { | ||||
|   auto instance = makeCxxInstance(delegate); | ||||
|  | ||||
|   auto buildRegistryFunction = | ||||
|       [](EventDispatcher::Weak const &eventDispatcher, | ||||
|          ContextContainer::Shared const &contextContainer) | ||||
|       -> ComponentDescriptorRegistry::Shared { | ||||
|     auto registry = MainComponentsRegistry::sharedProviderRegistry() | ||||
|                         ->createComponentDescriptorRegistry( | ||||
|                             {eventDispatcher, contextContainer}); | ||||
|  | ||||
|     auto mutableRegistry = | ||||
|         std::const_pointer_cast<ComponentDescriptorRegistry>(registry); | ||||
|  | ||||
|     mutableRegistry->setFallbackComponentDescriptor( | ||||
|         std::make_shared<UnimplementedNativeViewComponentDescriptor>( | ||||
|             ComponentDescriptorParameters{ | ||||
|                 eventDispatcher, contextContainer, nullptr})); | ||||
|  | ||||
|     return registry; | ||||
|   }; | ||||
|  | ||||
|   delegate->buildRegistryFunction = buildRegistryFunction; | ||||
|   return instance; | ||||
| } | ||||
|  | ||||
| void MainComponentsRegistry::registerNatives() { | ||||
|   registerHybrid({ | ||||
|       makeNativeMethod("initHybrid", MainComponentsRegistry::initHybrid), | ||||
|   }); | ||||
| } | ||||
|  | ||||
| } // namespace react | ||||
| } // namespace facebook | ||||
| @@ -0,0 +1,32 @@ | ||||
| #pragma once | ||||
|  | ||||
| #include <ComponentFactory.h> | ||||
| #include <fbjni/fbjni.h> | ||||
| #include <react/renderer/componentregistry/ComponentDescriptorProviderRegistry.h> | ||||
| #include <react/renderer/componentregistry/ComponentDescriptorRegistry.h> | ||||
|  | ||||
| namespace facebook { | ||||
| namespace react { | ||||
|  | ||||
| class MainComponentsRegistry | ||||
|     : public facebook::jni::HybridClass<MainComponentsRegistry> { | ||||
|  public: | ||||
|   // Adapt it to the package you used for your Java class. | ||||
|   constexpr static auto kJavaDescriptor = | ||||
|       "Lcom/awesomeproject/newarchitecture/components/MainComponentsRegistry;"; | ||||
|  | ||||
|   static void registerNatives(); | ||||
|  | ||||
|   MainComponentsRegistry(ComponentFactory *delegate); | ||||
|  | ||||
|  private: | ||||
|   static std::shared_ptr<ComponentDescriptorProviderRegistry const> | ||||
|   sharedProviderRegistry(); | ||||
|  | ||||
|   static jni::local_ref<jhybriddata> initHybrid( | ||||
|       jni::alias_ref<jclass>, | ||||
|       ComponentFactory *delegate); | ||||
| }; | ||||
|  | ||||
| } // namespace react | ||||
| } // namespace facebook | ||||
							
								
								
									
										11
									
								
								Example/testHotUpdate/android/app/src/main/jni/OnLoad.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								Example/testHotUpdate/android/app/src/main/jni/OnLoad.cpp
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,11 @@ | ||||
| #include <fbjni/fbjni.h> | ||||
| #include "MainApplicationTurboModuleManagerDelegate.h" | ||||
| #include "MainComponentsRegistry.h" | ||||
|  | ||||
| JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *vm, void *) { | ||||
|   return facebook::jni::initialize(vm, [] { | ||||
|     facebook::react::MainApplicationTurboModuleManagerDelegate:: | ||||
|         registerNatives(); | ||||
|     facebook::react::MainComponentsRegistry::registerNatives(); | ||||
|   }); | ||||
| } | ||||
| @@ -1,3 +1,3 @@ | ||||
| <resources> | ||||
|     <string name="app_name">testHotupdate</string> | ||||
|     <string name="app_name">AwesomeProject</string> | ||||
| </resources> | ||||
|   | ||||
| @@ -0,0 +1,8 @@ | ||||
| <?xml version="1.0" encoding="utf-8"?> | ||||
| <network-security-config> | ||||
|     <domain-config cleartextTrafficPermitted="true"> | ||||
|         <domain includeSubdomains="true">10.0.2.2</domain> | ||||
|         <domain includeSubdomains="true">localhost</domain> | ||||
|         <domain includeSubdomains="true">cos.pgyer.com</domain> | ||||
|     </domain-config> | ||||
| </network-security-config> | ||||
| @@ -1,20 +0,0 @@ | ||||
| /** | ||||
|  * Copyright (c) Meta Platforms, Inc. and affiliates. | ||||
|  * | ||||
|  * <p>This source code is licensed under the MIT license found in the LICENSE file in the root | ||||
|  * directory of this source tree. | ||||
|  */ | ||||
| package com.testhotupdate; | ||||
|  | ||||
| import android.content.Context; | ||||
| import com.facebook.react.ReactInstanceManager; | ||||
|  | ||||
| /** | ||||
|  * Class responsible of loading Flipper inside your React Native application. This is the release | ||||
|  * flavor of it so it's empty as we don't want to load Flipper. | ||||
|  */ | ||||
| public class ReactNativeFlipper { | ||||
|   public static void initializeFlipper(Context context, ReactInstanceManager reactInstanceManager) { | ||||
|     // Do nothing as we don't want to initialize Flipper on Release. | ||||
|   } | ||||
| } | ||||
| @@ -1,21 +1,58 @@ | ||||
| import org.apache.tools.ant.taskdefs.condition.Os | ||||
|  | ||||
| // Top-level build file where you can add configuration options common to all sub-projects/modules. | ||||
|  | ||||
| buildscript { | ||||
|     ext { | ||||
|         buildToolsVersion = "33.0.0" | ||||
|         buildToolsVersion = "31.0.0" | ||||
|         minSdkVersion = 21 | ||||
|         compileSdkVersion = 33 | ||||
|         targetSdkVersion = 33 | ||||
|         compileSdkVersion = 31 | ||||
|         targetSdkVersion = 31 | ||||
|         kotlinVersion = '1.7.10' | ||||
|  | ||||
|         // We use NDK 23 which has both M1 support and is the side-by-side NDK version from AGP. | ||||
|         ndkVersion = "23.1.7779620" | ||||
|         if (System.properties['os.arch'] == "aarch64") { | ||||
|             // For M1 Users we need to use the NDK 24 which added support for aarch64 | ||||
|             ndkVersion = "24.0.8215888" | ||||
|         } else { | ||||
|             // Otherwise we default to the side-by-side NDK version from AGP. | ||||
|             ndkVersion = "21.4.7075529" | ||||
|         } | ||||
|     } | ||||
|     repositories { | ||||
|         google() | ||||
|         mavenCentral() | ||||
|     } | ||||
|     dependencies { | ||||
|         classpath("com.android.tools.build:gradle:7.3.1") | ||||
|         classpath("com.android.tools.build:gradle:7.1.1") | ||||
|         classpath("com.facebook.react:react-native-gradle-plugin") | ||||
|         classpath("de.undercouch:gradle-download-task:5.0.1") | ||||
|         // NOTE: Do not place your application dependencies here; they belong | ||||
|         // in the individual module build.gradle files | ||||
|         classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion") | ||||
|     } | ||||
| } | ||||
|  | ||||
| allprojects { | ||||
|     repositories { | ||||
|         maven { | ||||
|             // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm | ||||
|             url("$rootDir/../node_modules/react-native/android") | ||||
|         } | ||||
|         maven { | ||||
|             // Android JSC is installed from npm | ||||
|             url("$rootDir/../node_modules/jsc-android/dist") | ||||
|         } | ||||
|         mavenCentral { | ||||
|             // We don't want to fetch react-native from Maven Central as there are | ||||
|             // older versions over there. | ||||
|             content { | ||||
|                 excludeGroup "com.facebook.react" | ||||
|             } | ||||
|         } | ||||
|         google() | ||||
|         maven { | ||||
|             url("$rootDir/../node_modules/detox/Detox-android") | ||||
|         } | ||||
|         maven { url 'https://www.jitpack.io' } | ||||
|     } | ||||
| } | ||||
|   | ||||
| @@ -38,7 +38,3 @@ reactNativeArchitectures=armeabi-v7a,arm64-v8a,x86,x86_64 | ||||
| # to write custom TurboModules/Fabric components OR use libraries that | ||||
| # are providing them. | ||||
| newArchEnabled=false | ||||
|  | ||||
| # Use this property to enable or disable the Hermes JS engine. | ||||
| # If set to false, you will be using JSC instead. | ||||
| hermesEnabled=true | ||||
										
											Binary file not shown.
										
									
								
							| @@ -1,5 +1,5 @@ | ||||
| distributionBase=GRADLE_USER_HOME | ||||
| distributionPath=wrapper/dists | ||||
| distributionUrl=https\://services.gradle.org/distributions/gradle-7.5.1-all.zip | ||||
| distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.3-all.zip | ||||
| zipStoreBase=GRADLE_USER_HOME | ||||
| zipStorePath=wrapper/dists | ||||
|   | ||||
| @@ -1,4 +1,11 @@ | ||||
| rootProject.name = 'testHotupdate' | ||||
| rootProject.name = 'AwesomeProject' | ||||
| apply from: file("../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesSettingsGradle(settings) | ||||
| include ':app' | ||||
| includeBuild('../node_modules/react-native-gradle-plugin') | ||||
|  | ||||
| if (settings.hasProperty("newArchEnabled") && settings.newArchEnabled == "true") { | ||||
|     include(":ReactAndroid") | ||||
|     project(":ReactAndroid").projectDir = file('../node_modules/react-native/ReactAndroid') | ||||
|     include(":ReactAndroid:hermes-engine") | ||||
|     project(":ReactAndroid:hermes-engine").projectDir = file('../node_modules/react-native/ReactAndroid/hermes-engine') | ||||
| } | ||||
|   | ||||
| @@ -1,4 +1,4 @@ | ||||
| { | ||||
|   "name": "testHotupdate", | ||||
|   "displayName": "testHotupdate" | ||||
|   "name": "AwesomeProject", | ||||
|   "displayName": "AwesomeProject" | ||||
| } | ||||
| @@ -0,0 +1,29 @@ | ||||
| {"name":"detox","hostname":"MacBook-Pro.local","pid":83339,"level":10,"cat":"lifecycle","ph":"B","tid":0,"cwd":"/Users/arvinh/Desktop/wooza/react-native-pushy/Example/testHotUpdate","data":{"id":"cf35f38f-f35b-6c2b-412c-d8942bb92b27","detoxConfig":{"configurationName":"android.emu.debug","apps":{"default":{"type":"android.apk","binaryPath":"android/app/build/outputs/apk/debug/app-debug.apk","build":"cd android && ./gradlew assembleDebug assembleAndroidTest -DtestBuildType=debug","reversePorts":[8081]}},"artifacts":{"rootDir":"artifacts/android.emu.debug.2023-04-01 15-30-12Z","plugins":{"log":{"enabled":true,"keepOnlyFailedTestsArtifacts":false},"screenshot":{"enabled":true,"shouldTakeAutomaticSnapshots":false,"keepOnlyFailedTestsArtifacts":false},"video":{"enabled":false,"keepOnlyFailedTestsArtifacts":false},"instruments":{"enabled":false,"keepOnlyFailedTestsArtifacts":false},"uiHierarchy":{"enabled":false,"keepOnlyFailedTestsArtifacts":false}}},"behavior":{"init":{"keepLockFile":false,"reinstallApp":true,"exposeGlobals":true},"cleanup":{"shutdownDevice":false},"launchApp":"auto"},"cli":{"recordLogs":"all","configuration":"android.emu.debug","headless":true,"start":true},"device":{"type":"android.emulator","device":{"avdName":"Pixel_3a_API_33_arm64-v8a"},"headless":true},"logger":{"level":"info","overrideConsole":true,"options":{"showLoggerName":true,"showPid":true,"showLevel":false,"showMetadata":false,"basepath":"/Users/arvinh/Desktop/wooza/react-native-pushy/node_modules/detox/src","prefixers":{},"stringifiers":{}}},"testRunner":{"retries":0,"forwardEnv":false,"bail":false,"jest":{"setupTimeout":120000,"teardownTimeout":30000,"retryAfterCircusRetries":false,"reportWorkerAssign":true},"args":{"$0":"jest","_":[],"config":"e2e/jest.config.js","--":[]}},"session":{"autoStart":true,"debugSynchronization":10000}},"detoxIPCServer":"primary-83339","testResults":[],"testSessionIndex":0,"workersCount":0},"msg":"../../node_modules/.bin/detox test --configuration android.emu.debug --headless --record-logs all","time":"2023-04-01T15:30:12.537Z","v":0} | ||||
| {"name":"detox","hostname":"MacBook-Pro.local","pid":83339,"level":10,"cat":"ipc,ipc-server","ph":"i","tid":0,"msg":"Server path not specified, so defaulting to ipc.config.socketRoot + ipc.config.appspace + ipc.config.id /tmp/detox.primary-83339","time":"2023-04-01T15:30:12.542Z","v":0} | ||||
| {"name":"detox","hostname":"MacBook-Pro.local","pid":83339,"level":10,"cat":"ipc,ipc-server","ph":"i","tid":0,"msg":"starting server on  /tmp/detox.primary-83339 ","time":"2023-04-01T15:30:12.543Z","v":0} | ||||
| {"name":"detox","hostname":"MacBook-Pro.local","pid":83339,"level":10,"cat":"ipc,ipc-server","ph":"i","tid":0,"msg":"starting TLS server false","time":"2023-04-01T15:30:12.543Z","v":0} | ||||
| {"name":"detox","hostname":"MacBook-Pro.local","pid":83339,"level":10,"cat":"ipc,ipc-server","ph":"i","tid":0,"msg":"starting server as Unix || Windows Socket","time":"2023-04-01T15:30:12.543Z","v":0} | ||||
| {"name":"detox","hostname":"MacBook-Pro.local","pid":83339,"level":20,"cat":"ws-server,ws","ph":"i","tid":0,"msg":"Detox server listening on localhost:55002...","time":"2023-04-01T15:30:12.549Z","v":0} | ||||
| {"name":"detox","hostname":"MacBook-Pro.local","pid":83339,"level":10,"cat":"lifecycle","ph":"i","tid":0,"msg":"Serialized the session state at: /private/var/folders/wm/91840x650t10w1m7sq830mp80000gn/T/cf35f38f-f35b-6c2b-412c-d8942bb92b27.detox.json","time":"2023-04-01T15:30:12.550Z","v":0} | ||||
| {"name":"detox","hostname":"MacBook-Pro.local","pid":83339,"level":30,"cat":"lifecycle,cli","ph":"B","tid":0,"env":{},"msg":"jest --config e2e/jest.config.js","time":"2023-04-01T15:30:12.551Z","v":0} | ||||
| {"name":"detox","hostname":"MacBook-Pro.local","pid":83339,"level":10,"cat":"ipc,ipc-server","ph":"i","tid":0,"msg":"## socket connection to server detected ##","time":"2023-04-01T15:30:14.526Z","v":0} | ||||
| {"name":"detox","hostname":"MacBook-Pro.local","pid":83339,"level":10,"cat":"ipc,ipc-server","ph":"i","tid":0,"msg":"received event of :  registerContext { id: \u001b[32m'secondary-83344'\u001b[39m }","time":"2023-04-01T15:30:14.528Z","v":0} | ||||
| {"name":"detox","hostname":"MacBook-Pro.local","pid":83339,"level":10,"cat":"ipc,ipc-server","ph":"i","tid":0,"msg":"dispatching event to socket  :  registerContextDone { testResults: [], testSessionIndex: \u001b[33m0\u001b[39m }","time":"2023-04-01T15:30:14.528Z","v":0} | ||||
| {"name":"detox","hostname":"MacBook-Pro.local","pid":83339,"level":10,"cat":"ipc,ipc-server","ph":"i","tid":0,"msg":"received event of :  registerWorker { workerId: \u001b[32m'w1'\u001b[39m }","time":"2023-04-01T15:30:14.576Z","v":0} | ||||
| {"name":"detox","hostname":"MacBook-Pro.local","pid":83339,"level":10,"cat":"ipc,ipc-server","ph":"i","tid":0,"msg":"dispatching event to socket  :  registerWorkerDone { workersCount: \u001b[33m1\u001b[39m }","time":"2023-04-01T15:30:14.576Z","v":0} | ||||
| {"name":"detox","hostname":"MacBook-Pro.local","pid":83339,"level":10,"cat":"ipc,ipc-server","ph":"i","tid":0,"msg":"broadcasting event to all known sockets listening to  /tmp/detox.primary-83339  :   sessionStateUpdate { workersCount: \u001b[33m1\u001b[39m }","time":"2023-04-01T15:30:14.576Z","v":0} | ||||
| {"name":"detox","hostname":"MacBook-Pro.local","pid":83339,"level":20,"cat":"ws-server,ws","ph":"B","tid":0,"id":55009,"msg":"connection :55002<->:55009","time":"2023-04-01T15:30:14.659Z","v":0} | ||||
| {"name":"detox","hostname":"MacBook-Pro.local","pid":83339,"level":10,"cat":"ws-server,ws","ph":"i","tid":0,"id":55009,"data":"{\"type\":\"login\",\"params\":{\"sessionId\":\"911a46af-75be-6237-d296-b945b323abb2\",\"role\":\"tester\"},\"messageId\":0}","msg":"get","time":"2023-04-01T15:30:14.662Z","v":0} | ||||
| {"name":"detox","hostname":"MacBook-Pro.local","pid":83339,"level":10,"cat":"ws-server,ws-session","ph":"i","tid":1,"msg":"created session 911a46af-75be-6237-d296-b945b323abb2","time":"2023-04-01T15:30:14.662Z","v":0} | ||||
| {"name":"detox","hostname":"MacBook-Pro.local","pid":83339,"level":10,"cat":"ws-server,ws","ph":"i","tid":0,"id":55009,"trackingId":"tester","sessionId":"911a46af-75be-6237-d296-b945b323abb2","role":"tester","data":{"type":"loginSuccess","params":{"testerConnected":true,"appConnected":false},"messageId":0},"msg":"send","time":"2023-04-01T15:30:14.662Z","v":0} | ||||
| {"name":"detox","hostname":"MacBook-Pro.local","pid":83339,"level":10,"cat":"ws-server,ws-session","ph":"i","tid":1,"msg":"tester joined session 911a46af-75be-6237-d296-b945b323abb2","time":"2023-04-01T15:30:14.663Z","v":0} | ||||
| {"name":"detox","hostname":"MacBook-Pro.local","pid":83339,"level":20,"cat":"ws-server,ws","ph":"B","tid":1,"id":55134,"msg":"connection :55002<->:55134","time":"2023-04-01T15:30:20.151Z","v":0} | ||||
| {"name":"detox","hostname":"MacBook-Pro.local","pid":83339,"level":10,"cat":"ws-server,ws","ph":"i","tid":1,"id":55134,"data":"{\"messageId\":0,\"type\":\"login\",\"params\":{\"role\":\"app\",\"sessionId\":\"911a46af-75be-6237-d296-b945b323abb2\"}}","msg":"get","time":"2023-04-01T15:30:20.161Z","v":0} | ||||
| {"name":"detox","hostname":"MacBook-Pro.local","pid":83339,"level":10,"cat":"ws-server,ws","ph":"i","tid":1,"id":55134,"trackingId":"app","sessionId":"911a46af-75be-6237-d296-b945b323abb2","role":"app","data":{"messageId":0,"type":"loginSuccess","params":{"testerConnected":true,"appConnected":true}},"msg":"send","time":"2023-04-01T15:30:20.161Z","v":0} | ||||
| {"name":"detox","hostname":"MacBook-Pro.local","pid":83339,"level":10,"cat":"ws-server,ws-session","ph":"i","tid":2,"msg":"app joined session 911a46af-75be-6237-d296-b945b323abb2","time":"2023-04-01T15:30:20.161Z","v":0} | ||||
| {"name":"detox","hostname":"MacBook-Pro.local","pid":83339,"level":10,"cat":"ws-server,ws","ph":"i","tid":0,"id":55009,"trackingId":"tester","sessionId":"911a46af-75be-6237-d296-b945b323abb2","role":"tester","data":{"type":"appConnected"},"msg":"send","time":"2023-04-01T15:30:20.161Z","v":0} | ||||
| {"name":"detox","hostname":"MacBook-Pro.local","pid":83339,"level":10,"cat":"ws-server,ws","ph":"i","tid":0,"id":55009,"trackingId":"tester","sessionId":"911a46af-75be-6237-d296-b945b323abb2","role":"tester","data":"{\"type\":\"isReady\",\"params\":{},\"messageId\":-1000}","msg":"get","time":"2023-04-01T15:30:20.163Z","v":0} | ||||
| {"name":"detox","hostname":"MacBook-Pro.local","pid":83339,"level":10,"cat":"ws-server,ws","ph":"i","tid":1,"id":55134,"trackingId":"app","sessionId":"911a46af-75be-6237-d296-b945b323abb2","role":"app","data":{"type":"isReady","params":{},"messageId":-1000},"msg":"send","time":"2023-04-01T15:30:20.163Z","v":0} | ||||
| {"name":"detox","hostname":"MacBook-Pro.local","pid":83339,"level":10,"cat":"ws-server,ws","ph":"i","tid":0,"id":55009,"trackingId":"tester","sessionId":"911a46af-75be-6237-d296-b945b323abb2","role":"tester","data":"{\"type\":\"currentStatus\",\"params\":{},\"messageId\":1}","msg":"get","time":"2023-04-01T15:30:30.164Z","v":0} | ||||
| {"name":"detox","hostname":"MacBook-Pro.local","pid":83339,"level":10,"cat":"ws-server,ws","ph":"i","tid":1,"id":55134,"trackingId":"app","sessionId":"911a46af-75be-6237-d296-b945b323abb2","role":"app","data":{"type":"currentStatus","params":{},"messageId":1},"msg":"send","time":"2023-04-01T15:30:30.165Z","v":0} | ||||
| {"name":"detox","hostname":"MacBook-Pro.local","pid":83339,"level":10,"cat":"lifecycle","ph":"E","tid":0,"abortSignal":"SIGINT","msg":"jest --config e2e/jest.config.js","time":"2023-04-01T15:32:05.663Z","v":0} | ||||
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							| @@ -0,0 +1,29 @@ | ||||
| {"name":"detox","hostname":"MacBook-Pro.local","pid":95956,"level":10,"cat":"lifecycle","ph":"B","tid":0,"cwd":"/Users/arvinh/Desktop/wooza/react-native-pushy/Example/testHotUpdate","data":{"id":"d04386f3-e94c-894f-8d25-1193249ad5cf","detoxConfig":{"configurationName":"android.emu.debug","apps":{"default":{"type":"android.apk","binaryPath":"android/app/build/outputs/apk/debug/app-debug.apk","build":"cd android && ./gradlew assembleDebug assembleAndroidTest -DtestBuildType=debug","reversePorts":[8081]}},"artifacts":{"rootDir":"artifacts/android.emu.debug.2023-04-01 15-32-08Z","plugins":{"log":{"enabled":true,"keepOnlyFailedTestsArtifacts":false},"screenshot":{"enabled":true,"shouldTakeAutomaticSnapshots":false,"keepOnlyFailedTestsArtifacts":false},"video":{"enabled":false,"keepOnlyFailedTestsArtifacts":false},"instruments":{"enabled":false,"keepOnlyFailedTestsArtifacts":false},"uiHierarchy":{"enabled":false,"keepOnlyFailedTestsArtifacts":false}}},"behavior":{"init":{"keepLockFile":false,"reinstallApp":true,"exposeGlobals":true},"cleanup":{"shutdownDevice":false},"launchApp":"auto"},"cli":{"recordLogs":"all","configuration":"android.emu.debug","headless":true,"start":true},"device":{"type":"android.emulator","device":{"avdName":"Pixel_3a_API_33_arm64-v8a"},"headless":true},"logger":{"level":"info","overrideConsole":true,"options":{"showLoggerName":true,"showPid":true,"showLevel":false,"showMetadata":false,"basepath":"/Users/arvinh/Desktop/wooza/react-native-pushy/node_modules/detox/src","prefixers":{},"stringifiers":{}}},"testRunner":{"retries":0,"forwardEnv":false,"bail":false,"jest":{"setupTimeout":120000,"teardownTimeout":30000,"retryAfterCircusRetries":false,"reportWorkerAssign":true},"args":{"$0":"jest","_":[],"config":"e2e/jest.config.js","--":[]}},"session":{"autoStart":true,"debugSynchronization":10000}},"detoxIPCServer":"primary-95956","testResults":[],"testSessionIndex":0,"workersCount":0},"msg":"../../node_modules/.bin/detox test --configuration android.emu.debug --headless --record-logs all","time":"2023-04-01T15:32:08.091Z","v":0} | ||||
| {"name":"detox","hostname":"MacBook-Pro.local","pid":95956,"level":10,"cat":"ipc,ipc-server","ph":"i","tid":0,"msg":"Server path not specified, so defaulting to ipc.config.socketRoot + ipc.config.appspace + ipc.config.id /tmp/detox.primary-95956","time":"2023-04-01T15:32:08.095Z","v":0} | ||||
| {"name":"detox","hostname":"MacBook-Pro.local","pid":95956,"level":10,"cat":"ipc,ipc-server","ph":"i","tid":0,"msg":"starting server on  /tmp/detox.primary-95956 ","time":"2023-04-01T15:32:08.096Z","v":0} | ||||
| {"name":"detox","hostname":"MacBook-Pro.local","pid":95956,"level":10,"cat":"ipc,ipc-server","ph":"i","tid":0,"msg":"starting TLS server false","time":"2023-04-01T15:32:08.096Z","v":0} | ||||
| {"name":"detox","hostname":"MacBook-Pro.local","pid":95956,"level":10,"cat":"ipc,ipc-server","ph":"i","tid":0,"msg":"starting server as Unix || Windows Socket","time":"2023-04-01T15:32:08.096Z","v":0} | ||||
| {"name":"detox","hostname":"MacBook-Pro.local","pid":95956,"level":20,"cat":"ws-server,ws","ph":"i","tid":0,"msg":"Detox server listening on localhost:55591...","time":"2023-04-01T15:32:08.101Z","v":0} | ||||
| {"name":"detox","hostname":"MacBook-Pro.local","pid":95956,"level":10,"cat":"lifecycle","ph":"i","tid":0,"msg":"Serialized the session state at: /private/var/folders/wm/91840x650t10w1m7sq830mp80000gn/T/d04386f3-e94c-894f-8d25-1193249ad5cf.detox.json","time":"2023-04-01T15:32:08.102Z","v":0} | ||||
| {"name":"detox","hostname":"MacBook-Pro.local","pid":95956,"level":30,"cat":"lifecycle,cli","ph":"B","tid":0,"env":{},"msg":"jest --config e2e/jest.config.js","time":"2023-04-01T15:32:08.103Z","v":0} | ||||
| {"name":"detox","hostname":"MacBook-Pro.local","pid":95956,"level":10,"cat":"ipc,ipc-server","ph":"i","tid":0,"msg":"## socket connection to server detected ##","time":"2023-04-01T15:32:09.118Z","v":0} | ||||
| {"name":"detox","hostname":"MacBook-Pro.local","pid":95956,"level":10,"cat":"ipc,ipc-server","ph":"i","tid":0,"msg":"received event of :  registerContext { id: \u001b[32m'secondary-95963'\u001b[39m }","time":"2023-04-01T15:32:09.120Z","v":0} | ||||
| {"name":"detox","hostname":"MacBook-Pro.local","pid":95956,"level":10,"cat":"ipc,ipc-server","ph":"i","tid":0,"msg":"dispatching event to socket  :  registerContextDone { testResults: [], testSessionIndex: \u001b[33m0\u001b[39m }","time":"2023-04-01T15:32:09.120Z","v":0} | ||||
| {"name":"detox","hostname":"MacBook-Pro.local","pid":95956,"level":10,"cat":"ipc,ipc-server","ph":"i","tid":0,"msg":"received event of :  registerWorker { workerId: \u001b[32m'w1'\u001b[39m }","time":"2023-04-01T15:32:09.177Z","v":0} | ||||
| {"name":"detox","hostname":"MacBook-Pro.local","pid":95956,"level":10,"cat":"ipc,ipc-server","ph":"i","tid":0,"msg":"dispatching event to socket  :  registerWorkerDone { workersCount: \u001b[33m1\u001b[39m }","time":"2023-04-01T15:32:09.177Z","v":0} | ||||
| {"name":"detox","hostname":"MacBook-Pro.local","pid":95956,"level":10,"cat":"ipc,ipc-server","ph":"i","tid":0,"msg":"broadcasting event to all known sockets listening to  /tmp/detox.primary-95956  :   sessionStateUpdate { workersCount: \u001b[33m1\u001b[39m }","time":"2023-04-01T15:32:09.177Z","v":0} | ||||
| {"name":"detox","hostname":"MacBook-Pro.local","pid":95956,"level":20,"cat":"ws-server,ws","ph":"B","tid":0,"id":55598,"msg":"connection :55591<->:55598","time":"2023-04-01T15:32:09.265Z","v":0} | ||||
| {"name":"detox","hostname":"MacBook-Pro.local","pid":95956,"level":10,"cat":"ws-server,ws","ph":"i","tid":0,"id":55598,"data":"{\"type\":\"login\",\"params\":{\"sessionId\":\"e5928eb2-642b-d685-dc0d-c06c4bbc6df3\",\"role\":\"tester\"},\"messageId\":0}","msg":"get","time":"2023-04-01T15:32:09.268Z","v":0} | ||||
| {"name":"detox","hostname":"MacBook-Pro.local","pid":95956,"level":10,"cat":"ws-server,ws-session","ph":"i","tid":1,"msg":"created session e5928eb2-642b-d685-dc0d-c06c4bbc6df3","time":"2023-04-01T15:32:09.268Z","v":0} | ||||
| {"name":"detox","hostname":"MacBook-Pro.local","pid":95956,"level":10,"cat":"ws-server,ws","ph":"i","tid":0,"id":55598,"trackingId":"tester","sessionId":"e5928eb2-642b-d685-dc0d-c06c4bbc6df3","role":"tester","data":{"type":"loginSuccess","params":{"testerConnected":true,"appConnected":false},"messageId":0},"msg":"send","time":"2023-04-01T15:32:09.268Z","v":0} | ||||
| {"name":"detox","hostname":"MacBook-Pro.local","pid":95956,"level":10,"cat":"ws-server,ws-session","ph":"i","tid":1,"msg":"tester joined session e5928eb2-642b-d685-dc0d-c06c4bbc6df3","time":"2023-04-01T15:32:09.268Z","v":0} | ||||
| {"name":"detox","hostname":"MacBook-Pro.local","pid":95956,"level":20,"cat":"ws-server,ws","ph":"B","tid":1,"id":55704,"msg":"connection :55591<->:55704","time":"2023-04-01T15:32:14.120Z","v":0} | ||||
| {"name":"detox","hostname":"MacBook-Pro.local","pid":95956,"level":10,"cat":"ws-server,ws","ph":"i","tid":1,"id":55704,"data":"{\"messageId\":0,\"type\":\"login\",\"params\":{\"role\":\"app\",\"sessionId\":\"e5928eb2-642b-d685-dc0d-c06c4bbc6df3\"}}","msg":"get","time":"2023-04-01T15:32:14.130Z","v":0} | ||||
| {"name":"detox","hostname":"MacBook-Pro.local","pid":95956,"level":10,"cat":"ws-server,ws","ph":"i","tid":1,"id":55704,"trackingId":"app","sessionId":"e5928eb2-642b-d685-dc0d-c06c4bbc6df3","role":"app","data":{"messageId":0,"type":"loginSuccess","params":{"testerConnected":true,"appConnected":true}},"msg":"send","time":"2023-04-01T15:32:14.131Z","v":0} | ||||
| {"name":"detox","hostname":"MacBook-Pro.local","pid":95956,"level":10,"cat":"ws-server,ws-session","ph":"i","tid":2,"msg":"app joined session e5928eb2-642b-d685-dc0d-c06c4bbc6df3","time":"2023-04-01T15:32:14.131Z","v":0} | ||||
| {"name":"detox","hostname":"MacBook-Pro.local","pid":95956,"level":10,"cat":"ws-server,ws","ph":"i","tid":0,"id":55598,"trackingId":"tester","sessionId":"e5928eb2-642b-d685-dc0d-c06c4bbc6df3","role":"tester","data":{"type":"appConnected"},"msg":"send","time":"2023-04-01T15:32:14.131Z","v":0} | ||||
| {"name":"detox","hostname":"MacBook-Pro.local","pid":95956,"level":10,"cat":"ws-server,ws","ph":"i","tid":0,"id":55598,"trackingId":"tester","sessionId":"e5928eb2-642b-d685-dc0d-c06c4bbc6df3","role":"tester","data":"{\"type\":\"isReady\",\"params\":{},\"messageId\":-1000}","msg":"get","time":"2023-04-01T15:32:14.132Z","v":0} | ||||
| {"name":"detox","hostname":"MacBook-Pro.local","pid":95956,"level":10,"cat":"ws-server,ws","ph":"i","tid":1,"id":55704,"trackingId":"app","sessionId":"e5928eb2-642b-d685-dc0d-c06c4bbc6df3","role":"app","data":{"type":"isReady","params":{},"messageId":-1000},"msg":"send","time":"2023-04-01T15:32:14.132Z","v":0} | ||||
| {"name":"detox","hostname":"MacBook-Pro.local","pid":95956,"level":10,"cat":"ws-server,ws","ph":"i","tid":0,"id":55598,"trackingId":"tester","sessionId":"e5928eb2-642b-d685-dc0d-c06c4bbc6df3","role":"tester","data":"{\"type\":\"currentStatus\",\"params\":{},\"messageId\":1}","msg":"get","time":"2023-04-01T15:32:24.139Z","v":0} | ||||
| {"name":"detox","hostname":"MacBook-Pro.local","pid":95956,"level":10,"cat":"ws-server,ws","ph":"i","tid":1,"id":55704,"trackingId":"app","sessionId":"e5928eb2-642b-d685-dc0d-c06c4bbc6df3","role":"app","data":{"type":"currentStatus","params":{},"messageId":1},"msg":"send","time":"2023-04-01T15:32:24.140Z","v":0} | ||||
| {"name":"detox","hostname":"MacBook-Pro.local","pid":95956,"level":10,"cat":"lifecycle","ph":"E","tid":0,"abortSignal":"SIGINT","msg":"jest --config e2e/jest.config.js","time":"2023-04-01T15:32:37.850Z","v":0} | ||||
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							| @@ -0,0 +1,797 @@ | ||||
| 23:32:39.942 detox[286] [90mB[39m ../../node_modules/.bin/detox test --configuration android.emu.debug --headless --record-logs all | ||||
|   data: { | ||||
|     "id": "5bb1f0fb-2312-754e-890e-9b6f4493310d", | ||||
|     "detoxConfig": { | ||||
|       "configurationName": "android.emu.debug", | ||||
|       "apps": { | ||||
|         "default": { | ||||
|           "type": "android.apk", | ||||
|           "binaryPath": "android/app/build/outputs/apk/debug/app-debug.apk", | ||||
|           "build": "cd android && ./gradlew assembleDebug assembleAndroidTest -DtestBuildType=debug", | ||||
|           "reversePorts": [ | ||||
|             8081 | ||||
|           ] | ||||
|         } | ||||
|       }, | ||||
|       "artifacts": { | ||||
|         "rootDir": "artifacts/android.emu.debug.2023-04-01 15-32-39Z", | ||||
|         "plugins": { | ||||
|           "log": { | ||||
|             "enabled": true, | ||||
|             "keepOnlyFailedTestsArtifacts": false | ||||
|           }, | ||||
|           "screenshot": { | ||||
|             "enabled": true, | ||||
|             "shouldTakeAutomaticSnapshots": false, | ||||
|             "keepOnlyFailedTestsArtifacts": false | ||||
|           }, | ||||
|           "video": { | ||||
|             "enabled": false, | ||||
|             "keepOnlyFailedTestsArtifacts": false | ||||
|           }, | ||||
|           "instruments": { | ||||
|             "enabled": false, | ||||
|             "keepOnlyFailedTestsArtifacts": false | ||||
|           }, | ||||
|           "uiHierarchy": { | ||||
|             "enabled": false, | ||||
|             "keepOnlyFailedTestsArtifacts": false | ||||
|           } | ||||
|         } | ||||
|       }, | ||||
|       "behavior": { | ||||
|         "init": { | ||||
|           "keepLockFile": false, | ||||
|           "reinstallApp": true, | ||||
|           "exposeGlobals": true | ||||
|         }, | ||||
|         "cleanup": { | ||||
|           "shutdownDevice": false | ||||
|         }, | ||||
|         "launchApp": "auto" | ||||
|       }, | ||||
|       "cli": { | ||||
|         "recordLogs": "all", | ||||
|         "configuration": "android.emu.debug", | ||||
|         "headless": true, | ||||
|         "start": true | ||||
|       }, | ||||
|       "device": { | ||||
|         "type": "android.emulator", | ||||
|         "device": { | ||||
|           "avdName": "Pixel_3a_API_33_arm64-v8a" | ||||
|         }, | ||||
|         "headless": true | ||||
|       }, | ||||
|       "logger": { | ||||
|         "level": "info", | ||||
|         "overrideConsole": true, | ||||
|         "options": { | ||||
|           "showLoggerName": true, | ||||
|           "showPid": true, | ||||
|           "showLevel": false, | ||||
|           "showMetadata": false, | ||||
|           "basepath": "/Users/arvinh/Desktop/wooza/react-native-pushy/node_modules/detox/src", | ||||
|           "prefixers": {}, | ||||
|           "stringifiers": {} | ||||
|         } | ||||
|       }, | ||||
|       "testRunner": { | ||||
|         "retries": 0, | ||||
|         "forwardEnv": false, | ||||
|         "bail": false, | ||||
|         "jest": { | ||||
|           "setupTimeout": 120000, | ||||
|           "teardownTimeout": 30000, | ||||
|           "retryAfterCircusRetries": false, | ||||
|           "reportWorkerAssign": true | ||||
|         }, | ||||
|         "args": { | ||||
|           "$0": "jest", | ||||
|           "_": [], | ||||
|           "config": "e2e/jest.config.js", | ||||
|           "--": [] | ||||
|         } | ||||
|       }, | ||||
|       "session": { | ||||
|         "autoStart": true, | ||||
|         "debugSynchronization": 10000 | ||||
|       } | ||||
|     }, | ||||
|     "detoxIPCServer": "primary-286", | ||||
|     "testResults": [], | ||||
|     "testSessionIndex": 0, | ||||
|     "workersCount": 0 | ||||
|   } | ||||
| 23:32:39.946 detox[286] [90mi[39m Server path not specified, so defaulting to ipc.config.socketRoot + ipc.config.appspace + ipc.config.id /tmp/detox.primary-286 | ||||
| 23:32:39.947 detox[286] [90mi[39m starting server on  /tmp/detox.primary-286  | ||||
| 23:32:39.947 detox[286] [90mi[39m starting TLS server false | ||||
| 23:32:39.947 detox[286] [90mi[39m starting server as Unix || Windows Socket | ||||
| 23:32:39.952 detox[286] [90mi[39m Detox server listening on localhost:55801... | ||||
| 23:32:39.953 detox[286] [90mi[39m Serialized the session state at: /private/var/folders/wm/91840x650t10w1m7sq830mp80000gn/T/5bb1f0fb-2312-754e-890e-9b6f4493310d.detox.json | ||||
| 23:32:39.954 detox[286] [90mB[39m jest --config e2e/jest.config.js | ||||
| 23:32:40.958 detox[287] [90mi[39m Service path not specified, so defaulting to ipc.config.socketRoot + ipc.config.appspace + id  | ||||
| 23:32:40.959 detox[286] [90mi[39m ## socket connection to server detected ## | ||||
| 23:32:40.959 detox[287] [90mi[39m requested connection to  primary-286 /tmp/detox.primary-286 | ||||
| 23:32:40.959 detox[287] [90mi[39m Connecting client on Unix Socket : /tmp/detox.primary-286 | ||||
| 23:32:40.959 detox[287] [90mi[39m retrying reset | ||||
| 23:32:40.960 detox[287] [90mi[39m dispatching event to  primary-286 /tmp/detox.primary-286  :  registerContext , { id: 'secondary-287' } | ||||
| 23:32:40.961 detox[286] [90mi[39m received event of :  registerContext { id: 'secondary-287' } | ||||
| 23:32:40.961 detox[286] [90mi[39m dispatching event to socket  :  registerContextDone { testResults: [], testSessionIndex: 0 } | ||||
| 23:32:40.962 detox[287] [90mi[39m ## received events ## | ||||
| 23:32:40.962 detox[287] [90mi[39m detected event registerContextDone { testResults: [], testSessionIndex: 0 } | ||||
| 23:32:41.006 detox[287] [90mB[39m e2e/NativeModule.test.ts | ||||
| 23:32:41.014 detox[287] [90mB[39m set up environment | ||||
| 23:32:41.014 detox[287] [90mi[39m dispatching event to  primary-286 /tmp/detox.primary-286  :  registerWorker , { workerId: 'w1' } | ||||
| 23:32:41.015 detox[286] [90mi[39m received event of :  registerWorker { workerId: 'w1' } | ||||
| 23:32:41.015 detox[286] [90mi[39m dispatching event to socket  :  registerWorkerDone { workersCount: 1 } | ||||
| 23:32:41.015 detox[286] [90mi[39m broadcasting event to all known sockets listening to  /tmp/detox.primary-286  :   sessionStateUpdate { workersCount: 1 } | ||||
| 23:32:41.015 detox[287] [90mi[39m ## received events ## | ||||
| 23:32:41.015 detox[287] [90mi[39m detected event registerWorkerDone { workersCount: 1 } | ||||
| 23:32:41.103 detox[287] [90mi[39m ## received events ## | ||||
| 23:32:41.103 detox[287] [90mi[39m detected event sessionStateUpdate { workersCount: 1 } | ||||
| 23:32:41.106 detox[286] [90mB[39m connection :55801<->:55810 | ||||
| 23:32:41.107 detox[287] [90mi[39m opened web socket to: ws://localhost:55801 | ||||
| 23:32:41.108 detox[287] [90mi[39m send message | ||||
|   data: {"type":"login","params":{"sessionId":"85295354-1163-f241-e2d5-6b40862968db","role":"tester"},"messageId":0} | ||||
| 23:32:41.109 detox[286] [90mi[39m get | ||||
|   data: {"type":"login","params":{"sessionId":"85295354-1163-f241-e2d5-6b40862968db","role":"tester"},"messageId":0} | ||||
| 23:32:41.109 detox[286] [90mi[39m created session 85295354-1163-f241-e2d5-6b40862968db | ||||
| 23:32:41.109 detox[286] [90mi[39m send | ||||
|   data: { | ||||
|     "type": "loginSuccess", | ||||
|     "params": { | ||||
|       "testerConnected": true, | ||||
|       "appConnected": false | ||||
|     }, | ||||
|     "messageId": 0 | ||||
|   } | ||||
| 23:32:41.109 detox[286] [90mi[39m tester joined session 85295354-1163-f241-e2d5-6b40862968db | ||||
| 23:32:41.110 detox[287] [90mi[39m get message | ||||
|   data: {"type":"loginSuccess","params":{"testerConnected":true,"appConnected":false},"messageId":0} | ||||
|     | ||||
| 23:32:41.145 detox[287] [90mB[39m allocate | ||||
|   args: ({"type":"android.emulator","device":{"avdName":"Pixel_3a_API_33_arm64-v8a"},"headless":true}) | ||||
| 23:32:41.145 detox[287] [90mi[39m "/Users/arvinh/Library/Android/sdk/emulator/emulator" -list-avds --verbose | ||||
| 23:32:41.168 detox[287] [90mi[39m Pixel_3a_API_33_arm64-v8a | ||||
|  | ||||
| 23:32:41.169 detox[287] [90mi[39m "/Users/arvinh/Library/Android/sdk/emulator/emulator" -version -no-window | ||||
| 23:32:41.245 detox[287] [90mi[39m INFO    | Duplicate loglines will be removed, if you wish to see each indiviudal line launch with the -log-nofilter flag. | ||||
| Android emulator version 31.3.13.0 (build_id 9189900) (CL:N/A) | ||||
| Copyright (C) 2006-2017 The Android Open Source Project and many others. | ||||
| This program is a derivative of the QEMU CPU emulator (www.qemu.org). | ||||
|  | ||||
|   This software is licensed under the terms of the GNU General Public | ||||
|   License version 2, as published by the Free Software Foundation, and | ||||
|   may be copied, distributed, and modified under those terms. | ||||
|  | ||||
|   This program is distributed in the hope that it will be useful, | ||||
|   but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
|   GNU General Public License for more details. | ||||
|  | ||||
|  | ||||
| 23:32:41.246 detox[287] [90mi[39m Detected emulator binary version { major: 31, minor: 3, patch: 13, toString: [Function: toString] } | ||||
| 23:32:41.246 detox[287] [90mi[39m Trying to allocate a device based on "Pixel_3a_API_33_arm64-v8a" | ||||
| 23:32:41.247 detox[287] [90mi[39m "/Users/arvinh/Library/Android/sdk/platform-tools/adb"  devices | ||||
| 23:32:41.259 detox[287] [90mi[39m List of devices attached | ||||
| emulator-5554	device | ||||
|  | ||||
|  | ||||
| 23:32:41.260 detox[287] [90mi[39m port: 5554, host: localhost | ||||
| 23:32:41.264 detox[287] [90mi[39m Found a matching & free device emulator-5554 | ||||
| 23:32:41.265 detox[287] [90mi[39m Settled on emulator-5554 | ||||
| 23:32:41.265 detox[287] [90mB[39m _launchEmulator | ||||
|   args: ("Pixel_3a_API_33_arm64-v8a", "emulator-5554", true, {"headless":true,"port":null}) | ||||
| 23:32:41.265 detox[287] [90mB[39m _awaitEmulatorBoot | ||||
|   args: ("emulator-5554") | ||||
| 23:32:41.265 detox[287] [90mi[39m "/Users/arvinh/Library/Android/sdk/platform-tools/adb" -s emulator-5554 shell "getprop dev.bootcomplete" | ||||
| 23:32:41.302 detox[287] [90mi[39m 1 | ||||
|  | ||||
| 23:32:41.302 detox[287] [90mE[39m _awaitEmulatorBoot | ||||
| 23:32:41.302 detox[287] [90mB[39m onBootDevice | ||||
|   args: ({"deviceId":"emulator-5554","type":"Pixel_3a_API_33_arm64-v8a","coldBoot":false}) | ||||
| 23:32:41.303 detox[287] [90mE[39m onBootDevice | ||||
| 23:32:41.303 detox[287] [90mE[39m _launchEmulator | ||||
| 23:32:41.303 detox[287] [90mi[39m "/Users/arvinh/Library/Android/sdk/platform-tools/adb" -s emulator-5554 shell "getprop ro.build.version.sdk" | ||||
| 23:32:41.329 detox[287] [90mi[39m 33 | ||||
|  | ||||
| 23:32:41.330 detox[287] [90mi[39m "/Users/arvinh/Library/Android/sdk/platform-tools/adb" -s emulator-5554 shell "settings put global animator_duration_scale 0" | ||||
| 23:32:41.370 detox[287] [90mi[39m  | ||||
| 23:32:41.370 detox[287] [90mi[39m "/Users/arvinh/Library/Android/sdk/platform-tools/adb" -s emulator-5554 shell "settings put global window_animation_scale 0" | ||||
| 23:32:41.400 detox[287] [90mi[39m  | ||||
| 23:32:41.400 detox[287] [90mi[39m "/Users/arvinh/Library/Android/sdk/platform-tools/adb" -s emulator-5554 shell "settings put global transition_animation_scale 0" | ||||
| 23:32:41.428 detox[287] [90mi[39m  | ||||
| 23:32:41.428 detox[287] [90mi[39m "/Users/arvinh/Library/Android/sdk/platform-tools/adb" -s emulator-5554 shell "dumpsys power | grep \"^[ ]*m[UW].*=\"" | ||||
| 23:32:41.488 detox[287] [90mi[39m   mWakefulness=Awake | ||||
|   mWakefulnessChanging=false | ||||
|   mWakeLockSummary=0x0 | ||||
|   mWakeUpWhenPluggedOrUnpluggedConfig=false | ||||
|   mWakeUpWhenPluggedOrUnpluggedInTheaterModeConfig=false | ||||
|   mUserActivityTimeoutOverrideFromWindowManager=-1 | ||||
|   mUserInactiveOverrideFromWindowManager=false | ||||
|   mUserId=0 | ||||
|   mWakeLockSummary=0x0 | ||||
|   mUserInteractionBackoffMillis=60000 | ||||
|  | ||||
| 23:32:41.488 detox[287] [90mE[39m allocate | ||||
| 23:32:41.500 detox[287] [90mB[39m installUtilBinaries | ||||
|   args: () | ||||
| 23:32:41.500 detox[287] [90mE[39m installUtilBinaries | ||||
| 23:32:41.500 detox[287] [90mB[39m selectApp | ||||
|   args: ("default") | ||||
| 23:32:41.501 detox[287] [90mi[39m "/Users/arvinh/Library/Android/sdk/build-tools/33.0.0/aapt" dump badging "/Users/arvinh/Desktop/wooza/react-native-pushy/Example/testHotUpdate/android/app/build/outputs/apk/debug/app-debug.apk" | ||||
| 23:32:41.535 detox[287] [90mi[39m package: name='com.awesomeproject' versionCode='1' versionName='1.0' platformBuildVersionName='12' platformBuildVersionCode='31' compileSdkVersion='31' compileSdkVersionCodename='12' | ||||
| sdkVersion:'21' | ||||
| targetSdkVersion:'31' | ||||
| uses-permission: name='android.permission.SYSTEM_ALERT_WINDOW' | ||||
| uses-permission: name='android.permission.INTERNET' | ||||
| uses-permission: name='android.permission.ACCESS_WIFI_STATE' | ||||
| uses-permission: name='android.permission.REQUEST_INSTALL_PACKAGES' | ||||
| uses-permission: name='android.permission.WRITE_EXTERNAL_STORAGE' | ||||
| application-label:'AwesomeProject' | ||||
| application-label-af:'AwesomeProject' | ||||
| application-label-am:'AwesomeProject' | ||||
| application-label-ar:'AwesomeProject' | ||||
| application-label-as:'AwesomeProject' | ||||
| application-label-az:'AwesomeProject' | ||||
| application-label-be:'AwesomeProject' | ||||
| application-label-bg:'AwesomeProject' | ||||
| application-label-bn:'AwesomeProject' | ||||
| application-label-bs:'AwesomeProject' | ||||
| application-label-ca:'AwesomeProject' | ||||
| application-label-cs:'AwesomeProject' | ||||
| application-label-da:'AwesomeProject' | ||||
| application-label-de:'AwesomeProject' | ||||
| application-label-el:'AwesomeProject' | ||||
| application-label-en-AU:'AwesomeProject' | ||||
| application-label-en-CA:'AwesomeProject' | ||||
| application-label-en-GB:'AwesomeProject' | ||||
| application-label-en-IN:'AwesomeProject' | ||||
| application-label-en-XC:'AwesomeProject' | ||||
| application-label-es:'AwesomeProject' | ||||
| application-label-es-US:'AwesomeProject' | ||||
| application-label-et:'AwesomeProject' | ||||
| application-label-eu:'AwesomeProject' | ||||
| application-label-fa:'AwesomeProject' | ||||
| application-label-fi:'AwesomeProject' | ||||
| application-label-fr:'AwesomeProject' | ||||
| application-label-fr-CA:'AwesomeProject' | ||||
| application-label-gl:'AwesomeProject' | ||||
| application-label-gu:'AwesomeProject' | ||||
| application-label-hi:'AwesomeProject' | ||||
| application-label-hr:'AwesomeProject' | ||||
| application-label-hu:'AwesomeProject' | ||||
| application-label-hy:'AwesomeProject' | ||||
| application-label-in:'AwesomeProject' | ||||
| application-label-is:'AwesomeProject' | ||||
| application-label-it:'AwesomeProject' | ||||
| application-label-iw:'AwesomeProject' | ||||
| application-label-ja:'AwesomeProject' | ||||
| application-label-ka:'AwesomeProject' | ||||
| application-label-kk:'AwesomeProject' | ||||
| application-label-km:'AwesomeProject' | ||||
| application-label-kn:'AwesomeProject' | ||||
| application-label-ko:'AwesomeProject' | ||||
| application-label-ky:'AwesomeProject' | ||||
| application-label-lo:'AwesomeProject' | ||||
| application-label-lt:'AwesomeProject' | ||||
| application-label-lv:'AwesomeProject' | ||||
| application-label-mk:'AwesomeProject' | ||||
| application-label-ml:'AwesomeProject' | ||||
| application-label-mn:'AwesomeProject' | ||||
| application-label-mr:'AwesomeProject' | ||||
| application-label-ms:'AwesomeProject' | ||||
| application-label-my:'AwesomeProject' | ||||
| application-label-nb:'AwesomeProject' | ||||
| application-label-ne:'AwesomeProject' | ||||
| application-label-nl:'AwesomeProject' | ||||
| application-label-or:'AwesomeProject' | ||||
| application-label-pa:'AwesomeProject' | ||||
| application-label-pl:'AwesomeProject' | ||||
| application-label-pt:'AwesomeProject' | ||||
| application-label-pt-BR:'AwesomeProject' | ||||
| application-label-pt-PT:'AwesomeProject' | ||||
| application-label-ro:'AwesomeProject' | ||||
| application-label-ru:'AwesomeProject' | ||||
| application-label-si:'AwesomeProject' | ||||
| application-label-sk:'AwesomeProject' | ||||
| application-label-sl:'AwesomeProject' | ||||
| application-label-sq:'AwesomeProject' | ||||
| application-label-sr:'AwesomeProject' | ||||
| application-label-sr-Latn:'AwesomeProject' | ||||
| application-label-sv:'AwesomeProject' | ||||
| application-label-sw:'AwesomeProject' | ||||
| application-label-ta:'AwesomeProject' | ||||
| application-label-te:'AwesomeProject' | ||||
| application-label-th:'AwesomeProject' | ||||
| application-label-tl:'AwesomeProject' | ||||
| application-label-tr:'AwesomeProject' | ||||
| application-label-uk:'AwesomeProject' | ||||
| application-label-ur:'AwesomeProject' | ||||
| application-label-uz:'AwesomeProject' | ||||
| application-label-vi:'AwesomeProject' | ||||
| application-label-zh-CN:'AwesomeProject' | ||||
| application-label-zh-HK:'AwesomeProject' | ||||
| application-label-zh-TW:'AwesomeProject' | ||||
| application-label-zu:'AwesomeProject' | ||||
| application-icon-160:'res/mipmap-mdpi-v4/ic_launcher.png' | ||||
| application-icon-240:'res/mipmap-hdpi-v4/ic_launcher.png' | ||||
| application-icon-320:'res/mipmap-xhdpi-v4/ic_launcher.png' | ||||
| application-icon-480:'res/mipmap-xxhdpi-v4/ic_launcher.png' | ||||
| application-icon-640:'res/mipmap-xxxhdpi-v4/ic_launcher.png' | ||||
| application: label='AwesomeProject' icon='res/mipmap-mdpi-v4/ic_launcher.png' | ||||
| application-debuggable | ||||
| launchable-activity: name='com.awesomeproject.MainActivity'  label='AwesomeProject' icon='' | ||||
| uses-permission: name='android.permission.READ_EXTERNAL_STORAGE' | ||||
| uses-implied-permission: name='android.permission.READ_EXTERNAL_STORAGE' reason='requested WRITE_EXTERNAL_STORAGE' | ||||
| feature-group: label='' | ||||
|   uses-feature: name='android.hardware.faketouch' | ||||
|   uses-implied-feature: name='android.hardware.faketouch' reason='default feature for all apps' | ||||
|   uses-feature: name='android.hardware.wifi' | ||||
|   uses-implied-feature: name='android.hardware.wifi' reason='requested android.permission.ACCESS_WIFI_STATE permission' | ||||
| main | ||||
| other-activities | ||||
| supports-screens: 'small' 'normal' 'large' 'xlarge' | ||||
| supports-any-density: 'true' | ||||
| locales: '--_--' 'af' 'am' 'ar' 'as' 'az' 'be' 'bg' 'bn' 'bs' 'ca' 'cs' 'da' 'de' 'el' 'en-AU' 'en-CA' 'en-GB' 'en-IN' 'en-XC' 'es' 'es-US' 'et' 'eu' 'fa' 'fi' 'fr' 'fr-CA' 'gl' 'gu' 'hi' 'hr' 'hu' 'hy' 'in' 'is' 'it' 'iw' 'ja' 'ka' 'kk' 'km' 'kn' 'ko' 'ky' 'lo' 'lt' 'lv' 'mk' 'ml' 'mn' 'mr' 'ms' 'my' 'nb' 'ne' 'nl' 'or' 'pa' 'pl' 'pt' 'pt-BR' 'pt-PT' 'ro' 'ru' 'si' 'sk' 'sl' 'sq' 'sr' 'sr-Latn' 'sv' 'sw' 'ta' 'te' 'th' 'tl' 'tr' 'uk' 'ur' 'uz' 'vi' 'zh-CN' 'zh-HK' 'zh-TW' 'zu' | ||||
| densities: '160' '240' '320' '480' '640' | ||||
| native-code: 'arm64-v8a' 'armeabi-v7a' 'x86' 'x86_64' | ||||
|  | ||||
| 23:32:41.535 detox[287] [90mE[39m selectApp | ||||
| 23:32:41.535 detox[287] [90mB[39m uninstallApp | ||||
|   args: () | ||||
| 23:32:41.535 detox[287] [90mB[39m onBeforeUninstallApp | ||||
|   args: ({"deviceId":"emulator-5554","bundleId":"com.awesomeproject"}) | ||||
| 23:32:41.535 detox[287] [90mE[39m onBeforeUninstallApp | ||||
| 23:32:41.535 detox[287] [90mi[39m "/Users/arvinh/Library/Android/sdk/platform-tools/adb" -s emulator-5554 shell "pm list packages com.awesomeproject" | ||||
| 23:32:41.559 detox[287] [90mi[39m package:com.awesomeproject | ||||
| package:com.awesomeproject.test | ||||
|  | ||||
| 23:32:41.559 detox[287] [90mi[39m "/Users/arvinh/Library/Android/sdk/platform-tools/adb" -s emulator-5554 uninstall com.awesomeproject | ||||
| 23:32:41.875 detox[287] [90mi[39m Success | ||||
|  | ||||
| 23:32:41.875 detox[287] [90mi[39m "/Users/arvinh/Library/Android/sdk/platform-tools/adb" -s emulator-5554 shell "pm list packages com.awesomeproject.test" | ||||
| 23:32:41.973 detox[287] [90mi[39m package:com.awesomeproject.test | ||||
|  | ||||
| 23:32:41.973 detox[287] [90mi[39m "/Users/arvinh/Library/Android/sdk/platform-tools/adb" -s emulator-5554 uninstall com.awesomeproject.test | ||||
| 23:32:42.138 detox[287] [90mi[39m Success | ||||
|  | ||||
| 23:32:42.138 detox[287] [90mE[39m uninstallApp | ||||
| 23:32:42.138 detox[287] [90mB[39m selectApp | ||||
|   args: ("default") | ||||
| 23:32:42.139 detox[287] [90mB[39m terminateApp | ||||
|   args: () | ||||
| 23:32:42.139 detox[287] [90mB[39m onBeforeTerminateApp | ||||
|   args: ({"deviceId":"emulator-5554","bundleId":"com.awesomeproject"}) | ||||
| 23:32:42.139 detox[287] [90mE[39m onBeforeTerminateApp | ||||
| 23:32:42.139 detox[287] [90mi[39m "/Users/arvinh/Library/Android/sdk/platform-tools/adb" -s emulator-5554 shell "am force-stop com.awesomeproject" | ||||
| 23:32:42.202 detox[287] [90mi[39m  | ||||
| 23:32:42.202 detox[287] [90mB[39m onTerminateApp | ||||
|   args: ({"deviceId":"emulator-5554","bundleId":"com.awesomeproject"}) | ||||
| 23:32:42.203 detox[287] [90mE[39m onTerminateApp | ||||
| 23:32:42.203 detox[287] [90mE[39m terminateApp | ||||
| 23:32:42.203 detox[287] [90mE[39m selectApp | ||||
| 23:32:42.203 detox[287] [90mB[39m installApp | ||||
|   args: () | ||||
| 23:32:42.203 detox[287] [90mi[39m "/Users/arvinh/Library/Android/sdk/build-tools/33.0.0/aapt" dump xmlstrings "/Users/arvinh/Desktop/wooza/react-native-pushy/Example/testHotUpdate/android/app/build/outputs/apk/debug/app-debug.apk" AndroidManifest.xml | ||||
| 23:32:42.216 detox[287] [90mi[39m String pool of 62 unique UTF-16 non-sorted strings, 62 entries and 0 styles using 2972 bytes: | ||||
| String #0: theme | ||||
| String #1: label | ||||
| String #2: icon | ||||
| String #3: name | ||||
| String #4: debuggable | ||||
| String #5: exported | ||||
| String #6: authorities | ||||
| String #7: grantUriPermissions | ||||
| String #8: launchMode | ||||
| String #9: configChanges | ||||
| String #10: value | ||||
| String #11: resource | ||||
| String #12: minSdkVersion | ||||
| String #13: versionCode | ||||
| String #14: versionName | ||||
| String #15: windowSoftInputMode | ||||
| String #16: targetSdkVersion | ||||
| String #17: allowBackup | ||||
| String #18: usesCleartextTraffic | ||||
| String #19: networkSecurityConfig | ||||
| String #20: roundIcon | ||||
| String #21: compileSdkVersion | ||||
| String #22: compileSdkVersionCodename | ||||
| String #23: appComponentFactory | ||||
| String #24: 1.0 | ||||
| String #25: 12 | ||||
| String #26: action | ||||
| String #27: activity | ||||
| String #28: android | ||||
| String #29: android.intent.action.MAIN | ||||
| String #30: android.intent.category.LAUNCHER | ||||
| String #31: android.permission.ACCESS_WIFI_STATE | ||||
| String #32: android.permission.INTERNET | ||||
| String #33: android.permission.REQUEST_INSTALL_PACKAGES | ||||
| String #34: android.permission.SYSTEM_ALERT_WINDOW | ||||
| String #35: android.permission.WRITE_EXTERNAL_STORAGE | ||||
| String #36: android.support.FILE_PROVIDER_PATHS | ||||
| String #37: androidx.core.app.CoreComponentFactory | ||||
| String #38: androidx.emoji2.text.EmojiCompatInitializer | ||||
| String #39: androidx.lifecycle.ProcessLifecycleInitializer | ||||
| String #40: androidx.startup | ||||
| String #41: androidx.startup.InitializationProvider | ||||
| String #42: application | ||||
| String #43: category | ||||
| String #44: cn.reactnative.modules.update.PushyFileProvider | ||||
| String #45: com.awesomeproject | ||||
| String #46: com.awesomeproject.MainActivity | ||||
| String #47: com.awesomeproject.MainApplication | ||||
| String #48: com.awesomeproject.androidx-startup | ||||
| String #49: com.awesomeproject.pushy.fileprovider | ||||
| String #50: com.facebook.react.devsupport.DevSettingsActivity | ||||
| String #51: http://schemas.android.com/apk/res/android | ||||
| String #52: intent-filter | ||||
| String #53: manifest | ||||
| String #54: meta-data | ||||
| String #55: package | ||||
| String #56: platformBuildVersionCode | ||||
| String #57: platformBuildVersionName | ||||
| String #58: provider | ||||
| String #59: pushy_build_time | ||||
| String #60: uses-permission | ||||
| String #61: uses-sdk | ||||
|  | ||||
| 23:32:42.216 detox[287] [90mi[39m "/Users/arvinh/Library/Android/sdk/build-tools/33.0.0/aapt" dump xmlstrings "/Users/arvinh/Desktop/wooza/react-native-pushy/Example/testHotUpdate/android/app/build/outputs/apk/androidTest/debug/app-debug-androidTest.apk" AndroidManifest.xml | ||||
| 23:32:42.228 detox[287] [90mi[39m String pool of 41 unique UTF-16 non-sorted strings, 41 entries and 0 styles using 2052 bytes: | ||||
| String #0: theme | ||||
| String #1: label | ||||
| String #2: name | ||||
| String #3: debuggable | ||||
| String #4: exported | ||||
| String #5: targetPackage | ||||
| String #6: handleProfiling | ||||
| String #7: functionalTest | ||||
| String #8: minSdkVersion | ||||
| String #9: targetSdkVersion | ||||
| String #10: compileSdkVersion | ||||
| String #11: compileSdkVersionCodename | ||||
| String #12: 12 | ||||
| String #13: Tests for com.awesomeproject | ||||
| String #14: action | ||||
| String #15: activity | ||||
| String #16: android | ||||
| String #17: android.intent.action.MAIN | ||||
| String #18: android.permission.REORDER_TASKS | ||||
| String #19: android.test.runner | ||||
| String #20: androidx.test.core.app.InstrumentationActivityInvoker$BootstrapActivity | ||||
| String #21: androidx.test.core.app.InstrumentationActivityInvoker$EmptyActivity | ||||
| String #22: androidx.test.core.app.InstrumentationActivityInvoker$EmptyFloatingActivity | ||||
| String #23: androidx.test.orchestrator | ||||
| String #24: androidx.test.runner.AndroidJUnitRunner | ||||
| String #25: androidx.test.services | ||||
| String #26: application | ||||
| String #27: com.awesomeproject | ||||
| String #28: com.awesomeproject.test | ||||
| String #29: com.google.android.apps.common.testing.services | ||||
| String #30: http://schemas.android.com/apk/res/android | ||||
| String #31: instrumentation | ||||
| String #32: intent-filter | ||||
| String #33: manifest | ||||
| String #34: package | ||||
| String #35: platformBuildVersionCode | ||||
| String #36: platformBuildVersionName | ||||
| String #37: queries | ||||
| String #38: uses-library | ||||
| String #39: uses-permission | ||||
| String #40: uses-sdk | ||||
|  | ||||
| 23:32:42.228 detox[287] [90mi[39m "/Users/arvinh/Library/Android/sdk/platform-tools/adb" -s emulator-5554 shell "rm -fr /data/local/tmp/detox" | ||||
| 23:32:42.306 detox[287] [90mi[39m  | ||||
| 23:32:42.306 detox[287] [90mi[39m "/Users/arvinh/Library/Android/sdk/platform-tools/adb" -s emulator-5554 shell "mkdir -p /data/local/tmp/detox" | ||||
| 23:32:42.344 detox[287] [90mi[39m  | ||||
| 23:32:42.344 detox[287] [90mi[39m "/Users/arvinh/Library/Android/sdk/platform-tools/adb" -s emulator-5554 push "/Users/arvinh/Desktop/wooza/react-native-pushy/Example/testHotUpdate/android/app/build/outputs/apk/debug/app-debug.apk" "/data/local/tmp/detox/Application.apk" | ||||
| 23:32:42.683 detox[287] [90mi[39m /Users/arvinh/Desktop/wooza/react-native-pushy/Example/testHotUpdate/android/app/build/outputs/apk/debug/app-debug.apk: 1 file pushed, 0 skipped. 174.6 MB/s (57188071 bytes in 0.312s) | ||||
|  | ||||
| 23:32:42.685 detox[287] [90mi[39m /Users/arvinh/Library/Android/sdk/platform-tools/adb -s emulator-5554 shell pm install -r -g -t /data/local/tmp/detox/Application.apk | ||||
| 23:32:43.594 detox[287] [90mi[39m Success | ||||
|  | ||||
| 23:32:43.597 detox[287] [90mi[39m /Users/arvinh/Library/Android/sdk/platform-tools/adb -s emulator-5554 shell pm install -r -g -t /data/local/tmp/detox/Application.apk exited with code #0 | ||||
| 23:32:43.597 detox[287] [90mi[39m "/Users/arvinh/Library/Android/sdk/platform-tools/adb" -s emulator-5554 push "/Users/arvinh/Desktop/wooza/react-native-pushy/Example/testHotUpdate/android/app/build/outputs/apk/androidTest/debug/app-debug-androidTest.apk" "/data/local/tmp/detox/Test.apk" | ||||
| 23:32:43.643 detox[287] [90mi[39m /Users/arvinh/Desktop/wooza/react-native-pushy/Example/testHotUpdate/android/app/build/outputs/apk/androidTest/debug/app-debug-androidTest.apk: 1 file pushed, 0 skipped. 466.5 MB/s (7834463 bytes in 0.016s) | ||||
|  | ||||
| 23:32:43.644 detox[287] [90mi[39m /Users/arvinh/Library/Android/sdk/platform-tools/adb -s emulator-5554 shell pm install -r -g -t /data/local/tmp/detox/Test.apk | ||||
| 23:32:43.845 detox[287] [90mi[39m Success | ||||
|  | ||||
| 23:32:43.849 detox[287] [90mi[39m /Users/arvinh/Library/Android/sdk/platform-tools/adb -s emulator-5554 shell pm install -r -g -t /data/local/tmp/detox/Test.apk exited with code #0 | ||||
| 23:32:43.849 detox[287] [90mB[39m reverseTcpPort | ||||
|   args: (8081) | ||||
| 23:32:43.849 detox[287] [90mi[39m "/Users/arvinh/Library/Android/sdk/platform-tools/adb" -s emulator-5554 reverse tcp:8081 tcp:8081 | ||||
| 23:32:43.865 detox[287] [90mi[39m  | ||||
| 23:32:43.865 detox[287] [90mE[39m reverseTcpPort | ||||
| 23:32:43.865 detox[287] [90mE[39m installApp | ||||
| 23:32:43.865 detox[287] [90mB[39m selectApp | ||||
|   args: ("default") | ||||
| 23:32:43.865 detox[287] [90mB[39m terminateApp | ||||
|   args: () | ||||
| 23:32:43.865 detox[287] [90mB[39m onBeforeTerminateApp | ||||
|   args: ({"deviceId":"emulator-5554","bundleId":"com.awesomeproject"}) | ||||
| 23:32:43.865 detox[287] [90mE[39m onBeforeTerminateApp | ||||
| 23:32:43.865 detox[287] [90mi[39m "/Users/arvinh/Library/Android/sdk/platform-tools/adb" -s emulator-5554 shell "am force-stop com.awesomeproject" | ||||
| 23:32:43.925 detox[287] [90mi[39m  | ||||
| 23:32:43.925 detox[287] [90mB[39m onTerminateApp | ||||
|   args: ({"deviceId":"emulator-5554","bundleId":"com.awesomeproject"}) | ||||
| 23:32:43.925 detox[287] [90mE[39m onTerminateApp | ||||
| 23:32:43.925 detox[287] [90mE[39m terminateApp | ||||
| 23:32:43.925 detox[287] [90mE[39m selectApp | ||||
| 23:32:43.926 detox[287] [90mE[39m set up environment | ||||
| 23:32:44.530 detox[287] [90mi[39m NativeModule.test.ts is assigned to emulator-5554 (Pixel_3a_API_33_arm64-v8a) | ||||
| 23:32:44.530 detox[287] [90mB[39m run the tests | ||||
| 23:32:44.530 detox[287] [90mB[39m onRunDescribeStart | ||||
|   args: ({"name":"ROOT_DESCRIBE_BLOCK"}) | ||||
| 23:32:44.531 detox[287] [90mE[39m onRunDescribeStart | ||||
| 23:32:44.531 detox[287] [90mB[39m 测试Native模块的方法 | ||||
| 23:32:44.531 detox[287] [90mB[39m onRunDescribeStart | ||||
|   args: ({"name":"测试Native模块的方法"}) | ||||
| 23:32:44.531 detox[287] [90mE[39m onRunDescribeStart | ||||
| 23:32:44.531 detox[287] [90mB[39m beforeAll | ||||
| 23:32:44.535 detox[287] [90mB[39m launchApp | ||||
|   args: () | ||||
| 23:32:44.536 detox[287] [90mB[39m terminateApp | ||||
|   args: ("com.awesomeproject") | ||||
| 23:32:44.536 detox[287] [90mB[39m onBeforeTerminateApp | ||||
|   args: ({"deviceId":"emulator-5554","bundleId":"com.awesomeproject"}) | ||||
| 23:32:44.536 detox[287] [90mE[39m onBeforeTerminateApp | ||||
| 23:32:44.536 detox[287] [90mi[39m "/Users/arvinh/Library/Android/sdk/platform-tools/adb" -s emulator-5554 shell "am force-stop com.awesomeproject" | ||||
| 23:32:44.569 detox[287] [90mi[39m  | ||||
| 23:32:44.569 detox[287] [90mB[39m onTerminateApp | ||||
|   args: ({"deviceId":"emulator-5554","bundleId":"com.awesomeproject"}) | ||||
| 23:32:44.569 detox[287] [90mE[39m onTerminateApp | ||||
| 23:32:44.569 detox[287] [90mE[39m terminateApp | ||||
| 23:32:44.570 detox[287] [90mB[39m onBeforeLaunchApp | ||||
|   args: ({"deviceId":"emulator-5554","bundleId":"com.awesomeproject","launchArgs":{"detoxServer":"ws://localhost:55801","detoxSessionId":"85295354-1163-f241-e2d5-6b40862968db"}}) | ||||
| 23:32:44.571 detox[287] [90mi[39m "/Users/arvinh/Library/Android/sdk/platform-tools/adb" -s emulator-5554 shell "date +\"%m-%d %T.000\"" | ||||
| 23:32:44.594 detox[287] [90mi[39m 12-09 14:40:08.000 | ||||
|  | ||||
| 23:32:44.594 detox[287] [90mE[39m onBeforeLaunchApp | ||||
| 23:32:44.594 detox[287] [90mi[39m "/Users/arvinh/Library/Android/sdk/platform-tools/adb" -s emulator-5554 reverse tcp:55801 tcp:55801 | ||||
| 23:32:44.607 detox[287] [90mi[39m 55801 | ||||
|  | ||||
| 23:32:44.607 detox[287] [90mi[39m "/Users/arvinh/Library/Android/sdk/platform-tools/adb" -s emulator-5554 shell "pm list instrumentation" | ||||
| 23:32:44.630 detox[287] [90mi[39m instrumentation:com.awesomeproject.test/androidx.test.runner.AndroidJUnitRunner (target=com.awesomeproject) | ||||
| instrumentation:com.testhotupdate.test/android.test.InstrumentationTestRunner (target=com.testhotupdate) | ||||
|  | ||||
| 23:32:44.632 detox[287] [90mi[39m /Users/arvinh/Library/Android/sdk/platform-tools/adb -s emulator-5554 shell am instrument -w -r -e detoxServer ws://localhost:55801 -e detoxSessionId 85295354-1163-f241-e2d5-6b40862968db -e debug false com.awesomeproject.test/androidx.test.runner.AndroidJUnitRunner | ||||
| 23:32:45.134 detox[287] [90mi[39m "/Users/arvinh/Library/Android/sdk/platform-tools/adb" -s emulator-5554 shell "ps | grep \"com\.awesomeproject$\"" | ||||
| 23:32:45.213 detox[287] [90mi[39m u0_a184      20108   325 14812908 167772 0                  0 R com.awesomeproject | ||||
|  | ||||
| 23:32:45.213 detox[287] [90mB[39m onLaunchApp | ||||
|   args: ({"deviceId":"emulator-5554","bundleId":"com.awesomeproject","launchArgs":{"detoxServer":"ws://localhost:55801","detoxSessionId":"85295354-1163-f241-e2d5-6b40862968db"},"pid":20108}) | ||||
| 23:32:45.213 detox[287] [90mi[39m starting ADBLogcatRecording | ||||
| 23:32:45.214 detox[287] [90mi[39m /Users/arvinh/Library/Android/sdk/platform-tools/adb -s emulator-5554 shell "logcat -T \"12-09 14:40:08.000\" --pid=20108 -f /sdcard/233241138_0.log" | ||||
| 23:32:45.214 detox[287] [90mE[39m onLaunchApp | ||||
| 23:32:45.516 detox[287] [90mi[39m "/Users/arvinh/Library/Android/sdk/platform-tools/adb" -s emulator-5554 shell du /sdcard/233241138_0.log | ||||
| 23:32:45.545 detox[287] [90mi[39m 4	/sdcard/233241138_0.log | ||||
|  | ||||
| 23:32:45.581 detox[287] [90mi[39m INSTRUMENTATION_STATUS: class=com.awesomeproject.DetoxTest | ||||
| INSTRUMENTATION_STATUS: current=1 | ||||
| INSTRUMENTATION_STATUS: id=AndroidJUnitRunner | ||||
| INSTRUMENTATION_STATUS: numtests=1 | ||||
| INSTRUMENTATION_STATUS: stream= | ||||
| com.awesomeproject.DetoxTest: | ||||
| INSTRUMENTATION_STATUS: test=runDetoxTests | ||||
| INSTRUMENTATION_STATUS_CODE: 1 | ||||
|  | ||||
| 23:32:45.917 detox[286] [90mB[39m connection :55801<->:55919 | ||||
| 23:32:45.942 detox[286] [90mi[39m get | ||||
|   data: {"messageId":0,"type":"login","params":{"role":"app","sessionId":"85295354-1163-f241-e2d5-6b40862968db"}} | ||||
| 23:32:45.942 detox[286] [90mi[39m send | ||||
|   data: { | ||||
|     "messageId": 0, | ||||
|     "type": "loginSuccess", | ||||
|     "params": { | ||||
|       "testerConnected": true, | ||||
|       "appConnected": true | ||||
|     } | ||||
|   } | ||||
| 23:32:45.942 detox[286] [90mi[39m app joined session 85295354-1163-f241-e2d5-6b40862968db | ||||
| 23:32:45.942 detox[286] [90mi[39m send | ||||
|   data: { | ||||
|     "type": "appConnected" | ||||
|   } | ||||
| 23:32:45.942 detox[287] [90mi[39m get message | ||||
|   data: {"type":"appConnected"} | ||||
|     | ||||
| 23:32:45.943 detox[286] [90mi[39m get | ||||
|   data: {"type":"isReady","params":{},"messageId":-1000} | ||||
| 23:32:45.943 detox[287] [90mi[39m send message | ||||
|   data: {"type":"isReady","params":{},"messageId":-1000} | ||||
| 23:32:45.944 detox[286] [90mi[39m send | ||||
|   data: { | ||||
|     "type": "isReady", | ||||
|     "params": {}, | ||||
|     "messageId": -1000 | ||||
|   } | ||||
| 23:32:55.947 detox[287] [90mi[39m send message | ||||
|   data: {"type":"currentStatus","params":{},"messageId":1} | ||||
| 23:32:55.949 detox[286] [90mi[39m get | ||||
|   data: {"type":"currentStatus","params":{},"messageId":1} | ||||
| 23:32:55.949 detox[286] [90mi[39m send | ||||
|   data: { | ||||
|     "type": "currentStatus", | ||||
|     "params": {}, | ||||
|     "messageId": 1 | ||||
|   } | ||||
| 23:33:00.950 detox[287] [90mi[39m Failed to execute the current status query. | ||||
| 23:34:44.533 detox[287] [90mB[39m onHookFailure | ||||
|   args: ({"error":"Exceeded timeout of 120000 ms for a hook.\nAdd a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout.","hook":"beforeAll"}) | ||||
| 23:34:44.533 detox[287] [90mE[39m onHookFailure | ||||
| 23:34:44.533 detox[287] [90mE[39m beforeAll | ||||
|   error: 'Exceeded timeout of 120000 ms for a hook.\n' + | ||||
|     'Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout.' | ||||
| 23:34:44.534 detox[287] [90mB[39m setLocalHashInfo | ||||
| 23:34:44.534 detox[287] [90mi[39m 测试Native模块的方法: setLocalHashInfo | ||||
| 23:34:44.536 detox[287] [90mE[39m setLocalHashInfo | ||||
| 23:34:44.536 detox[287] [90mi[39m 测试Native模块的方法: setLocalHashInfo [FAIL] | ||||
| 23:34:44.545 detox[287] [90mB[39m getLocalHashInfo | ||||
| 23:34:44.545 detox[287] [90mi[39m 测试Native模块的方法: getLocalHashInfo | ||||
| 23:34:44.545 detox[287] [90mE[39m getLocalHashInfo | ||||
| 23:34:44.545 detox[287] [90mi[39m 测试Native模块的方法: getLocalHashInfo [FAIL] | ||||
| 23:34:44.545 detox[287] [90mB[39m setUuid | ||||
| 23:34:44.545 detox[287] [90mi[39m 测试Native模块的方法: setUuid | ||||
| 23:34:44.545 detox[287] [90mE[39m setUuid | ||||
| 23:34:44.545 detox[287] [90mi[39m 测试Native模块的方法: setUuid [FAIL] | ||||
| 23:34:44.546 detox[287] [90mB[39m setBlockUpdate | ||||
| 23:34:44.546 detox[287] [90mi[39m 测试Native模块的方法: setBlockUpdate | ||||
| 23:34:44.546 detox[287] [90mE[39m setBlockUpdate | ||||
| 23:34:44.546 detox[287] [90mi[39m 测试Native模块的方法: setBlockUpdate [FAIL] | ||||
| 23:34:44.547 detox[287] [90mB[39m setNeedUpdate | ||||
| 23:34:44.547 detox[287] [90mi[39m 测试Native模块的方法: setNeedUpdate | ||||
| 23:34:44.547 detox[287] [90mE[39m setNeedUpdate | ||||
| 23:34:44.547 detox[287] [90mi[39m 测试Native模块的方法: setNeedUpdate [FAIL] | ||||
| 23:34:44.547 detox[287] [90mB[39m markSuccess | ||||
| 23:34:44.547 detox[287] [90mi[39m 测试Native模块的方法: markSuccess | ||||
| 23:34:44.547 detox[287] [90mE[39m markSuccess | ||||
| 23:34:44.547 detox[287] [90mi[39m 测试Native模块的方法: markSuccess [FAIL] | ||||
| 23:34:44.548 detox[287] [90mB[39m downloadPatchFromPpk | ||||
| 23:34:44.548 detox[287] [90mi[39m 测试Native模块的方法: downloadPatchFromPpk | ||||
| 23:34:44.548 detox[287] [90mE[39m downloadPatchFromPpk | ||||
| 23:34:44.548 detox[287] [90mi[39m 测试Native模块的方法: downloadPatchFromPpk [FAIL] | ||||
| 23:34:44.548 detox[287] [90mB[39m downloadPatchFromPackage | ||||
| 23:34:44.548 detox[287] [90mi[39m 测试Native模块的方法: downloadPatchFromPackage | ||||
| 23:34:44.548 detox[287] [90mE[39m downloadPatchFromPackage | ||||
| 23:34:44.548 detox[287] [90mi[39m 测试Native模块的方法: downloadPatchFromPackage [FAIL] | ||||
| 23:34:44.548 detox[287] [90mB[39m downloadFullUpdate | ||||
| 23:34:44.548 detox[287] [90mi[39m 测试Native模块的方法: downloadFullUpdate | ||||
| 23:34:44.549 detox[287] [90mE[39m downloadFullUpdate | ||||
| 23:34:44.549 detox[287] [90mi[39m 测试Native模块的方法: downloadFullUpdate [FAIL] | ||||
| 23:34:44.549 detox[287] [90mB[39m downloadAndInstallApk | ||||
| 23:34:44.549 detox[287] [90mi[39m 测试Native模块的方法: downloadAndInstallApk | ||||
| 23:34:44.549 detox[287] [90mE[39m downloadAndInstallApk | ||||
| 23:34:44.549 detox[287] [90mi[39m 测试Native模块的方法: downloadAndInstallApk [FAIL] | ||||
| 23:34:44.550 detox[287] [90mB[39m onRunDescribeFinish | ||||
|   args: ({"name":"测试Native模块的方法"}) | ||||
| 23:34:44.550 detox[287] [90mE[39m onRunDescribeFinish | ||||
| 23:34:44.550 detox[287] [90mE[39m 测试Native模块的方法 | ||||
| 23:34:44.550 detox[287] [90mB[39m onRunDescribeFinish | ||||
|   args: ({"name":"ROOT_DESCRIBE_BLOCK"}) | ||||
| 23:34:44.550 detox[287] [90mE[39m onRunDescribeFinish | ||||
| 23:34:44.550 detox[287] [90mE[39m run the tests | ||||
| 23:34:44.574 detox[287] [90mB[39m tear down environment | ||||
| 23:34:44.574 detox[287] [90mB[39m onBeforeCleanup | ||||
|   args: () | ||||
| 23:34:44.576 detox[287] [90mi[39m saving ADBLogcatRecording to: artifacts/android.emu.debug.2023-04-01 15-32-39Z/emulator-5554 2023-04-01 15-34-44Z.startup.log | ||||
| 23:34:44.576 detox[287] [90mi[39m stopping ADBLogcatRecording | ||||
| 23:34:44.576 detox[287] [90mi[39m "/Users/arvinh/Library/Android/sdk/platform-tools/adb" -s emulator-5554 shell "date +\"%m-%d %T.000\"" | ||||
| 23:34:44.612 detox[287] [90mi[39m 12-09 14:42:08.000 | ||||
|  | ||||
| 23:34:44.614 detox[287] [90mi[39m sending SIGINT to: /Users/arvinh/Library/Android/sdk/platform-tools/adb -s emulator-5554 shell logcat -T "12-09 14:40:08.000" --pid=20108 -f /sdcard/233241138_0.log | ||||
| 23:34:44.615 detox[287] [90mi[39m /Users/arvinh/Library/Android/sdk/platform-tools/adb -s emulator-5554 shell "logcat -T \"12-09 14:40:08.000\" --pid=20108 -f /sdcard/233241138_0.log" terminated with SIGINT | ||||
| 23:34:44.615 detox[287] [90mi[39m "/Users/arvinh/Library/Android/sdk/platform-tools/adb" -s emulator-5554 pull "/sdcard/233241138_0.log" "artifacts/android.emu.debug.2023-04-01 15-32-39Z/emulator-5554 2023-04-01 15-34-44Z.startup.log" | ||||
| 23:34:44.634 detox[287] [90mi[39m /sdcard/233241138_0.log: 1 file pulled, 0 skipped. 13.4 MB/s (53248 bytes in 0.004s) | ||||
|  | ||||
| 23:34:44.634 detox[287] [90mi[39m "/Users/arvinh/Library/Android/sdk/platform-tools/adb" -s emulator-5554 shell "rm  \"/sdcard/233241138_0.log\"" | ||||
| 23:34:44.678 detox[287] [90mi[39m  | ||||
| 23:34:44.678 detox[287] [90mi[39m saving FileArtifact to: artifacts/android.emu.debug.2023-04-01 15-32-39Z/detox_pid_287.json.log { append: true } | ||||
| 23:34:44.678 detox[287] [90mi[39m saving FileArtifact to: artifacts/android.emu.debug.2023-04-01 15-32-39Z/detox_pid_287.log { append: true } | ||||
| 23:34:44.678 detox[287] [90mE[39m onBeforeCleanup | ||||
| 23:34:44.678 detox[287] [90mi[39m The app has not responded to the network requests below: | ||||
|   (id = 1) currentStatus: {} | ||||
|   (id = -1000) isReady: {} | ||||
|  | ||||
| Unresponded network requests might result in timeout errors in Detox tests. | ||||
|  | ||||
| 23:34:44.680 detox[287] [90mi[39m send message | ||||
|   data: {"type":"cleanup","params":{"stopRunner":true},"messageId":-49642} | ||||
| 23:34:44.681 detox[286] [90mi[39m get | ||||
|   data: {"type":"cleanup","params":{"stopRunner":true},"messageId":-49642} | ||||
| 23:34:44.681 detox[286] [90mi[39m send | ||||
|   data: { | ||||
|     "type": "cleanup", | ||||
|     "params": { | ||||
|       "stopRunner": true | ||||
|     }, | ||||
|     "messageId": -49642 | ||||
|   } | ||||
| 23:34:49.683 detox[287] [90mi[39m The pending request #-49642 ("cleanup") has been rejected due to the following error: | ||||
|  | ||||
| The tester has not received a response within 5000ms timeout to the message: | ||||
|  | ||||
| Cleanup { | ||||
|   type: 'cleanup', | ||||
|   params: [Object], | ||||
|   messageId: -49642 | ||||
| } | ||||
| 23:34:49.687 detox[286] [90mi[39m tester exited session 85295354-1163-f241-e2d5-6b40862968db | ||||
| 23:34:49.688 detox[286] [90mi[39m send | ||||
|   data: { | ||||
|     "type": "testerDisconnected", | ||||
|     "messageId": -1 | ||||
|   } | ||||
| 23:34:49.688 detox[286] [90mE[39m connection :55801<->:55810 | ||||
| 23:34:49.688 detox[287] [90mi[39m sending SIGINT to: /Users/arvinh/Library/Android/sdk/platform-tools/adb -s emulator-5554 shell am instrument -w -r -e detoxServer ws://localhost:55801 -e detoxSessionId 85295354-1163-f241-e2d5-6b40862968db -e debug false com.awesomeproject.test/androidx.test.runner.AndroidJUnitRunner | ||||
| 23:34:49.691 detox[287] [90mi[39m /Users/arvinh/Library/Android/sdk/platform-tools/adb -s emulator-5554 shell am instrument -w -r -e detoxServer ws://localhost:55801 -e detoxSessionId 85295354-1163-f241-e2d5-6b40862968db -e debug false com.awesomeproject.test/androidx.test.runner.AndroidJUnitRunner terminated with SIGINT | ||||
| 23:34:49.691 detox[287] [90mi[39m An error occurred while waiting for the app to become ready. Waiting for disconnection... | ||||
|   error: Failed to run application on the device | ||||
|    | ||||
|   HINT: Most likely, your tests have timed out and called detox.cleanup() while it was waiting for "ready" message (over WebSocket) from the instrumentation process. | ||||
| 23:34:49.692 detox[287] [90mi[39m "/Users/arvinh/Library/Android/sdk/platform-tools/adb" -s emulator-5554 reverse --remove tcp:55801 | ||||
| 23:34:49.693 detox[287] [90mB[39m free | ||||
|   args: ({"adbName":"emulator-5554"}, {"shutdown":false}) | ||||
| 23:34:49.699 detox[287] [90mE[39m free | ||||
| 23:34:49.699 detox[287] [90mE[39m tear down environment | ||||
| 23:34:49.699 detox[287] [90mE[39m e2e/NativeModule.test.ts | ||||
| 23:34:49.705 detox[287] [90mi[39m dispatching event to  primary-286 /tmp/detox.primary-286  :  reportTestResults , { | ||||
|   testResults: [ | ||||
|     { | ||||
|       success: false, | ||||
|       testFilePath: '/Users/arvinh/Desktop/wooza/react-native-pushy/Example/testHotUpdate/e2e/NativeModule.test.ts', | ||||
|       testExecError: undefined, | ||||
|       isPermanentFailure: false | ||||
|     } | ||||
|   ] | ||||
| } | ||||
| 23:34:49.706 detox[286] [90mi[39m received event of :  reportTestResults { | ||||
|   testResults: [ | ||||
|     { | ||||
|       success: false, | ||||
|       testFilePath: '/Users/arvinh/Desktop/wooza/react-native-pushy/Example/testHotUpdate/e2e/NativeModule.test.ts', | ||||
|       isPermanentFailure: false | ||||
|     } | ||||
|   ] | ||||
| } | ||||
| 23:34:49.706 detox[286] [90mi[39m dispatching event to socket  :  reportTestResultsDone { | ||||
|   testResults: [ | ||||
|     { | ||||
|       success: false, | ||||
|       testFilePath: '/Users/arvinh/Desktop/wooza/react-native-pushy/Example/testHotUpdate/e2e/NativeModule.test.ts', | ||||
|       isPermanentFailure: false | ||||
|     } | ||||
|   ] | ||||
| } | ||||
| 23:34:49.706 detox[286] [90mi[39m broadcasting event to all known sockets listening to  /tmp/detox.primary-286  :   sessionStateUpdate { | ||||
|   testResults: [ | ||||
|     { | ||||
|       success: false, | ||||
|       testFilePath: '/Users/arvinh/Desktop/wooza/react-native-pushy/Example/testHotUpdate/e2e/NativeModule.test.ts', | ||||
|       isPermanentFailure: false | ||||
|     } | ||||
|   ] | ||||
| } | ||||
| 23:34:49.706 detox[287] [90mi[39m ## received events ## | ||||
| 23:34:49.707 detox[287] [90mi[39m detected event reportTestResultsDone { | ||||
|   testResults: [ | ||||
|     { | ||||
|       success: false, | ||||
|       testFilePath: '/Users/arvinh/Desktop/wooza/react-native-pushy/Example/testHotUpdate/e2e/NativeModule.test.ts', | ||||
|       isPermanentFailure: false | ||||
|     } | ||||
|   ] | ||||
| } | ||||
| 23:34:49.710 detox[286] [90mi[39m socket disconnected secondary-287 | ||||
| 23:34:49.710 detox[287] [90mi[39m connection closed primary-286 /tmp/detox.primary-286 0 tries remaining of 0 | ||||
| 23:34:49.710 detox[287] [90mi[39m secondary-287 exceeded connection rety amount of  or stopRetrying flag set. | ||||
| 23:34:49.714 detox[287] [90mi[39m  | ||||
| 23:34:49.777 detox[286] [90mE[39m Command failed with exit code = 1: | ||||
| jest --config e2e/jest.config.js | ||||
| 23:34:49.778 detox[286] [90mi[39m Detox server has been closed gracefully | ||||
| 23:34:49.778 detox[286] [90mi[39m app exited session 85295354-1163-f241-e2d5-6b40862968db | ||||
| 23:34:49.778 detox[286] [90mE[39m connection :55801<->:55919 | ||||
| 23:34:49.779 detox[286] [90mE[39m ../../node_modules/.bin/detox test --configuration android.emu.debug --headless --record-logs all | ||||
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							| @@ -0,0 +1,270 @@ | ||||
| --------- beginning of main | ||||
| 12-09 14:40:08.705 20108 20108 I .awesomeproject: Late-enabling -Xcheck:jni | ||||
| 12-09 14:40:08.746 20108 20108 D CompatibilityChangeReporter: Compat change id reported: 171979766; UID 10184; state: ENABLED | ||||
| --------- beginning of system | ||||
| 12-09 14:40:08.751 20108 20108 W ActivityThread: Package uses different ABI(s) than its instrumentation: package[com.awesomeproject]: arm64-v8a, null instrumentation[com.awesomeproject.test]: null, null | ||||
| 12-09 14:40:08.753 20108 20108 W .awesomeproject: ClassLoaderContext classpath size mismatch. expected=0, found=1 (PCL[] | PCL[/system/framework/android.test.runner.jar*2256426886]) | ||||
| 12-09 14:40:08.754 20108 20108 W .awesomeproject: ClassLoaderContext classpath size mismatch. expected=0, found=2 (PCL[] | PCL[/system/framework/android.test.runner.jar*2256426886:/system/framework/android.test.mock.jar*849501951]) | ||||
| 12-09 14:40:08.754 20108 20108 W ziparchive: Unable to open '/data/app/~~JbluuSx6QTkqb_6NTsHF9w==/com.awesomeproject.test-hBD1JykP08ciZhLfSyPoEw==/base.dm': No such file or directory | ||||
| 12-09 14:40:08.754 20108 20108 W ziparchive: Unable to open '/data/app/~~JbluuSx6QTkqb_6NTsHF9w==/com.awesomeproject.test-hBD1JykP08ciZhLfSyPoEw==/base.dm': No such file or directory | ||||
| 12-09 14:40:08.815 20108 20108 W ziparchive: Unable to open '/data/app/~~sJBymP1pJHzMrTfEnUzLyQ==/com.awesomeproject-o0qibQ9IJbng_NpEZc31Ow==/base.dm': No such file or directory | ||||
| 12-09 14:40:08.815 20108 20108 W ziparchive: Unable to open '/data/app/~~sJBymP1pJHzMrTfEnUzLyQ==/com.awesomeproject-o0qibQ9IJbng_NpEZc31Ow==/base.dm': No such file or directory | ||||
| 12-09 14:40:08.886 20108 20108 V GraphicsEnvironment: ANGLE Developer option for 'com.awesomeproject' set to: 'default' | ||||
| 12-09 14:40:08.886 20108 20108 V GraphicsEnvironment: ANGLE GameManagerService for com.awesomeproject: false | ||||
| 12-09 14:40:08.886 20108 20108 V GraphicsEnvironment: Neither updatable production driver nor prerelease driver is supported. | ||||
| 12-09 14:40:08.887 20108 20108 D ApplicationLoaders: Returning zygote-cached class loader: /system/framework/android.test.base.jar | ||||
| 12-09 14:40:08.888 20108 20108 D ApplicationLoaders: Returning zygote-cached class loader: /system/framework/android.test.base.jar | ||||
| 12-09 14:40:08.888 20108 20108 W .awesomeproject: ClassLoaderContext shared library size mismatch. Expected=0, found=2 (PCL[] | PCL[]{PCL[/system/framework/android.test.base.jar*1628045882]#PCL[/system/framework/android.test.mock.jar*849501951]}) | ||||
| 12-09 14:40:08.889 20108 20108 W .awesomeproject: ClassLoaderContext shared library size mismatch. Expected=0, found=3 (PCL[] | PCL[]{PCL[/system/framework/android.test.base.jar*1628045882]#PCL[/system/framework/android.test.mock.jar*849501951]#PCL[/system/framework/android.test.runner.jar*2256426886]{PCL[/system/framework/android.test.base.jar*1628045882]#PCL[/system/framework/android.test.mock.jar*849501951]}};PCL[/system/framework/android.test.runner.jar*2256426886:/system/framework/android.test.mock.jar*849501951:/system/framework/android.test.base.jar*1628045882:/data/app/~~JbluuSx6QTkqb_6NTsHF9w==/com.awesomeproject.test-hBD1JykP08ciZhLfSyPoEw==/base.apk*3488107038:/data/app/~~JbluuSx6QTkqb_6NTsHF9w==/com.awesomeproject.test-hBD1JykP08ciZhLfSyPoEw==/base.apk!classes2.dex*3802597924:/data/app/~~JbluuSx6QTkqb_6NTsHF9w==/com.awesomeproject.test-hBD1JykP08ciZhLfSyPoEw==/base.apk!classes3.dex*1113348705:/data/app/~~JbluuSx6QTkqb_6NTsHF9w==/com.awesomeproject.test-hBD1JykP08ciZhLfSyPoEw==/base.apk!classes4.dex*1609470516:/data/app/~~sJBymP1pJHzMrTfEnUzLyQ==/com.awesomeproject-o0qibQ9IJbng_NpEZc31Ow==/base.apk*4280308006:/data/app/~~sJBymP1pJHzMrTfEnUzLyQ==/com.awesomeproject-o0qibQ9IJbng_NpEZc31Ow==/base.apk!classes2.dex*2341650508:/data/app/~~sJBymP1pJHzMrTfEnUzLyQ==/com.awesomeproject-o0qibQ9IJbng_NpEZc31Ow==/base.apk!classes3.dex*2242498629:/data/app/~~sJBymP1pJHzMrTfEnUzLyQ==/com.awesomeproject-o0qibQ9IJbng_NpEZc31Ow==/base.apk!classes4.dex*1939924932:/data/app/~~sJBymP1pJHzMrTfEnUzLyQ==/com.awesomeproject-o0qibQ9IJbng_NpEZc31Ow==/base.apk!classes5.dex*3428091317:/data/app/~~sJBymP1pJHzMrTfEnUzLyQ==/com.awesomeproject-o0qibQ9IJbng_NpEZc31Ow==/base.apk!classes6.dex*1896867339:/data/app/~~sJBymP1pJHzMrTfEnUzLyQ==/com.awesomeproject-o0qibQ9IJbng_NpEZc31Ow==/base.apk!classes7.dex*616740603]) | ||||
| 12-09 14:40:08.889 20108 20108 W .awesomeproject: ClassLoaderContext classpath size mismatch. expected=0, found=1 (PCL[] | PCL[/system/framework/android.test.runner.jar*2256426886]{PCL[/system/framework/android.test.base.jar*1628045882]#PCL[/system/framework/android.test.mock.jar*849501951]#PCL[/system/framework/android.test.runner.jar*2256426886]{PCL[/system/framework/android.test.base.jar*1628045882]#PCL[/system/framework/android.test.mock.jar*849501951]}};PCL[/system/framework/android.test.runner.jar*2256426886:/system/framework/android.test.mock.jar*849501951:/system/framework/android.test.base.jar*1628045882:/data/app/~~JbluuSx6QTkqb_6NTsHF9w==/com.awesomeproject.test-hBD1JykP08ciZhLfSyPoEw==/base.apk*3488107038:/data/app/~~JbluuSx6QTkqb_6NTsHF9w==/com.awesomeproject.test-hBD1JykP08ciZhLfSyPoEw==/base.apk!classes2.dex*3802597924:/data/app/~~JbluuSx6QTkqb_6NTsHF9w==/com.awesomeproject.test-hBD1JykP08ciZhLfSyPoEw==/base.apk!classes3.dex*1113348705:/data/app/~~JbluuSx6QTkqb_6NTsHF9w==/com.awesomeproject.test-hBD1JykP08ciZhLfSyPoEw==/base.apk!classes4.dex*1609470516:/data/app/~~sJBymP1pJHzMrTfEnUzLyQ==/com.awesomeproject-o0qibQ9IJbng_NpEZc31Ow==/base.apk*4280308006:/data/app/~~sJBymP1pJHzMrTfEnUzLyQ==/com.awesomeproject-o0qibQ9IJbng_NpEZc31Ow==/base.apk!classes2.dex*2341650508:/data/app/~~sJBymP1pJHzMrTfEnUzLyQ==/com.awesomeproject-o0qibQ9IJbng_NpEZc31Ow==/base.apk!classes3.dex*2242498629:/data/app/~~sJBymP1pJHzMrTfEnUzLyQ==/com.awesomeproject-o0qibQ9IJbng_NpEZc31Ow==/base.apk!classes4.dex*1939924932:/data/app/~~sJBymP1pJHzMrTfEnUzLyQ==/com.awesomeproject-o0qibQ9IJbng_NpEZc31Ow==/base.apk!classes5.dex*3428091317:/data/app/~~sJBymP1pJHzMrTfEnUzLyQ==/com.awesomeproject-o0qibQ9IJbng_NpEZc31Ow==/base.apk!classes6.dex*1896867339:/data/app/~~sJBymP1pJHzMrTfEnUzLyQ==/com.awesomeproject-o0qibQ9IJbng_NpEZc31Ow==/base.apk!classes7.dex*616740603]) | ||||
| 12-09 14:40:08.889 20108 20108 W .awesomeproject: ClassLoaderContext classpath size mismatch. expected=0, found=2 (PCL[] | PCL[/system/framework/android.test.runner.jar*2256426886:/system/framework/android.test.mock.jar*849501951]{PCL[/system/framework/android.test.base.jar*1628045882]#PCL[/system/framework/android.test.mock.jar*849501951]#PCL[/system/framework/android.test.runner.jar*2256426886]{PCL[/system/framework/android.test.base.jar*1628045882]#PCL[/system/framework/android.test.mock.jar*849501951]}};PCL[/system/framework/android.test.runner.jar*2256426886:/system/framework/android.test.mock.jar*849501951:/system/framework/android.test.base.jar*1628045882:/data/app/~~JbluuSx6QTkqb_6NTsHF9w==/com.awesomeproject.test-hBD1JykP08ciZhLfSyPoEw==/base.apk*3488107038:/data/app/~~JbluuSx6QTkqb_6NTsHF9w==/com.awesomeproject.test-hBD1JykP08ciZhLfSyPoEw==/base.apk!classes2.dex*3802597924:/data/app/~~JbluuSx6QTkqb_6NTsHF9w==/com.awesomeproject.test-hBD1JykP08ciZhLfSyPoEw==/base.apk!classes3.dex*1113348705:/data/app/~~JbluuSx6QTkqb_6NTsHF9w==/com.awesomeproject.test-hBD1JykP08ciZhLfSyPoEw==/base.apk!classes4.dex*1609470516:/data/app/~~sJBymP1pJHzMrTfEnUzLyQ==/com.awesomeproject-o0qibQ9IJbng_NpEZc31Ow==/base.apk*4280308006:/data/app/~~sJBymP1pJHzMrTfEnUzLyQ==/com.awesomeproject-o0qibQ9IJbng_NpEZc31Ow==/base.apk!classes2.dex*2341650508:/data/app/~~sJBymP1pJHzMrTfEnUzLyQ==/com.awesomeproject-o0qibQ9IJbng_NpEZc31Ow==/base.apk!classes3.dex*2242498629:/data/app/~~sJBymP1pJHzMrTfEnUzLyQ==/com.awesomeproject-o0qibQ9IJbng_NpEZc31Ow==/base.apk!classes4.dex*1939924932:/data/app/~~sJBymP1pJHzMrTfEnUzLyQ==/com.awesomeproject-o0qibQ9IJbng_NpEZc31Ow==/base.apk!classes5.dex*3428091317:/data/app/~~sJBymP1pJHzMrTfEnUzLyQ==/com.awesomeproject-o0qibQ9IJbng_NpEZc31Ow==/base.apk!classes6.dex*1896867339:/data/app/~~sJBymP1pJHzMrTfEnUzLyQ==/com.awesomeproject-o0qibQ9IJbng_NpEZc31Ow==/base.apk!classes7.dex*616740603]) | ||||
| 12-09 14:40:08.889 20108 20108 W ziparchive: Unable to open '/data/app/~~JbluuSx6QTkqb_6NTsHF9w==/com.awesomeproject.test-hBD1JykP08ciZhLfSyPoEw==/base.dm': No such file or directory | ||||
| 12-09 14:40:08.889 20108 20108 W ziparchive: Unable to open '/data/app/~~JbluuSx6QTkqb_6NTsHF9w==/com.awesomeproject.test-hBD1JykP08ciZhLfSyPoEw==/base.dm': No such file or directory | ||||
| 12-09 14:40:08.940 20108 20108 W ziparchive: Unable to open '/data/app/~~sJBymP1pJHzMrTfEnUzLyQ==/com.awesomeproject-o0qibQ9IJbng_NpEZc31Ow==/base.dm': No such file or directory | ||||
| 12-09 14:40:08.940 20108 20108 W ziparchive: Unable to open '/data/app/~~sJBymP1pJHzMrTfEnUzLyQ==/com.awesomeproject-o0qibQ9IJbng_NpEZc31Ow==/base.dm': No such file or directory | ||||
| 12-09 14:40:09.014 20108 20108 D NetworkSecurityConfig: Using Network Security Config from resource network_security_config debugBuild: true | ||||
| 12-09 14:40:09.014 20108 20108 D NetworkSecurityConfig: Using Network Security Config from resource network_security_config debugBuild: true | ||||
| 12-09 14:40:09.018 20108 20108 I MonitoringInstr: Instrumentation started! | ||||
| 12-09 14:40:09.020 20108 20108 V TestEventClient: No service name argument was given (testDiscoveryService, testRunEventService or orchestratorService) | ||||
| 12-09 14:40:09.021 20108 20108 V fb-UnpackingSoSource: locked dso store /data/user/0/com.awesomeproject/lib-main | ||||
| 12-09 14:40:09.022 20108 20108 V fb-UnpackingSoSource: deps mismatch on deps store: regenerating | ||||
| 12-09 14:40:09.022 20108 20108 V fb-UnpackingSoSource: so store dirty: regenerating | ||||
| 12-09 14:40:09.032 20108 20108 D ApkSoSource: not allowing consideration of lib/arm64-v8a/libc++_shared.so: deferring to libdir | ||||
| 12-09 14:40:09.032 20108 20108 D ApkSoSource: not allowing consideration of lib/arm64-v8a/libevent-2.1.so: deferring to libdir | ||||
| 12-09 14:40:09.032 20108 20108 D ApkSoSource: not allowing consideration of lib/arm64-v8a/libevent_core-2.1.so: deferring to libdir | ||||
| 12-09 14:40:09.033 20108 20108 D ApkSoSource: not allowing consideration of lib/arm64-v8a/libevent_extra-2.1.so: deferring to libdir | ||||
| 12-09 14:40:09.033 20108 20108 D ApkSoSource: not allowing consideration of lib/arm64-v8a/libfabricjni.so: deferring to libdir | ||||
| 12-09 14:40:09.033 20108 20108 D ApkSoSource: not allowing consideration of lib/arm64-v8a/libfb.so: deferring to libdir | ||||
| 12-09 14:40:09.033 20108 20108 D ApkSoSource: not allowing consideration of lib/arm64-v8a/libfbjni.so: deferring to libdir | ||||
| 12-09 14:40:09.033 20108 20108 D ApkSoSource: not allowing consideration of lib/arm64-v8a/libflipper.so: deferring to libdir | ||||
| 12-09 14:40:09.033 20108 20108 D ApkSoSource: not allowing consideration of lib/arm64-v8a/libfolly_runtime.so: deferring to libdir | ||||
| 12-09 14:40:09.033 20108 20108 D ApkSoSource: not allowing consideration of lib/arm64-v8a/libglog.so: deferring to libdir | ||||
| 12-09 14:40:09.033 20108 20108 D ApkSoSource: not allowing consideration of lib/arm64-v8a/libglog_init.so: deferring to libdir | ||||
| 12-09 14:40:09.033 20108 20108 D ApkSoSource: not allowing consideration of lib/arm64-v8a/libimagepipeline.so: deferring to libdir | ||||
| 12-09 14:40:09.033 20108 20108 D ApkSoSource: not allowing consideration of lib/arm64-v8a/libjsc.so: deferring to libdir | ||||
| 12-09 14:40:09.033 20108 20108 D ApkSoSource: not allowing consideration of lib/arm64-v8a/libjscexecutor.so: deferring to libdir | ||||
| 12-09 14:40:09.033 20108 20108 D ApkSoSource: not allowing consideration of lib/arm64-v8a/libjsi.so: deferring to libdir | ||||
| 12-09 14:40:09.033 20108 20108 D ApkSoSource: not allowing consideration of lib/arm64-v8a/libjsijniprofiler.so: deferring to libdir | ||||
| 12-09 14:40:09.033 20108 20108 D ApkSoSource: not allowing consideration of lib/arm64-v8a/libjsinspector.so: deferring to libdir | ||||
| 12-09 14:40:09.033 20108 20108 D ApkSoSource: not allowing consideration of lib/arm64-v8a/liblogger.so: deferring to libdir | ||||
| 12-09 14:40:09.033 20108 20108 D ApkSoSource: not allowing consideration of lib/arm64-v8a/libmapbufferjni.so: deferring to libdir | ||||
| 12-09 14:40:09.033 20108 20108 D ApkSoSource: not allowing consideration of lib/arm64-v8a/libnative-filters.so: deferring to libdir | ||||
| 12-09 14:40:09.033 20108 20108 D ApkSoSource: not allowing consideration of lib/arm64-v8a/libnative-imagetranscoder.so: deferring to libdir | ||||
| 12-09 14:40:09.033 20108 20108 D ApkSoSource: not allowing consideration of lib/arm64-v8a/libreact_codegen_rncore.so: deferring to libdir | ||||
| 12-09 14:40:09.033 20108 20108 D ApkSoSource: not allowing consideration of lib/arm64-v8a/libreact_config.so: deferring to libdir | ||||
| 12-09 14:40:09.033 20108 20108 D ApkSoSource: not allowing consideration of lib/arm64-v8a/libreact_debug.so: deferring to libdir | ||||
| 12-09 14:40:09.034 20108 20108 D ApkSoSource: not allowing consideration of lib/arm64-v8a/libreact_nativemodule_core.so: deferring to libdir | ||||
| 12-09 14:40:09.034 20108 20108 D ApkSoSource: not allowing consideration of lib/arm64-v8a/libreact_render_animations.so: deferring to libdir | ||||
| 12-09 14:40:09.034 20108 20108 D ApkSoSource: not allowing consideration of lib/arm64-v8a/libreact_render_attributedstring.so: deferring to libdir | ||||
| 12-09 14:40:09.034 20108 20108 D ApkSoSource: not allowing consideration of lib/arm64-v8a/libreact_render_componentregistry.so: deferring to libdir | ||||
| 12-09 14:40:09.034 20108 20108 D ApkSoSource: not allowing consideration of lib/arm64-v8a/libreact_render_core.so: deferring to libdir | ||||
| 12-09 14:40:09.034 20108 20108 D ApkSoSource: not allowing consideration of lib/arm64-v8a/libreact_render_debug.so: deferring to libdir | ||||
| 12-09 14:40:09.034 20108 20108 D ApkSoSource: not allowing consideration of lib/arm64-v8a/libreact_render_graphics.so: deferring to libdir | ||||
| 12-09 14:40:09.034 20108 20108 D ApkSoSource: not allowing consideration of lib/arm64-v8a/libreact_render_imagemanager.so: deferring to libdir | ||||
| 12-09 14:40:09.034 20108 20108 D ApkSoSource: not allowing consideration of lib/arm64-v8a/libreact_render_leakchecker.so: deferring to libdir | ||||
| 12-09 14:40:09.034 20108 20108 D ApkSoSource: not allowing consideration of lib/arm64-v8a/libreact_render_mapbuffer.so: deferring to libdir | ||||
| 12-09 14:40:09.034 20108 20108 D ApkSoSource: not allowing consideration of lib/arm64-v8a/libreact_render_mounting.so: deferring to libdir | ||||
| 12-09 14:40:09.034 20108 20108 D ApkSoSource: not allowing consideration of lib/arm64-v8a/libreact_render_runtimescheduler.so: deferring to libdir | ||||
| 12-09 14:40:09.034 20108 20108 D ApkSoSource: not allowing consideration of lib/arm64-v8a/libreact_render_scheduler.so: deferring to libdir | ||||
| 12-09 14:40:09.034 20108 20108 D ApkSoSource: not allowing consideration of lib/arm64-v8a/libreact_render_telemetry.so: deferring to libdir | ||||
| 12-09 14:40:09.034 20108 20108 D ApkSoSource: not allowing consideration of lib/arm64-v8a/libreact_render_templateprocessor.so: deferring to libdir | ||||
| 12-09 14:40:09.034 20108 20108 D ApkSoSource: not allowing consideration of lib/arm64-v8a/libreact_render_textlayoutmanager.so: deferring to libdir | ||||
| 12-09 14:40:09.034 20108 20108 D ApkSoSource: not allowing consideration of lib/arm64-v8a/libreact_render_uimanager.so: deferring to libdir | ||||
| 12-09 14:40:09.034 20108 20108 D ApkSoSource: not allowing consideration of lib/arm64-v8a/libreact_utils.so: deferring to libdir | ||||
| 12-09 14:40:09.034 20108 20108 D ApkSoSource: not allowing consideration of lib/arm64-v8a/libreactnativeblob.so: deferring to libdir | ||||
| 12-09 14:40:09.034 20108 20108 D ApkSoSource: not allowing consideration of lib/arm64-v8a/libreactnativejni.so: deferring to libdir | ||||
| 12-09 14:40:09.034 20108 20108 D ApkSoSource: not allowing consideration of lib/arm64-v8a/libreactperfloggerjni.so: deferring to libdir | ||||
| 12-09 14:40:09.034 20108 20108 D ApkSoSource: not allowing consideration of lib/arm64-v8a/librnupdate.so: deferring to libdir | ||||
| 12-09 14:40:09.034 20108 20108 D ApkSoSource: not allowing consideration of lib/arm64-v8a/librrc_image.so: deferring to libdir | ||||
| 12-09 14:40:09.034 20108 20108 D ApkSoSource: not allowing consideration of lib/arm64-v8a/librrc_root.so: deferring to libdir | ||||
| 12-09 14:40:09.034 20108 20108 D ApkSoSource: not allowing consideration of lib/arm64-v8a/librrc_scrollview.so: deferring to libdir | ||||
| 12-09 14:40:09.034 20108 20108 D ApkSoSource: not allowing consideration of lib/arm64-v8a/librrc_text.so: deferring to libdir | ||||
| 12-09 14:40:09.034 20108 20108 D ApkSoSource: not allowing consideration of lib/arm64-v8a/librrc_textinput.so: deferring to libdir | ||||
| 12-09 14:40:09.034 20108 20108 D ApkSoSource: not allowing consideration of lib/arm64-v8a/librrc_unimplementedview.so: deferring to libdir | ||||
| 12-09 14:40:09.034 20108 20108 D ApkSoSource: not allowing consideration of lib/arm64-v8a/librrc_view.so: deferring to libdir | ||||
| 12-09 14:40:09.034 20108 20108 D ApkSoSource: not allowing consideration of lib/arm64-v8a/libruntimeexecutor.so: deferring to libdir | ||||
| 12-09 14:40:09.034 20108 20108 D ApkSoSource: not allowing consideration of lib/arm64-v8a/libturbomodulejsijni.so: deferring to libdir | ||||
| 12-09 14:40:09.034 20108 20108 D ApkSoSource: not allowing consideration of lib/arm64-v8a/libyoga.so: deferring to libdir | ||||
| 12-09 14:40:09.034 20108 20108 V fb-UnpackingSoSource: regenerating DSO store com.facebook.soloader.ApkSoSource | ||||
| 12-09 14:40:09.034 20108 20108 V fb-UnpackingSoSource: Finished regenerating DSO store com.facebook.soloader.ApkSoSource | ||||
| 12-09 14:40:09.034 20108 20108 V fb-UnpackingSoSource: starting syncer worker | ||||
| 12-09 14:40:09.037 20108 20108 V fb-UnpackingSoSource: releasing dso store lock for /data/user/0/com.awesomeproject/lib-main (from syncer thread) | ||||
| 12-09 14:40:09.037 20108 20108 V fb-UnpackingSoSource: not releasing dso store lock for /data/user/0/com.awesomeproject/lib-main (syncer thread started) | ||||
| 12-09 14:40:09.039 20108 20108 D SoLoader: libjscexecutor.so not found on /data/data/com.awesomeproject/lib-main | ||||
| 12-09 14:40:09.039 20108 20108 D SoLoader: libjscexecutor.so found on /data/app/~~sJBymP1pJHzMrTfEnUzLyQ==/com.awesomeproject-o0qibQ9IJbng_NpEZc31Ow==/lib/arm64 | ||||
| 12-09 14:40:09.039 20108 20108 D SoLoader: Not resolving dependencies for libjscexecutor.so | ||||
| 12-09 14:40:09.046 20108 20108 D JavaScriptCore.Version: 250230.2.1 | ||||
| 12-09 14:40:09.072 20108 20130 D SoLoader: libfbjni.so not found on /data/data/com.awesomeproject/lib-main | ||||
| 12-09 14:40:09.072 20108 20130 D SoLoader: libfbjni.so found on /data/app/~~sJBymP1pJHzMrTfEnUzLyQ==/com.awesomeproject-o0qibQ9IJbng_NpEZc31Ow==/lib/arm64 | ||||
| 12-09 14:40:09.072 20108 20130 D SoLoader: Not resolving dependencies for libfbjni.so | ||||
| 12-09 14:40:09.073 20108 20130 D SoLoader: libflipper.so not found on /data/data/com.awesomeproject/lib-main | ||||
| 12-09 14:40:09.073 20108 20130 D SoLoader: libflipper.so found on /data/app/~~sJBymP1pJHzMrTfEnUzLyQ==/com.awesomeproject-o0qibQ9IJbng_NpEZc31Ow==/lib/arm64 | ||||
| 12-09 14:40:09.073 20108 20130 D SoLoader: Not resolving dependencies for libflipper.so | ||||
| 12-09 14:40:09.106 20108 20108 W .awesomeproject: Accessing hidden field Landroid/view/View;->mKeyedTags:Landroid/util/SparseArray; (unsupported, reflection, allowed) | ||||
| 12-09 14:40:09.106 20108 20108 W .awesomeproject: Accessing hidden field Landroid/view/View;->mListenerInfo:Landroid/view/View$ListenerInfo; (unsupported, reflection, allowed) | ||||
| 12-09 14:40:09.106 20108 20108 W .awesomeproject: Accessing hidden field Landroid/view/View$ListenerInfo;->mOnClickListener:Landroid/view/View$OnClickListener; (unsupported, reflection, allowed) | ||||
| 12-09 14:40:09.108 20108 20108 I flipper : flipper: FlipperClient::addPlugin Inspector | ||||
| 12-09 14:40:09.110 20108 20108 I flipper : flipper: FlipperClient::addPlugin React | ||||
| 12-09 14:40:09.110 20108 20108 I flipper : flipper: FlipperClient::addPlugin Databases | ||||
| 12-09 14:40:09.112 20108 20108 I flipper : flipper: FlipperClient::addPlugin Preferences | ||||
| 12-09 14:40:09.112 20108 20108 I flipper : flipper: FlipperClient::addPlugin CrashReporter | ||||
| 12-09 14:40:09.113 20108 20108 I flipper : flipper: FlipperClient::addPlugin Network | ||||
| 12-09 14:40:09.117 20108 20135 D TrafficStats: tagSocket(86) with statsTag=0xffffffff, statsUid=-1 | ||||
| 12-09 14:40:09.124 20108 20134 D TrafficStats: tagSocket(85) with statsTag=0xffffffff, statsUid=-1 | ||||
| 12-09 14:40:09.138 20108 20125 I UsageTrackerFacilitator: Usage tracking enabled | ||||
| 12-09 14:40:09.141 20108 20125 I TestRequestBuilder: Scanning classpath to find tests in paths [/data/app/~~JbluuSx6QTkqb_6NTsHF9w==/com.awesomeproject.test-hBD1JykP08ciZhLfSyPoEw==/base.apk] | ||||
| 12-09 14:40:09.141 20108 20125 W .awesomeproject: Opening an oat file without a class loader. Are you using the deprecated DexFile APIs? | ||||
| 12-09 14:40:09.291 20108 20129 W .awesomeproject: Verification of void org.slf4j.LoggerFactory.replayEvents() took 160.243ms (374.43 bytecodes/s) (2800B approximate peak alloc) | ||||
| 12-09 14:40:09.298 20108 20129 W System.err: SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder". | ||||
| 12-09 14:40:09.303 20108 20125 W .awesomeproject: Unable to resolve Lcom/google/android/apps/common/testing/accessibility/framework/AccessibilityHierarchyCheckResult; annotation class 6432 | ||||
| 12-09 14:40:09.303 20108 20125 W .awesomeproject: Unable to resolve Lcom/google/android/apps/common/testing/accessibility/framework/AccessibilityHierarchyCheckResult; annotation class 6432 | ||||
| 12-09 14:40:09.303 20108 20125 W .awesomeproject: Unable to resolve Lcom/google/android/apps/common/testing/accessibility/framework/AccessibilityHierarchyCheckResult; annotation class 6432 | ||||
| 12-09 14:40:09.303 20108 20125 W .awesomeproject: Unable to resolve Lcom/google/android/apps/common/testing/accessibility/framework/AccessibilityHierarchyCheckResult; annotation class 6432 | ||||
| 12-09 14:40:09.303 20108 20125 W .awesomeproject: Unable to resolve Lcom/google/android/apps/common/testing/accessibility/framework/AccessibilityViewCheckResult; annotation class 6432 | ||||
| 12-09 14:40:09.304 20108 20125 W .awesomeproject: Unable to resolve Lcom/google/android/apps/common/testing/accessibility/framework/ClusteringUtils; annotation class 6432 | ||||
| 12-09 14:40:09.304 20108 20125 W .awesomeproject: Unable to resolve Lcom/google/android/apps/common/testing/accessibility/framework/Question; annotation class 6432 | ||||
| 12-09 14:40:09.306 20108 20125 W .awesomeproject: Unable to resolve Lcom/google/android/apps/common/testing/accessibility/framework/replacements/TextUtils; annotation class 6431 | ||||
| 12-09 14:40:09.308 20108 20125 W .awesomeproject: Unable to resolve Lcom/google/android/apps/common/testing/accessibility/framework/uielement/ViewHierarchyElement; annotation class 6432 | ||||
| 12-09 14:40:09.308 20108 20125 W .awesomeproject: Unable to resolve Lcom/google/android/apps/common/testing/accessibility/framework/uielement/ViewHierarchyElement; annotation class 6432 | ||||
| 12-09 14:40:09.308 20108 20125 W .awesomeproject: Unable to resolve Lcom/google/android/apps/common/testing/accessibility/framework/uielement/ViewHierarchyElement; annotation class 6432 | ||||
| 12-09 14:40:09.308 20108 20125 W .awesomeproject: Unable to resolve Lcom/google/android/apps/common/testing/accessibility/framework/uielement/ViewHierarchyElement; annotation class 6432 | ||||
| 12-09 14:40:09.308 20108 20125 W .awesomeproject: Unable to resolve Lcom/google/android/apps/common/testing/accessibility/framework/uielement/ViewHierarchyElementAndroid; annotation class 6432 | ||||
| 12-09 14:40:09.308 20108 20125 W .awesomeproject: Unable to resolve Lcom/google/android/apps/common/testing/accessibility/framework/uielement/ViewHierarchyElementAndroid; annotation class 6432 | ||||
| 12-09 14:40:09.308 20108 20125 W .awesomeproject: Unable to resolve Lcom/google/android/apps/common/testing/accessibility/framework/uielement/ViewHierarchyElementAndroid; annotation class 6432 | ||||
| 12-09 14:40:09.308 20108 20125 W .awesomeproject: Unable to resolve Lcom/google/android/apps/common/testing/accessibility/framework/uielement/ViewHierarchyElementAndroid; annotation class 6432 | ||||
| 12-09 14:40:09.308 20108 20125 W .awesomeproject: Unable to resolve Lcom/google/android/apps/common/testing/accessibility/framework/uielement/ViewHierarchyElement; annotation class 6432 | ||||
| 12-09 14:40:09.309 20108 20125 W .awesomeproject: Unable to resolve Lcom/google/android/apps/common/testing/accessibility/framework/uielement/ViewHierarchyElement; annotation class 6432 | ||||
| 12-09 14:40:09.322 20108 20129 W System.err: SLF4J: Defaulting to no-operation (NOP) logger implementation | ||||
| 12-09 14:40:09.331 20108 20129 W System.err: SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details. | ||||
| 12-09 14:40:09.375 20108 20153 D TrafficStats: tagSocket(96) with statsTag=0xffffffff, statsUid=-1 | ||||
| 12-09 14:40:09.506 20108 20125 D TestExecutor: Adding listener androidx.test.internal.runner.listener.LogRunListener | ||||
| 12-09 14:40:09.506 20108 20125 D TestExecutor: Adding listener androidx.test.internal.runner.listener.InstrumentationResultPrinter | ||||
| 12-09 14:40:09.506 20108 20125 D TestExecutor: Adding listener androidx.test.internal.runner.listener.ActivityFinisherRunListener | ||||
| 12-09 14:40:09.506 20108 20125 I TestRunner: run started: 1 tests | ||||
| 12-09 14:40:09.507 20108 20125 I TestRunner: started: runDetoxTests(com.awesomeproject.DetoxTest) | ||||
| 12-09 14:40:09.512 20108 20125 D EventInjectionStrategy: Creating injection strategy with input manager. | ||||
| 12-09 14:40:09.512 20108 20125 W .awesomeproject: Accessing hidden method Landroid/hardware/input/InputManager;->getInstance()Landroid/hardware/input/InputManager; (unsupported, reflection, allowed) | ||||
| 12-09 14:40:09.512 20108 20125 W .awesomeproject: Accessing hidden method Landroid/hardware/input/InputManager;->injectInputEvent(Landroid/view/InputEvent;I)Z (unsupported, reflection, allowed) | ||||
| 12-09 14:40:09.512 20108 20125 W .awesomeproject: Accessing hidden field Landroid/hardware/input/InputManager;->INJECT_INPUT_EVENT_MODE_WAIT_FOR_FINISH:I (unsupported, reflection, allowed) | ||||
| 12-09 14:40:09.514 20108 20125 W .awesomeproject: Accessing hidden field Ljava/lang/reflect/Field;->accessFlags:I (unsupported, reflection, allowed) | ||||
| 12-09 14:40:09.557 20108 20158 D libEGL  : loaded /vendor/lib64/egl/libEGL_emulation.so | ||||
| 12-09 14:40:09.622 20108 20158 D libEGL  : loaded /vendor/lib64/egl/libGLESv1_CM_emulation.so | ||||
| 12-09 14:40:09.625 20108 20158 D libEGL  : loaded /vendor/lib64/egl/libGLESv2_emulation.so | ||||
| 12-09 14:40:09.644 20108 20108 D LifecycleMonitor: Lifecycle status change: com.awesomeproject.MainActivity@fcceb27 in: PRE_ON_CREATE | ||||
| 12-09 14:40:09.711 20108 20108 W .awesomeproject: Accessing hidden method Landroid/view/View;->computeFitSystemWindows(Landroid/graphics/Rect;Landroid/graphics/Rect;)Z (unsupported, reflection, allowed) | ||||
| 12-09 14:40:09.711 20108 20108 W .awesomeproject: Accessing hidden method Landroid/view/ViewGroup;->makeOptionalFitsSystemWindows()V (unsupported, reflection, allowed) | ||||
| 12-09 14:40:09.711 20108 20108 D LifecycleMonitor: Lifecycle status change: com.awesomeproject.MainActivity@fcceb27 in: CREATED | ||||
| 12-09 14:40:09.712 20108 20108 D LifecycleMonitor: Lifecycle status change: com.awesomeproject.MainActivity@fcceb27 in: STARTED | ||||
| 12-09 14:40:09.713 20108 20108 D LifecycleMonitor: Lifecycle status change: com.awesomeproject.MainActivity@fcceb27 in: RESUMED | ||||
| 12-09 14:40:09.719 20108 20108 W unknown:ReactNative: Packager connection already open, nooping. | ||||
| 12-09 14:40:09.723 20108 20157 D HostConnection: createUnique: call | ||||
| 12-09 14:40:09.724 20108 20157 D HostConnection: HostConnection::get() New Host Connection established 0xb4000077d3ba7910, tid 20157 | ||||
| 12-09 14:40:09.726 20108 20157 D HostConnection: HostComposition ext ANDROID_EMU_CHECKSUM_HELPER_v1 ANDROID_EMU_native_sync_v2 ANDROID_EMU_native_sync_v3 ANDROID_EMU_native_sync_v4 ANDROID_EMU_dma_v1 ANDROID_EMU_direct_mem ANDROID_EMU_host_composition_v1 ANDROID_EMU_host_composition_v2 ANDROID_EMU_vulkan ANDROID_EMU_deferred_vulkan_commands ANDROID_EMU_vulkan_null_optional_strings ANDROID_EMU_vulkan_create_resources_with_requirements ANDROID_EMU_YUV_Cache ANDROID_EMU_vulkan_ignored_handles ANDROID_EMU_has_shared_slots_host_memory_allocator ANDROID_EMU_vulkan_free_memory_sync ANDROID_EMU_vulkan_shader_float16_int8 ANDROID_EMU_vulkan_async_queue_submit ANDROID_EMU_vulkan_queue_submit_with_commands ANDROID_EMU_sync_buffer_data ANDROID_EMU_read_color_buffer_dma ANDROID_EMU_hwc_multi_configs GL_OES_EGL_image_external_essl3 GL_OES_vertex_array_object GL_KHR_texture_compression_astc_ldr ANDROID_EMU_host_side_tracing ANDROID_EMU_gles_max_version_3_0  | ||||
| 12-09 14:40:09.727 20108 20157 W OpenGLRenderer: Failed to choose config with EGL_SWAP_BEHAVIOR_PRESERVED, retrying without... | ||||
| 12-09 14:40:09.728 20108 20157 W OpenGLRenderer: Failed to initialize 101010-2 format, error = EGL_SUCCESS | ||||
| 12-09 14:40:09.728 20108 20157 D EGL_emulation: eglCreateContext: 0xb4000077d3ba6c50: maj 3 min 0 rcv 3 | ||||
| 12-09 14:40:09.729 20108 20157 D EGL_emulation: eglMakeCurrent: 0xb4000077d3ba6c50: ver 3 0 (tinfo 0x79f25a4080) (first time) | ||||
| 12-09 14:40:09.745 20108 20157 I Gralloc4: mapper 4.x is not supported | ||||
| 12-09 14:40:09.746 20108 20157 D HostConnection: createUnique: call | ||||
| 12-09 14:40:09.746 20108 20157 D HostConnection: HostConnection::get() New Host Connection established 0xb4000077d3ba7a90, tid 20157 | ||||
| 12-09 14:40:09.746 20108 20157 D goldfish-address-space: allocate: Ask for block of size 0x100 | ||||
| 12-09 14:40:09.746 20108 20157 D goldfish-address-space: allocate: ioctl allocate returned offset 0x1efff8000 size 0x8000 | ||||
| 12-09 14:40:09.747 20108 20157 W Gralloc4: allocator 4.x is not supported | ||||
| 12-09 14:40:09.752 20108 20157 D HostConnection: HostComposition ext ANDROID_EMU_CHECKSUM_HELPER_v1 ANDROID_EMU_native_sync_v2 ANDROID_EMU_native_sync_v3 ANDROID_EMU_native_sync_v4 ANDROID_EMU_dma_v1 ANDROID_EMU_direct_mem ANDROID_EMU_host_composition_v1 ANDROID_EMU_host_composition_v2 ANDROID_EMU_vulkan ANDROID_EMU_deferred_vulkan_commands ANDROID_EMU_vulkan_null_optional_strings ANDROID_EMU_vulkan_create_resources_with_requirements ANDROID_EMU_YUV_Cache ANDROID_EMU_vulkan_ignored_handles ANDROID_EMU_has_shared_slots_host_memory_allocator ANDROID_EMU_vulkan_free_memory_sync ANDROID_EMU_vulkan_shader_float16_int8 ANDROID_EMU_vulkan_async_queue_submit ANDROID_EMU_vulkan_queue_submit_with_commands ANDROID_EMU_sync_buffer_data ANDROID_EMU_read_color_buffer_dma ANDROID_EMU_hwc_multi_configs GL_OES_EGL_image_external_essl3 GL_OES_vertex_array_object GL_KHR_texture_compression_astc_ldr ANDROID_EMU_host_side_tracing ANDROID_EMU_gles_max_version_3_0  | ||||
| 12-09 14:40:09.758 20108 20161 D TrafficStats: tagSocket(109) with statsTag=0xffffffff, statsUid=-1 | ||||
| 12-09 14:40:09.763 20108 20157 W Parcel  : Expecting binder but got null! | ||||
| 12-09 14:40:09.786 20108 20125 I Detox   : Detox server connection details: url=ws://localhost:55801, sessionId=85295354-1163-f241-e2d5-6b40862968db | ||||
| 12-09 14:40:09.793 20108 20165 I DetoxDispatcher: Handling action '_init' (ID #0)... | ||||
| 12-09 14:40:09.796 20108 20165 I Detox   : Connecting to server... | ||||
| 12-09 14:40:09.796 20108 20165 I DetoxWSClient: At connectToServer | ||||
| 12-09 14:40:09.805 20108 20108 D CompatibilityChangeReporter: Compat change id reported: 210923482; UID 10184; state: DISABLED | ||||
| 12-09 14:40:09.805 20108 20108 D CompatibilityChangeReporter: Compat change id reported: 37756858; UID 10184; state: ENABLED | ||||
| 12-09 14:40:09.811 20108 20167 D TrafficStats: tagSocket(124) with statsTag=0xffffffff, statsUid=-1 | ||||
| 12-09 14:40:09.830 20108 20157 W Parcel  : Expecting binder but got null! | ||||
| 12-09 14:40:09.841 20108 20161 W unknown:ReactNative: Could not parse DebugServerException from: {"originModulePath":"/Users/arvinh/Desktop/wooza/react-native-pushy/Example/testHotUpdate/src/index.js","targetModuleName":"react-native-update","message":"Unable to resolve module react-native-update from /Users/arvinh/Desktop/wooza/react-native-pushy/Example/testHotUpdate/src/index.js: react-native-update could not be found within the project or in these directories:\n  node_modules\n  ../../node_modules\n  ../../../../../node_modules\n\u001b[0m \u001b[90m 23 |\u001b[39m   downloadAndInstallApk\u001b[33m,\u001b[39m\u001b[0m\n\u001b[0m \u001b[90m 24 |\u001b[39m   cInfo\u001b[33m,\u001b[39m\u001b[0m\n\u001b[0m\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 25 |\u001b[39m } \u001b[36mfrom\u001b[39m \u001b[32m'react-native-update'\u001b[39m\u001b[33m;\u001b[39m\u001b[0m\n\u001b[0m \u001b[90m    |\u001b[39m         \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\u001b[0m\n\u001b[0m \u001b[90m 26 |\u001b[39m\u001b[0m\n\u001b[0m \u001b[90m 27 |\u001b[39m \u001b[36mimport\u001b[39m \u001b[33mTestConsole\u001b[39m \u001b[36mfrom\u001b[39m \u001b[32m'./TestConsole'\u001b[39m\u001b[33m;\u001b[39m\u001b[0m\n\u001b[0m \u001b[90m 28 |\u001b[39m\u001b[0m","errors":[{"description":"Unable to resolve module react-native-update from /Users/arvinh/Desktop/wooza/react-native-pushy/Example/testHotUpdate/src/index.js: react-native-update could not be found within the project or in these directories:\n  node_modules\n  ../../node_modules\n  ../../../../../node_modules\n\u001b[0m \u001b[90m 23 |\u001b[39m   downloadAndInstallApk\u001b[33m,\u001b[39m\u001b[0m\n\u001b[0m \u001b[90m 24 |\u001b[39m   cInfo\u001b[33m,\u001b[39m\u001b[0m\n\u001b[0m\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 25 |\u001b[39m } \u001b[36mfrom\u001b[39m \u001b[32m'react-native-update'\u001b[39m\u001b[33m;\u001b[39m\u001b[0m\n\u001b[0m \u001b[90m    |\u001b[39m         \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\u001b[0m\n\u001b[0m \u001b[90m 26 |\u001b[39m\u001b[0m\n\u001b[0m \u001b[90m 27 |\u001b[39m \u001b[36mimport\u001b[39m \u001b[33mTestConsole\u001b[39m \u001b[36mfrom\u001b[39m \u001b[32m'./TestConsole'\u001b[39m\u001b[33m;\u001b[39m\u001b[0m\n\u001b[0m \u001b[90m 28 |\u001b[39m\u001b[0m"}],"name":"Error","stack":"Error: Unable to resolve module react-native-update from /Users/arvinh/Desktop/wooza/react-native-pushy/Example/testHotUpdate/src/index.js: react-native-update could not be found within the project or in these directories:\n  node_modules\n  ../../node_modules\n  ../../../../../node_modules\n\u001b[0m \u001b[90m 23 |\u001b[39m   downloadAndInstallApk\u001b[33m,\u001b[39m\u001b[0m\n\u001b[0m \u001b[90m 24 |\u001b[39m   cInfo\u001b[33m,\u001b[39m\u001b[0m\n\u001b[0m\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 25 |\u001b[39m } \u001b[36mfrom\u001b[39m \u001b[32m'react-native-update'\u001b[39m\u001b[33m;\u001b[39m\u001b[0m\n\u001b[0m \u001b[90m    |\u001b[39m         \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\u001b[0m\n\u001b[0m \u001b[90m 26 |\u001b[39m\u001b[0m\n\u001b[0m \u001b[90m 27 |\u001b[39m \u001b[36mimport\u001b[39m \u001b[33mTestConsole\u001b[39m \u001b[36mfrom\u001b[39m \u001b[32m'./TestConsole'\u001b[39m\u001b[33m;\u001b[39m\u001b[0m\n\u001b[0m \u001b[90m 28 |\u001b[39m\u001b[0m\n    at ModuleResolver.resolveDependency (/Users/arvinh/Desktop/wooza/react-native-pushy/Example/testHotUpdate/node_modules/metro/src/node-haste/DependencyGraph/ModuleResolution.js:158:15)\n    at DependencyGraph.resolveDependency (/Users/arvinh/Desktop/wooza/react-native-pushy/Example/testHotUpdate/node_modules/metro/src/node-haste/DependencyGraph.js:231:43)\n    at Object.resolve (/Users/arvinh/Desktop/wooza/react-native-pushy/Example/testHotUpdate/node_modules/metro/src/lib/transformHelpers.js:129:24)\n    at resolve (/Users/arvinh/Desktop/wooza/react-native-pushy/Example/testHotUpdate/node_modules/metro/src/DeltaBundler/traverseDependencies.js:396:33)\n    at /Users/arvinh/Desktop/wooza/react-native-pushy/Example/testHotUpdate/node_modules/ | ||||
| 12-09 14:40:09.841 20108 20161 W unknown:ReactNative: org.json.JSONException: No value for filename | ||||
| 12-09 14:40:09.841 20108 20161 W unknown:ReactNative: 	at org.json.JSONObject.get(JSONObject.java:398) | ||||
| 12-09 14:40:09.841 20108 20161 W unknown:ReactNative: 	at org.json.JSONObject.getString(JSONObject.java:559) | ||||
| 12-09 14:40:09.841 20108 20161 W unknown:ReactNative: 	at com.facebook.react.common.DebugServerException.parse(DebugServerException.java:77) | ||||
| 12-09 14:40:09.841 20108 20161 W unknown:ReactNative: 	at com.facebook.react.devsupport.BundleDownloader.processBundleResult(BundleDownloader.java:251) | ||||
| 12-09 14:40:09.841 20108 20161 W unknown:ReactNative: 	at com.facebook.react.devsupport.BundleDownloader.access$200(BundleDownloader.java:34) | ||||
| 12-09 14:40:09.841 20108 20161 W unknown:ReactNative: 	at com.facebook.react.devsupport.BundleDownloader$2.onChunkComplete(BundleDownloader.java:193) | ||||
| 12-09 14:40:09.841 20108 20161 W unknown:ReactNative: 	at com.facebook.react.devsupport.MultipartStreamReader.emitChunk(MultipartStreamReader.java:70) | ||||
| 12-09 14:40:09.841 20108 20161 W unknown:ReactNative: 	at com.facebook.react.devsupport.MultipartStreamReader.readAllParts(MultipartStreamReader.java:152) | ||||
| 12-09 14:40:09.841 20108 20161 W unknown:ReactNative: 	at com.facebook.react.devsupport.BundleDownloader.processMultipartResponse(BundleDownloader.java:177) | ||||
| 12-09 14:40:09.841 20108 20161 W unknown:ReactNative: 	at com.facebook.react.devsupport.BundleDownloader.access$100(BundleDownloader.java:34) | ||||
| 12-09 14:40:09.841 20108 20161 W unknown:ReactNative: 	at com.facebook.react.devsupport.BundleDownloader$1.onResponse(BundleDownloader.java:147) | ||||
| 12-09 14:40:09.841 20108 20161 W unknown:ReactNative: 	at okhttp3.internal.connection.RealCall$AsyncCall.run(RealCall.kt:519) | ||||
| 12-09 14:40:09.841 20108 20161 W unknown:ReactNative: 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1137) | ||||
| 12-09 14:40:09.841 20108 20161 W unknown:ReactNative: 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:637) | ||||
| 12-09 14:40:09.841 20108 20161 W unknown:ReactNative: 	at java.lang.Thread.run(Thread.java:1012) | ||||
| 12-09 14:40:09.842 20108 20161 E unknown:ReactNative: Unable to download JS bundle | ||||
| 12-09 14:40:09.842 20108 20161 E unknown:ReactNative: com.facebook.react.common.DebugServerException: The development server returned response error code: 500 | ||||
| 12-09 14:40:09.842 20108 20161 E unknown:ReactNative:  | ||||
| 12-09 14:40:09.842 20108 20161 E unknown:ReactNative: URL: http://localhost:8081/index.bundle?platform=android&dev=true&minify=false&app=com.awesomeproject&modulesOnly=false&runModule=true | ||||
| 12-09 14:40:09.842 20108 20161 E unknown:ReactNative:  | ||||
| 12-09 14:40:09.842 20108 20161 E unknown:ReactNative: Body: | ||||
| 12-09 14:40:09.843 20108 20161 E unknown:ReactNative: {"originModulePath":"/Users/arvinh/Desktop/wooza/react-native-pushy/Example/testHotUpdate/src/index.js","targetModuleName":"react-native-update","message":"Unable to resolve module react-native-update from /Users/arvinh/Desktop/wooza/react-native-pushy/Example/testHotUpdate/src/index.js: react-native-update could not be found within the project or in these directories:\n  node_modules\n  ../../node_modules\n  ../../../../../node_modules\n\u001b[0m \u001b[90m 23 |\u001b[39m   downloadAndInstallApk\u001b[33m,\u001b[39m\u001b[0m\n\u001b[0m \u001b[90m 24 |\u001b[39m   cInfo\u001b[33m,\u001b[39m\u001b[0m\n\u001b[0m\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 25 |\u001b[39m } \u001b[36mfrom\u001b[39m \u001b[32m'react-native-update'\u001b[39m\u001b[33m;\u001b[39m\u001b[0m\n\u001b[0m \u001b[90m    |\u001b[39m         \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\u001b[0m\n\u001b[0m \u001b[90m 26 |\u001b[39m\u001b[0m\n\u001b[0m \u001b[90m 27 |\u001b[39m \u001b[36mimport\u001b[39m \u001b[33mTestConsole\u001b[39m \u001b[36mfrom\u001b[39m \u001b[32m'./TestConsole'\u001b[39m\u001b[33m;\u001b[39m\u001b[0m\n\u001b[0m \u001b[90m 28 |\u001b[39m\u001b[0m","errors":[{"description":"Unable to resolve module react-native-update from /Users/arvinh/Desktop/wooza/react-native-pushy/Example/testHotUpdate/src/index.js: react-native-update could not be found within the project or in these directories:\n  node_modules\n  ../../node_modules\n  ../../../../../node_modules\n\u001b[0m \u001b[90m 23 |\u001b[39m   downloadAndInstallApk\u001b[33m,\u001b[39m\u001b[0m\n\u001b[0m \u001b[90m 24 |\u001b[39m   cInfo\u001b[33m,\u001b[39m\u001b[0m\n\u001b[0m\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 25 |\u001b[39m } \u001b[36mfrom\u001b[39m \u001b[32m'react-native-update'\u001b[39m\u001b[33m;\u001b[39m\u001b[0m\n\u001b[0m \u001b[90m    |\u001b[39m         \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\u001b[0m\n\u001b[0m \u001b[90m 26 |\u001b[39m\u001b[0m\n\u001b[0m \u001b[90m 27 |\u001b[39m \u001b[36mimport\u001b[39m \u001b[33mTestConsole\u001b[39m \u001b[36mfrom\u001b[39m \u001b[32m'./TestConsole'\u001b[39m\u001b[33m;\u001b[39m\u001b[0m\n\u001b[0m \u001b[90m 28 |\u001b[39m\u001b[0m"}],"name":"Error","stack":"Error: Unable to resolve module react-native-update from /Users/arvinh/Desktop/wooza/react-native-pushy/Example/testHotUpdate/src/index.js: react-native-update could not be found within the project or in these directories:\n  node_modules\n  ../../node_modules\n  ../../../../../node_modules\n\u001b[0m \u001b[90m 23 |\u001b[39m   downloadAndInstallApk\u001b[33m,\u001b[39m\u001b[0m\n\u001b[0m \u001b[90m 24 |\u001b[39m   cInfo\u001b[33m,\u001b[39m\u001b[0m\n\u001b[0m\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 25 |\u001b[39m } \u001b[36mfrom\u001b[39m \u001b[32m'react-native-update'\u001b[39m\u001b[33m;\u001b[39m\u001b[0m\n\u001b[0m \u001b[90m    |\u001b[39m         \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\u001b[0m\n\u001b[0m \u001b[90m 26 |\u001b[39m\u001b[0m\n\u001b[0m \u001b[90m 27 |\u001b[39m \u001b[36mimport\u001b[39m \u001b[33mTestConsole\u001b[39m \u001b[36mfrom\u001b[39m \u001b[32m'./TestConsole'\u001b[39m\u001b[33m;\u001b[39m\u001b[0m\n\u001b[0m \u001b[90m 28 |\u001b[39m\u001b[0m\n    at ModuleResolver.resolveDependency (/Users/arvinh/Desktop/wooza/react-native-pushy/Example/testHotUpdate/node_modules/metro/src/node-haste/DependencyGraph/ModuleResolution.js:158:15)\n    at DependencyGraph.resolveDependency (/Users/arvinh/Desktop/wooza/react-native-pushy/Example/testHotUpdate/node_modules/metro/src/node-haste/DependencyGraph.js:231:43)\n    at Object.resolve (/Users/arvinh/Desktop/wooza/react-native-pushy/Example/testHotUpdate/node_modules/metro/src/lib/transformHelpers.js:129:24)\n    at resolve (/Users/arvinh/Desktop/wooza/react-native-pushy/Example/testHotUpdate/node_modules/metro/src/DeltaBundler/traverseDependencies.js:396:33)\n    at /Users/arvinh/Desktop/wooza/react-native-pushy/Example/testHotUpdate/node_modules/metro/src/DeltaBundler/traverseDependencies | ||||
| 12-09 14:40:09.843 20108 20161 E unknown:ReactNative: 	at com.facebook.react.devsupport.BundleDownloader.processBundleResult(BundleDownloader.java:264) | ||||
| 12-09 14:40:09.843 20108 20161 E unknown:ReactNative: 	at com.facebook.react.devsupport.BundleDownloader.access$200(BundleDownloader.java:34) | ||||
| 12-09 14:40:09.843 20108 20161 E unknown:ReactNative: 	at com.facebook.react.devsupport.BundleDownloader$2.onChunkComplete(BundleDownloader.java:193) | ||||
| 12-09 14:40:09.843 20108 20161 E unknown:ReactNative: 	at com.facebook.react.devsupport.MultipartStreamReader.emitChunk(MultipartStreamReader.java:70) | ||||
| 12-09 14:40:09.843 20108 20161 E unknown:ReactNative: 	at com.facebook.react.devsupport.MultipartStreamReader.readAllParts(MultipartStreamReader.java:152) | ||||
| 12-09 14:40:09.843 20108 20161 E unknown:ReactNative: 	at com.facebook.react.devsupport.BundleDownloader.processMultipartResponse(BundleDownloader.java:177) | ||||
| 12-09 14:40:09.843 20108 20161 E unknown:ReactNative: 	at com.facebook.react.devsupport.BundleDownloader.access$100(BundleDownloader.java:34) | ||||
| 12-09 14:40:09.843 20108 20161 E unknown:ReactNative: 	at com.facebook.react.devsupport.BundleDownloader$1.onResponse(BundleDownloader.java:147) | ||||
| 12-09 14:40:09.843 20108 20161 E unknown:ReactNative: 	at okhttp3.internal.connection.RealCall$AsyncCall.run(RealCall.kt:519) | ||||
| 12-09 14:40:09.843 20108 20161 E unknown:ReactNative: 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1137) | ||||
| 12-09 14:40:09.843 20108 20161 E unknown:ReactNative: 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:637) | ||||
| 12-09 14:40:09.843 20108 20161 E unknown:ReactNative: 	at java.lang.Thread.run(Thread.java:1012) | ||||
| 12-09 14:40:09.845 20108 20167 D DetoxWSClient: At onOpen | ||||
| 12-09 14:40:09.845 20108 20167 I DetoxWSClient: Sending out action 'login' (ID #0) | ||||
| 12-09 14:40:09.859 20108 20108 E unknown:ReactNative: Exception in native call | ||||
| 12-09 14:40:09.859 20108 20108 E unknown:ReactNative: com.facebook.react.common.DebugServerException: The development server returned response error code: 500 | ||||
| 12-09 14:40:09.859 20108 20108 E unknown:ReactNative:  | ||||
| 12-09 14:40:09.859 20108 20108 E unknown:ReactNative: URL: http://localhost:8081/index.bundle?platform=android&dev=true&minify=false&app=com.awesomeproject&modulesOnly=false&runModule=true | ||||
| 12-09 14:40:09.859 20108 20108 E unknown:ReactNative:  | ||||
| 12-09 14:40:09.859 20108 20108 E unknown:ReactNative: Body: | ||||
| 12-09 14:40:09.859 20108 20108 E unknown:ReactNative: {"originModulePath":"/Users/arvinh/Desktop/wooza/react-native-pushy/Example/testHotUpdate/src/index.js","targetModuleName":"react-native-update","message":"Unable to resolve module react-native-update from /Users/arvinh/Desktop/wooza/react-native-pushy/Example/testHotUpdate/src/index.js: react-native-update could not be found within the project or in these directories:\n  node_modules\n  ../../node_modules\n  ../../../../../node_modules\n\u001b[0m \u001b[90m 23 |\u001b[39m   downloadAndInstallApk\u001b[33m,\u001b[39m\u001b[0m\n\u001b[0m \u001b[90m 24 |\u001b[39m   cInfo\u001b[33m,\u001b[39m\u001b[0m\n\u001b[0m\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 25 |\u001b[39m } \u001b[36mfrom\u001b[39m \u001b[32m'react-native-update'\u001b[39m\u001b[33m;\u001b[39m\u001b[0m\n\u001b[0m \u001b[90m    |\u001b[39m         \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\u001b[0m\n\u001b[0m \u001b[90m 26 |\u001b[39m\u001b[0m\n\u001b[0m \u001b[90m 27 |\u001b[39m \u001b[36mimport\u001b[39m \u001b[33mTestConsole\u001b[39m \u001b[36mfrom\u001b[39m \u001b[32m'./TestConsole'\u001b[39m\u001b[33m;\u001b[39m\u001b[0m\n\u001b[0m \u001b[90m 28 |\u001b[39m\u001b[0m","errors":[{"description":"Unable to resolve module react-native-update from /Users/arvinh/Desktop/wooza/react-native-pushy/Example/testHotUpdate/src/index.js: react-native-update could not be found within the project or in these directories:\n  node_modules\n  ../../node_modules\n  ../../../../../node_modules\n\u001b[0m \u001b[90m 23 |\u001b[39m   downloadAndInstallApk\u001b[33m,\u001b[39m\u001b[0m\n\u001b[0m \u001b[90m 24 |\u001b[39m   cInfo\u001b[33m,\u001b[39m\u001b[0m\n\u001b[0m\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 25 |\u001b[39m } \u001b[36mfrom\u001b[39m \u001b[32m'react-native-update'\u001b[39m\u001b[33m;\u001b[39m\u001b[0m\n\u001b[0m \u001b[90m    |\u001b[39m         \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\u001b[0m\n\u001b[0m \u001b[90m 26 |\u001b[39m\u001b[0m\n\u001b[0m \u001b[90m 27 |\u001b[39m \u001b[36mimport\u001b[39m \u001b[33mTestConsole\u001b[39m \u001b[36mfrom\u001b[39m \u001b[32m'./TestConsole'\u001b[39m\u001b[33m;\u001b[39m\u001b[0m\n\u001b[0m \u001b[90m 28 |\u001b[39m\u001b[0m"}],"name":"Error","stack":"Error: Unable to resolve module react-native-update from /Users/arvinh/Desktop/wooza/react-native-pushy/Example/testHotUpdate/src/index.js: react-native-update could not be found within the project or in these directories:\n  node_modules\n  ../../node_modules\n  ../../../../../node_modules\n\u001b[0m \u001b[90m 23 |\u001b[39m   downloadAndInstallApk\u001b[33m,\u001b[39m\u001b[0m\n\u001b[0m \u001b[90m 24 |\u001b[39m   cInfo\u001b[33m,\u001b[39m\u001b[0m\n\u001b[0m\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 25 |\u001b[39m } \u001b[36mfrom\u001b[39m \u001b[32m'react-native-update'\u001b[39m\u001b[33m;\u001b[39m\u001b[0m\n\u001b[0m \u001b[90m    |\u001b[39m         \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\u001b[0m\n\u001b[0m \u001b[90m 26 |\u001b[39m\u001b[0m\n\u001b[0m \u001b[90m 27 |\u001b[39m \u001b[36mimport\u001b[39m \u001b[33mTestConsole\u001b[39m \u001b[36mfrom\u001b[39m \u001b[32m'./TestConsole'\u001b[39m\u001b[33m;\u001b[39m\u001b[0m\n\u001b[0m \u001b[90m 28 |\u001b[39m\u001b[0m\n    at ModuleResolver.resolveDependency (/Users/arvinh/Desktop/wooza/react-native-pushy/Example/testHotUpdate/node_modules/metro/src/node-haste/DependencyGraph/ModuleResolution.js:158:15)\n    at DependencyGraph.resolveDependency (/Users/arvinh/Desktop/wooza/react-native-pushy/Example/testHotUpdate/node_modules/metro/src/node-haste/DependencyGraph.js:231:43)\n    at Object.resolve (/Users/arvinh/Desktop/wooza/react-native-pushy/Example/testHotUpdate/node_modules/metro/src/lib/transformHelpers.js:129:24)\n    at resolve (/Users/arvinh/Desktop/wooza/react-native-pushy/Example/testHotUpdate/node_modules/metro/src/DeltaBundler/traverseDependencies.js:396:33)\n    at /Users/arvinh/Desktop/wooza/react-native-pushy/Example/testHotUpdate/node_modules/metro/src/DeltaBundler/traverseDependencies | ||||
| 12-09 14:40:09.859 20108 20108 E unknown:ReactNative: 	at com.facebook.react.devsupport.BundleDownloader.processBundleResult(BundleDownloader.java:264) | ||||
| 12-09 14:40:09.859 20108 20108 E unknown:ReactNative: 	at com.facebook.react.devsupport.BundleDownloader.access$200(BundleDownloader.java:34) | ||||
| 12-09 14:40:09.859 20108 20108 E unknown:ReactNative: 	at com.facebook.react.devsupport.BundleDownloader$2.onChunkComplete(BundleDownloader.java:193) | ||||
| 12-09 14:40:09.859 20108 20108 E unknown:ReactNative: 	at com.facebook.react.devsupport.MultipartStreamReader.emitChunk(MultipartStreamReader.java:70) | ||||
| 12-09 14:40:09.859 20108 20108 E unknown:ReactNative: 	at com.facebook.react.devsupport.MultipartStreamReader.readAllParts(MultipartStreamReader.java:152) | ||||
| 12-09 14:40:09.859 20108 20108 E unknown:ReactNative: 	at com.facebook.react.devsupport.BundleDownloader.processMultipartResponse(BundleDownloader.java:177) | ||||
| 12-09 14:40:09.859 20108 20108 E unknown:ReactNative: 	at com.facebook.react.devsupport.BundleDownloader.access$100(BundleDownloader.java:34) | ||||
| 12-09 14:40:09.859 20108 20108 E unknown:ReactNative: 	at com.facebook.react.devsupport.BundleDownloader$1.onResponse(BundleDownloader.java:147) | ||||
| 12-09 14:40:09.859 20108 20108 E unknown:ReactNative: 	at okhttp3.internal.connection.RealCall$AsyncCall.run(RealCall.kt:519) | ||||
| 12-09 14:40:09.859 20108 20108 E unknown:ReactNative: 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1137) | ||||
| 12-09 14:40:09.859 20108 20108 E unknown:ReactNative: 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:637) | ||||
| 12-09 14:40:09.859 20108 20108 E unknown:ReactNative: 	at java.lang.Thread.run(Thread.java:1012) | ||||
| 12-09 14:40:09.862 20108 20108 D CompatibilityChangeReporter: Compat change id reported: 171228096; UID 10184; state: ENABLED | ||||
| 12-09 14:40:09.904 20108 20157 W Parcel  : Expecting binder but got null! | ||||
| 12-09 14:40:09.905 20108 20167 I Detox   : Connected to server! | ||||
| 12-09 14:40:09.906 20108 20167 D DetoxWSClient: Received action 'loginSuccess' (ID #0, params={"testerConnected":true,"appConnected":true}) | ||||
| 12-09 14:40:09.910 20108 20167 D DetoxWSClient: Received action 'isReady' (ID #-1000, params={}) | ||||
| 12-09 14:40:10.179 20108 20134 D SoLoader: libreactnativejni.so not found on /data/data/com.awesomeproject/lib-main | ||||
| 12-09 14:40:10.180 20108 20134 D SoLoader: libreactnativejni.so found on /data/app/~~sJBymP1pJHzMrTfEnUzLyQ==/com.awesomeproject-o0qibQ9IJbng_NpEZc31Ow==/lib/arm64 | ||||
| 12-09 14:40:10.180 20108 20134 D SoLoader: Not resolving dependencies for libreactnativejni.so | ||||
| 12-09 14:40:11.388 20108 20175 D TrafficStats: tagSocket(142) with statsTag=0xffffffff, statsUid=-1 | ||||
| 12-09 14:40:11.505 20108 20157 D EGL_emulation: app_time_stats: avg=399.92ms min=3.80ms max=1219.56ms count=4 | ||||
| 12-09 14:40:13.406 20108 20177 D TrafficStats: tagSocket(133) with statsTag=0xffffffff, statsUid=-1 | ||||
| 12-09 14:40:15.422 20108 20179 D TrafficStats: tagSocket(133) with statsTag=0xffffffff, statsUid=-1 | ||||
| 12-09 14:40:19.880 20108 20167 D DetoxWSClient: Received action 'currentStatus' (ID #1, params={}) | ||||
| 12-09 14:40:19.881 20108 20166 I DetoxDispatcher: Handling action 'currentStatus' (ID #1)... | ||||
| 12-09 14:40:25.484 20108 20185 D TrafficStats: tagSocket(144) with statsTag=0xffffffff, statsUid=-1 | ||||
| 12-09 14:40:27.505 20108 20187 D TrafficStats: tagSocket(5) with statsTag=0xffffffff, statsUid=-1 | ||||
| 12-09 14:40:29.524 20108 20189 D TrafficStats: tagSocket(5) with statsTag=0xffffffff, statsUid=-1 | ||||
| 12-09 14:40:31.536 20108 20191 D TrafficStats: tagSocket(5) with statsTag=0xffffffff, statsUid=-1 | ||||
| 12-09 14:40:41.586 20108 20199 D TrafficStats: tagSocket(5) with statsTag=0xffffffff, statsUid=-1 | ||||
| 12-09 14:40:43.598 20108 20201 D TrafficStats: tagSocket(5) with statsTag=0xffffffff, statsUid=-1 | ||||
| 12-09 14:40:45.608 20108 20207 D TrafficStats: tagSocket(5) with statsTag=0xffffffff, statsUid=-1 | ||||
| 12-09 14:40:47.619 20108 20209 D TrafficStats: tagSocket(5) with statsTag=0xffffffff, statsUid=-1 | ||||
| 12-09 14:40:57.669 20108 20215 D TrafficStats: tagSocket(5) with statsTag=0xffffffff, statsUid=-1 | ||||
| 12-09 14:40:59.679 20108 20217 D TrafficStats: tagSocket(5) with statsTag=0xffffffff, statsUid=-1 | ||||
| 12-09 14:41:01.693 20108 20219 D TrafficStats: tagSocket(5) with statsTag=0xffffffff, statsUid=-1 | ||||
| 12-09 14:41:03.701 20108 20221 D TrafficStats: tagSocket(5) with statsTag=0xffffffff, statsUid=-1 | ||||
| 12-09 14:41:13.742 20108 20227 D TrafficStats: tagSocket(5) with statsTag=0xffffffff, statsUid=-1 | ||||
| 12-09 14:41:15.753 20108 20229 D TrafficStats: tagSocket(5) with statsTag=0xffffffff, statsUid=-1 | ||||
| 12-09 14:41:17.766 20108 20231 D TrafficStats: tagSocket(5) with statsTag=0xffffffff, statsUid=-1 | ||||
| 12-09 14:41:19.783 20108 20233 D TrafficStats: t | ||||
| @@ -0,0 +1,797 @@ | ||||
| 23:34:53.933 detox[4818] [90mB[39m ../../node_modules/.bin/detox test --configuration android.emu.debug --headless --record-logs all | ||||
|   data: { | ||||
|     "id": "339aa5c7-a6ef-b3b2-6c74-71a67b6a4fec", | ||||
|     "detoxConfig": { | ||||
|       "configurationName": "android.emu.debug", | ||||
|       "apps": { | ||||
|         "default": { | ||||
|           "type": "android.apk", | ||||
|           "binaryPath": "android/app/build/outputs/apk/debug/app-debug.apk", | ||||
|           "build": "cd android && ./gradlew assembleDebug assembleAndroidTest -DtestBuildType=debug", | ||||
|           "reversePorts": [ | ||||
|             8081 | ||||
|           ] | ||||
|         } | ||||
|       }, | ||||
|       "artifacts": { | ||||
|         "rootDir": "artifacts/android.emu.debug.2023-04-01 15-34-53Z", | ||||
|         "plugins": { | ||||
|           "log": { | ||||
|             "enabled": true, | ||||
|             "keepOnlyFailedTestsArtifacts": false | ||||
|           }, | ||||
|           "screenshot": { | ||||
|             "enabled": true, | ||||
|             "shouldTakeAutomaticSnapshots": false, | ||||
|             "keepOnlyFailedTestsArtifacts": false | ||||
|           }, | ||||
|           "video": { | ||||
|             "enabled": false, | ||||
|             "keepOnlyFailedTestsArtifacts": false | ||||
|           }, | ||||
|           "instruments": { | ||||
|             "enabled": false, | ||||
|             "keepOnlyFailedTestsArtifacts": false | ||||
|           }, | ||||
|           "uiHierarchy": { | ||||
|             "enabled": false, | ||||
|             "keepOnlyFailedTestsArtifacts": false | ||||
|           } | ||||
|         } | ||||
|       }, | ||||
|       "behavior": { | ||||
|         "init": { | ||||
|           "keepLockFile": false, | ||||
|           "reinstallApp": true, | ||||
|           "exposeGlobals": true | ||||
|         }, | ||||
|         "cleanup": { | ||||
|           "shutdownDevice": false | ||||
|         }, | ||||
|         "launchApp": "auto" | ||||
|       }, | ||||
|       "cli": { | ||||
|         "recordLogs": "all", | ||||
|         "configuration": "android.emu.debug", | ||||
|         "headless": true, | ||||
|         "start": true | ||||
|       }, | ||||
|       "device": { | ||||
|         "type": "android.emulator", | ||||
|         "device": { | ||||
|           "avdName": "Pixel_3a_API_33_arm64-v8a" | ||||
|         }, | ||||
|         "headless": true | ||||
|       }, | ||||
|       "logger": { | ||||
|         "level": "info", | ||||
|         "overrideConsole": true, | ||||
|         "options": { | ||||
|           "showLoggerName": true, | ||||
|           "showPid": true, | ||||
|           "showLevel": false, | ||||
|           "showMetadata": false, | ||||
|           "basepath": "/Users/arvinh/Desktop/wooza/react-native-pushy/node_modules/detox/src", | ||||
|           "prefixers": {}, | ||||
|           "stringifiers": {} | ||||
|         } | ||||
|       }, | ||||
|       "testRunner": { | ||||
|         "retries": 0, | ||||
|         "forwardEnv": false, | ||||
|         "bail": false, | ||||
|         "jest": { | ||||
|           "setupTimeout": 120000, | ||||
|           "teardownTimeout": 30000, | ||||
|           "retryAfterCircusRetries": false, | ||||
|           "reportWorkerAssign": true | ||||
|         }, | ||||
|         "args": { | ||||
|           "$0": "jest", | ||||
|           "_": [], | ||||
|           "config": "e2e/jest.config.js", | ||||
|           "--": [] | ||||
|         } | ||||
|       }, | ||||
|       "session": { | ||||
|         "autoStart": true, | ||||
|         "debugSynchronization": 10000 | ||||
|       } | ||||
|     }, | ||||
|     "detoxIPCServer": "primary-4818", | ||||
|     "testResults": [], | ||||
|     "testSessionIndex": 0, | ||||
|     "workersCount": 0 | ||||
|   } | ||||
| 23:34:53.938 detox[4818] [90mi[39m Server path not specified, so defaulting to ipc.config.socketRoot + ipc.config.appspace + ipc.config.id /tmp/detox.primary-4818 | ||||
| 23:34:53.939 detox[4818] [90mi[39m starting server on  /tmp/detox.primary-4818  | ||||
| 23:34:53.939 detox[4818] [90mi[39m starting TLS server false | ||||
| 23:34:53.939 detox[4818] [90mi[39m starting server as Unix || Windows Socket | ||||
| 23:34:53.944 detox[4818] [90mi[39m Detox server listening on localhost:56416... | ||||
| 23:34:53.945 detox[4818] [90mi[39m Serialized the session state at: /private/var/folders/wm/91840x650t10w1m7sq830mp80000gn/T/339aa5c7-a6ef-b3b2-6c74-71a67b6a4fec.detox.json | ||||
| 23:34:53.946 detox[4818] [90mB[39m jest --config e2e/jest.config.js | ||||
| 23:34:55.379 detox[4821] [90mi[39m Service path not specified, so defaulting to ipc.config.socketRoot + ipc.config.appspace + id  | ||||
| 23:34:55.380 detox[4821] [90mi[39m requested connection to  primary-4818 /tmp/detox.primary-4818 | ||||
| 23:34:55.380 detox[4821] [90mi[39m Connecting client on Unix Socket : /tmp/detox.primary-4818 | ||||
| 23:34:55.381 detox[4818] [90mi[39m ## socket connection to server detected ## | ||||
| 23:34:55.381 detox[4821] [90mi[39m retrying reset | ||||
| 23:34:55.382 detox[4821] [90mi[39m dispatching event to  primary-4818 /tmp/detox.primary-4818  :  registerContext , { id: 'secondary-4821' } | ||||
| 23:34:55.383 detox[4818] [90mi[39m received event of :  registerContext { id: 'secondary-4821' } | ||||
| 23:34:55.383 detox[4818] [90mi[39m dispatching event to socket  :  registerContextDone { testResults: [], testSessionIndex: 0 } | ||||
| 23:34:55.383 detox[4821] [90mi[39m ## received events ## | ||||
| 23:34:55.384 detox[4821] [90mi[39m detected event registerContextDone { testResults: [], testSessionIndex: 0 } | ||||
| 23:34:55.435 detox[4821] [90mB[39m e2e/NativeModule.test.ts | ||||
| 23:34:55.444 detox[4821] [90mB[39m set up environment | ||||
| 23:34:55.445 detox[4818] [90mi[39m received event of :  registerWorker { workerId: 'w1' } | ||||
| 23:34:55.445 detox[4818] [90mi[39m dispatching event to socket  :  registerWorkerDone { workersCount: 1 } | ||||
| 23:34:55.445 detox[4821] [90mi[39m dispatching event to  primary-4818 /tmp/detox.primary-4818  :  registerWorker , { workerId: 'w1' } | ||||
| 23:34:55.445 detox[4821] [90mi[39m ## received events ## | ||||
| 23:34:55.446 detox[4818] [90mi[39m broadcasting event to all known sockets listening to  /tmp/detox.primary-4818  :   sessionStateUpdate { workersCount: 1 } | ||||
| 23:34:55.446 detox[4821] [90mi[39m detected event registerWorkerDone { workersCount: 1 } | ||||
| 23:34:55.539 detox[4821] [90mi[39m ## received events ## | ||||
| 23:34:55.539 detox[4821] [90mi[39m detected event sessionStateUpdate { workersCount: 1 } | ||||
| 23:34:55.542 detox[4818] [90mB[39m connection :56416<->:56425 | ||||
| 23:34:55.543 detox[4821] [90mi[39m opened web socket to: ws://localhost:56416 | ||||
| 23:34:55.544 detox[4821] [90mi[39m send message | ||||
|   data: {"type":"login","params":{"sessionId":"f4aa1b39-7f49-6a1e-2016-8fceba85b11b","role":"tester"},"messageId":0} | ||||
| 23:34:55.545 detox[4818] [90mi[39m get | ||||
|   data: {"type":"login","params":{"sessionId":"f4aa1b39-7f49-6a1e-2016-8fceba85b11b","role":"tester"},"messageId":0} | ||||
| 23:34:55.545 detox[4818] [90mi[39m created session f4aa1b39-7f49-6a1e-2016-8fceba85b11b | ||||
| 23:34:55.545 detox[4818] [90mi[39m send | ||||
|   data: { | ||||
|     "type": "loginSuccess", | ||||
|     "params": { | ||||
|       "testerConnected": true, | ||||
|       "appConnected": false | ||||
|     }, | ||||
|     "messageId": 0 | ||||
|   } | ||||
| 23:34:55.545 detox[4818] [90mi[39m tester joined session f4aa1b39-7f49-6a1e-2016-8fceba85b11b | ||||
| 23:34:55.546 detox[4821] [90mi[39m get message | ||||
|   data: {"type":"loginSuccess","params":{"testerConnected":true,"appConnected":false},"messageId":0} | ||||
|     | ||||
| 23:34:55.586 detox[4821] [90mB[39m allocate | ||||
|   args: ({"type":"android.emulator","device":{"avdName":"Pixel_3a_API_33_arm64-v8a"},"headless":true}) | ||||
| 23:34:55.586 detox[4821] [90mi[39m "/Users/arvinh/Library/Android/sdk/emulator/emulator" -list-avds --verbose | ||||
| 23:34:55.660 detox[4821] [90mi[39m Pixel_3a_API_33_arm64-v8a | ||||
|  | ||||
| 23:34:55.660 detox[4821] [90mi[39m "/Users/arvinh/Library/Android/sdk/emulator/emulator" -version -no-window | ||||
| 23:34:55.796 detox[4821] [90mi[39m INFO    | Duplicate loglines will be removed, if you wish to see each indiviudal line launch with the -log-nofilter flag. | ||||
| Android emulator version 31.3.13.0 (build_id 9189900) (CL:N/A) | ||||
| Copyright (C) 2006-2017 The Android Open Source Project and many others. | ||||
| This program is a derivative of the QEMU CPU emulator (www.qemu.org). | ||||
|  | ||||
|   This software is licensed under the terms of the GNU General Public | ||||
|   License version 2, as published by the Free Software Foundation, and | ||||
|   may be copied, distributed, and modified under those terms. | ||||
|  | ||||
|   This program is distributed in the hope that it will be useful, | ||||
|   but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
|   GNU General Public License for more details. | ||||
|  | ||||
|  | ||||
| 23:34:55.796 detox[4821] [90mi[39m Detected emulator binary version { major: 31, minor: 3, patch: 13, toString: [Function: toString] } | ||||
| 23:34:55.796 detox[4821] [90mi[39m Trying to allocate a device based on "Pixel_3a_API_33_arm64-v8a" | ||||
| 23:34:55.797 detox[4821] [90mi[39m "/Users/arvinh/Library/Android/sdk/platform-tools/adb"  devices | ||||
| 23:34:55.809 detox[4821] [90mi[39m List of devices attached | ||||
| emulator-5554	device | ||||
|  | ||||
|  | ||||
| 23:34:55.810 detox[4821] [90mi[39m port: 5554, host: localhost | ||||
| 23:34:55.814 detox[4821] [90mi[39m Found a matching & free device emulator-5554 | ||||
| 23:34:55.814 detox[4821] [90mi[39m Settled on emulator-5554 | ||||
| 23:34:55.814 detox[4821] [90mB[39m _launchEmulator | ||||
|   args: ("Pixel_3a_API_33_arm64-v8a", "emulator-5554", true, {"headless":true,"port":null}) | ||||
| 23:34:55.814 detox[4821] [90mB[39m _awaitEmulatorBoot | ||||
|   args: ("emulator-5554") | ||||
| 23:34:55.815 detox[4821] [90mi[39m "/Users/arvinh/Library/Android/sdk/platform-tools/adb" -s emulator-5554 shell "getprop dev.bootcomplete" | ||||
| 23:34:55.847 detox[4821] [90mi[39m 1 | ||||
|  | ||||
| 23:34:55.847 detox[4821] [90mE[39m _awaitEmulatorBoot | ||||
| 23:34:55.847 detox[4821] [90mB[39m onBootDevice | ||||
|   args: ({"deviceId":"emulator-5554","type":"Pixel_3a_API_33_arm64-v8a","coldBoot":false}) | ||||
| 23:34:55.847 detox[4821] [90mE[39m onBootDevice | ||||
| 23:34:55.847 detox[4821] [90mE[39m _launchEmulator | ||||
| 23:34:55.847 detox[4821] [90mi[39m "/Users/arvinh/Library/Android/sdk/platform-tools/adb" -s emulator-5554 shell "getprop ro.build.version.sdk" | ||||
| 23:34:55.871 detox[4821] [90mi[39m 33 | ||||
|  | ||||
| 23:34:55.872 detox[4821] [90mi[39m "/Users/arvinh/Library/Android/sdk/platform-tools/adb" -s emulator-5554 shell "settings put global animator_duration_scale 0" | ||||
| 23:34:55.897 detox[4821] [90mi[39m  | ||||
| 23:34:55.897 detox[4821] [90mi[39m "/Users/arvinh/Library/Android/sdk/platform-tools/adb" -s emulator-5554 shell "settings put global window_animation_scale 0" | ||||
| 23:34:55.920 detox[4821] [90mi[39m  | ||||
| 23:34:55.920 detox[4821] [90mi[39m "/Users/arvinh/Library/Android/sdk/platform-tools/adb" -s emulator-5554 shell "settings put global transition_animation_scale 0" | ||||
| 23:34:55.942 detox[4821] [90mi[39m  | ||||
| 23:34:55.942 detox[4821] [90mi[39m "/Users/arvinh/Library/Android/sdk/platform-tools/adb" -s emulator-5554 shell "dumpsys power | grep \"^[ ]*m[UW].*=\"" | ||||
| 23:34:56.007 detox[4821] [90mi[39m   mWakefulness=Awake | ||||
|   mWakefulnessChanging=false | ||||
|   mWakeLockSummary=0x0 | ||||
|   mWakeUpWhenPluggedOrUnpluggedConfig=false | ||||
|   mWakeUpWhenPluggedOrUnpluggedInTheaterModeConfig=false | ||||
|   mUserActivityTimeoutOverrideFromWindowManager=-1 | ||||
|   mUserInactiveOverrideFromWindowManager=false | ||||
|   mUserId=0 | ||||
|   mWakeLockSummary=0x0 | ||||
|   mUserInteractionBackoffMillis=60000 | ||||
|  | ||||
| 23:34:56.007 detox[4821] [90mE[39m allocate | ||||
| 23:34:56.022 detox[4821] [90mB[39m installUtilBinaries | ||||
|   args: () | ||||
| 23:34:56.022 detox[4821] [90mE[39m installUtilBinaries | ||||
| 23:34:56.023 detox[4821] [90mB[39m selectApp | ||||
|   args: ("default") | ||||
| 23:34:56.026 detox[4821] [90mi[39m "/Users/arvinh/Library/Android/sdk/build-tools/33.0.0/aapt" dump badging "/Users/arvinh/Desktop/wooza/react-native-pushy/Example/testHotUpdate/android/app/build/outputs/apk/debug/app-debug.apk" | ||||
| 23:34:56.059 detox[4821] [90mi[39m package: name='com.awesomeproject' versionCode='1' versionName='1.0' platformBuildVersionName='12' platformBuildVersionCode='31' compileSdkVersion='31' compileSdkVersionCodename='12' | ||||
| sdkVersion:'21' | ||||
| targetSdkVersion:'31' | ||||
| uses-permission: name='android.permission.SYSTEM_ALERT_WINDOW' | ||||
| uses-permission: name='android.permission.INTERNET' | ||||
| uses-permission: name='android.permission.ACCESS_WIFI_STATE' | ||||
| uses-permission: name='android.permission.REQUEST_INSTALL_PACKAGES' | ||||
| uses-permission: name='android.permission.WRITE_EXTERNAL_STORAGE' | ||||
| application-label:'AwesomeProject' | ||||
| application-label-af:'AwesomeProject' | ||||
| application-label-am:'AwesomeProject' | ||||
| application-label-ar:'AwesomeProject' | ||||
| application-label-as:'AwesomeProject' | ||||
| application-label-az:'AwesomeProject' | ||||
| application-label-be:'AwesomeProject' | ||||
| application-label-bg:'AwesomeProject' | ||||
| application-label-bn:'AwesomeProject' | ||||
| application-label-bs:'AwesomeProject' | ||||
| application-label-ca:'AwesomeProject' | ||||
| application-label-cs:'AwesomeProject' | ||||
| application-label-da:'AwesomeProject' | ||||
| application-label-de:'AwesomeProject' | ||||
| application-label-el:'AwesomeProject' | ||||
| application-label-en-AU:'AwesomeProject' | ||||
| application-label-en-CA:'AwesomeProject' | ||||
| application-label-en-GB:'AwesomeProject' | ||||
| application-label-en-IN:'AwesomeProject' | ||||
| application-label-en-XC:'AwesomeProject' | ||||
| application-label-es:'AwesomeProject' | ||||
| application-label-es-US:'AwesomeProject' | ||||
| application-label-et:'AwesomeProject' | ||||
| application-label-eu:'AwesomeProject' | ||||
| application-label-fa:'AwesomeProject' | ||||
| application-label-fi:'AwesomeProject' | ||||
| application-label-fr:'AwesomeProject' | ||||
| application-label-fr-CA:'AwesomeProject' | ||||
| application-label-gl:'AwesomeProject' | ||||
| application-label-gu:'AwesomeProject' | ||||
| application-label-hi:'AwesomeProject' | ||||
| application-label-hr:'AwesomeProject' | ||||
| application-label-hu:'AwesomeProject' | ||||
| application-label-hy:'AwesomeProject' | ||||
| application-label-in:'AwesomeProject' | ||||
| application-label-is:'AwesomeProject' | ||||
| application-label-it:'AwesomeProject' | ||||
| application-label-iw:'AwesomeProject' | ||||
| application-label-ja:'AwesomeProject' | ||||
| application-label-ka:'AwesomeProject' | ||||
| application-label-kk:'AwesomeProject' | ||||
| application-label-km:'AwesomeProject' | ||||
| application-label-kn:'AwesomeProject' | ||||
| application-label-ko:'AwesomeProject' | ||||
| application-label-ky:'AwesomeProject' | ||||
| application-label-lo:'AwesomeProject' | ||||
| application-label-lt:'AwesomeProject' | ||||
| application-label-lv:'AwesomeProject' | ||||
| application-label-mk:'AwesomeProject' | ||||
| application-label-ml:'AwesomeProject' | ||||
| application-label-mn:'AwesomeProject' | ||||
| application-label-mr:'AwesomeProject' | ||||
| application-label-ms:'AwesomeProject' | ||||
| application-label-my:'AwesomeProject' | ||||
| application-label-nb:'AwesomeProject' | ||||
| application-label-ne:'AwesomeProject' | ||||
| application-label-nl:'AwesomeProject' | ||||
| application-label-or:'AwesomeProject' | ||||
| application-label-pa:'AwesomeProject' | ||||
| application-label-pl:'AwesomeProject' | ||||
| application-label-pt:'AwesomeProject' | ||||
| application-label-pt-BR:'AwesomeProject' | ||||
| application-label-pt-PT:'AwesomeProject' | ||||
| application-label-ro:'AwesomeProject' | ||||
| application-label-ru:'AwesomeProject' | ||||
| application-label-si:'AwesomeProject' | ||||
| application-label-sk:'AwesomeProject' | ||||
| application-label-sl:'AwesomeProject' | ||||
| application-label-sq:'AwesomeProject' | ||||
| application-label-sr:'AwesomeProject' | ||||
| application-label-sr-Latn:'AwesomeProject' | ||||
| application-label-sv:'AwesomeProject' | ||||
| application-label-sw:'AwesomeProject' | ||||
| application-label-ta:'AwesomeProject' | ||||
| application-label-te:'AwesomeProject' | ||||
| application-label-th:'AwesomeProject' | ||||
| application-label-tl:'AwesomeProject' | ||||
| application-label-tr:'AwesomeProject' | ||||
| application-label-uk:'AwesomeProject' | ||||
| application-label-ur:'AwesomeProject' | ||||
| application-label-uz:'AwesomeProject' | ||||
| application-label-vi:'AwesomeProject' | ||||
| application-label-zh-CN:'AwesomeProject' | ||||
| application-label-zh-HK:'AwesomeProject' | ||||
| application-label-zh-TW:'AwesomeProject' | ||||
| application-label-zu:'AwesomeProject' | ||||
| application-icon-160:'res/mipmap-mdpi-v4/ic_launcher.png' | ||||
| application-icon-240:'res/mipmap-hdpi-v4/ic_launcher.png' | ||||
| application-icon-320:'res/mipmap-xhdpi-v4/ic_launcher.png' | ||||
| application-icon-480:'res/mipmap-xxhdpi-v4/ic_launcher.png' | ||||
| application-icon-640:'res/mipmap-xxxhdpi-v4/ic_launcher.png' | ||||
| application: label='AwesomeProject' icon='res/mipmap-mdpi-v4/ic_launcher.png' | ||||
| application-debuggable | ||||
| launchable-activity: name='com.awesomeproject.MainActivity'  label='AwesomeProject' icon='' | ||||
| uses-permission: name='android.permission.READ_EXTERNAL_STORAGE' | ||||
| uses-implied-permission: name='android.permission.READ_EXTERNAL_STORAGE' reason='requested WRITE_EXTERNAL_STORAGE' | ||||
| feature-group: label='' | ||||
|   uses-feature: name='android.hardware.faketouch' | ||||
|   uses-implied-feature: name='android.hardware.faketouch' reason='default feature for all apps' | ||||
|   uses-feature: name='android.hardware.wifi' | ||||
|   uses-implied-feature: name='android.hardware.wifi' reason='requested android.permission.ACCESS_WIFI_STATE permission' | ||||
| main | ||||
| other-activities | ||||
| supports-screens: 'small' 'normal' 'large' 'xlarge' | ||||
| supports-any-density: 'true' | ||||
| locales: '--_--' 'af' 'am' 'ar' 'as' 'az' 'be' 'bg' 'bn' 'bs' 'ca' 'cs' 'da' 'de' 'el' 'en-AU' 'en-CA' 'en-GB' 'en-IN' 'en-XC' 'es' 'es-US' 'et' 'eu' 'fa' 'fi' 'fr' 'fr-CA' 'gl' 'gu' 'hi' 'hr' 'hu' 'hy' 'in' 'is' 'it' 'iw' 'ja' 'ka' 'kk' 'km' 'kn' 'ko' 'ky' 'lo' 'lt' 'lv' 'mk' 'ml' 'mn' 'mr' 'ms' 'my' 'nb' 'ne' 'nl' 'or' 'pa' 'pl' 'pt' 'pt-BR' 'pt-PT' 'ro' 'ru' 'si' 'sk' 'sl' 'sq' 'sr' 'sr-Latn' 'sv' 'sw' 'ta' 'te' 'th' 'tl' 'tr' 'uk' 'ur' 'uz' 'vi' 'zh-CN' 'zh-HK' 'zh-TW' 'zu' | ||||
| densities: '160' '240' '320' '480' '640' | ||||
| native-code: 'arm64-v8a' 'armeabi-v7a' 'x86' 'x86_64' | ||||
|  | ||||
| 23:34:56.059 detox[4821] [90mE[39m selectApp | ||||
| 23:34:56.059 detox[4821] [90mB[39m uninstallApp | ||||
|   args: () | ||||
| 23:34:56.059 detox[4821] [90mB[39m onBeforeUninstallApp | ||||
|   args: ({"deviceId":"emulator-5554","bundleId":"com.awesomeproject"}) | ||||
| 23:34:56.059 detox[4821] [90mE[39m onBeforeUninstallApp | ||||
| 23:34:56.059 detox[4821] [90mi[39m "/Users/arvinh/Library/Android/sdk/platform-tools/adb" -s emulator-5554 shell "pm list packages com.awesomeproject" | ||||
| 23:34:56.083 detox[4821] [90mi[39m package:com.awesomeproject | ||||
| package:com.awesomeproject.test | ||||
|  | ||||
| 23:34:56.083 detox[4821] [90mi[39m "/Users/arvinh/Library/Android/sdk/platform-tools/adb" -s emulator-5554 uninstall com.awesomeproject | ||||
| 23:34:56.390 detox[4821] [90mi[39m Success | ||||
|  | ||||
| 23:34:56.391 detox[4821] [90mi[39m "/Users/arvinh/Library/Android/sdk/platform-tools/adb" -s emulator-5554 shell "pm list packages com.awesomeproject.test" | ||||
| 23:34:56.481 detox[4821] [90mi[39m package:com.awesomeproject.test | ||||
|  | ||||
| 23:34:56.481 detox[4821] [90mi[39m "/Users/arvinh/Library/Android/sdk/platform-tools/adb" -s emulator-5554 uninstall com.awesomeproject.test | ||||
| 23:34:56.601 detox[4821] [90mi[39m Success | ||||
|  | ||||
| 23:34:56.601 detox[4821] [90mE[39m uninstallApp | ||||
| 23:34:56.601 detox[4821] [90mB[39m selectApp | ||||
|   args: ("default") | ||||
| 23:34:56.602 detox[4821] [90mB[39m terminateApp | ||||
|   args: () | ||||
| 23:34:56.603 detox[4821] [90mB[39m onBeforeTerminateApp | ||||
|   args: ({"deviceId":"emulator-5554","bundleId":"com.awesomeproject"}) | ||||
| 23:34:56.603 detox[4821] [90mE[39m onBeforeTerminateApp | ||||
| 23:34:56.603 detox[4821] [90mi[39m "/Users/arvinh/Library/Android/sdk/platform-tools/adb" -s emulator-5554 shell "am force-stop com.awesomeproject" | ||||
| 23:34:56.697 detox[4821] [90mi[39m  | ||||
| 23:34:56.697 detox[4821] [90mB[39m onTerminateApp | ||||
|   args: ({"deviceId":"emulator-5554","bundleId":"com.awesomeproject"}) | ||||
| 23:34:56.698 detox[4821] [90mE[39m onTerminateApp | ||||
| 23:34:56.698 detox[4821] [90mE[39m terminateApp | ||||
| 23:34:56.698 detox[4821] [90mE[39m selectApp | ||||
| 23:34:56.698 detox[4821] [90mB[39m installApp | ||||
|   args: () | ||||
| 23:34:56.699 detox[4821] [90mi[39m "/Users/arvinh/Library/Android/sdk/build-tools/33.0.0/aapt" dump xmlstrings "/Users/arvinh/Desktop/wooza/react-native-pushy/Example/testHotUpdate/android/app/build/outputs/apk/debug/app-debug.apk" AndroidManifest.xml | ||||
| 23:34:56.710 detox[4821] [90mi[39m String pool of 62 unique UTF-16 non-sorted strings, 62 entries and 0 styles using 2972 bytes: | ||||
| String #0: theme | ||||
| String #1: label | ||||
| String #2: icon | ||||
| String #3: name | ||||
| String #4: debuggable | ||||
| String #5: exported | ||||
| String #6: authorities | ||||
| String #7: grantUriPermissions | ||||
| String #8: launchMode | ||||
| String #9: configChanges | ||||
| String #10: value | ||||
| String #11: resource | ||||
| String #12: minSdkVersion | ||||
| String #13: versionCode | ||||
| String #14: versionName | ||||
| String #15: windowSoftInputMode | ||||
| String #16: targetSdkVersion | ||||
| String #17: allowBackup | ||||
| String #18: usesCleartextTraffic | ||||
| String #19: networkSecurityConfig | ||||
| String #20: roundIcon | ||||
| String #21: compileSdkVersion | ||||
| String #22: compileSdkVersionCodename | ||||
| String #23: appComponentFactory | ||||
| String #24: 1.0 | ||||
| String #25: 12 | ||||
| String #26: action | ||||
| String #27: activity | ||||
| String #28: android | ||||
| String #29: android.intent.action.MAIN | ||||
| String #30: android.intent.category.LAUNCHER | ||||
| String #31: android.permission.ACCESS_WIFI_STATE | ||||
| String #32: android.permission.INTERNET | ||||
| String #33: android.permission.REQUEST_INSTALL_PACKAGES | ||||
| String #34: android.permission.SYSTEM_ALERT_WINDOW | ||||
| String #35: android.permission.WRITE_EXTERNAL_STORAGE | ||||
| String #36: android.support.FILE_PROVIDER_PATHS | ||||
| String #37: androidx.core.app.CoreComponentFactory | ||||
| String #38: androidx.emoji2.text.EmojiCompatInitializer | ||||
| String #39: androidx.lifecycle.ProcessLifecycleInitializer | ||||
| String #40: androidx.startup | ||||
| String #41: androidx.startup.InitializationProvider | ||||
| String #42: application | ||||
| String #43: category | ||||
| String #44: cn.reactnative.modules.update.PushyFileProvider | ||||
| String #45: com.awesomeproject | ||||
| String #46: com.awesomeproject.MainActivity | ||||
| String #47: com.awesomeproject.MainApplication | ||||
| String #48: com.awesomeproject.androidx-startup | ||||
| String #49: com.awesomeproject.pushy.fileprovider | ||||
| String #50: com.facebook.react.devsupport.DevSettingsActivity | ||||
| String #51: http://schemas.android.com/apk/res/android | ||||
| String #52: intent-filter | ||||
| String #53: manifest | ||||
| String #54: meta-data | ||||
| String #55: package | ||||
| String #56: platformBuildVersionCode | ||||
| String #57: platformBuildVersionName | ||||
| String #58: provider | ||||
| String #59: pushy_build_time | ||||
| String #60: uses-permission | ||||
| String #61: uses-sdk | ||||
|  | ||||
| 23:34:56.711 detox[4821] [90mi[39m "/Users/arvinh/Library/Android/sdk/build-tools/33.0.0/aapt" dump xmlstrings "/Users/arvinh/Desktop/wooza/react-native-pushy/Example/testHotUpdate/android/app/build/outputs/apk/androidTest/debug/app-debug-androidTest.apk" AndroidManifest.xml | ||||
| 23:34:56.722 detox[4821] [90mi[39m String pool of 41 unique UTF-16 non-sorted strings, 41 entries and 0 styles using 2052 bytes: | ||||
| String #0: theme | ||||
| String #1: label | ||||
| String #2: name | ||||
| String #3: debuggable | ||||
| String #4: exported | ||||
| String #5: targetPackage | ||||
| String #6: handleProfiling | ||||
| String #7: functionalTest | ||||
| String #8: minSdkVersion | ||||
| String #9: targetSdkVersion | ||||
| String #10: compileSdkVersion | ||||
| String #11: compileSdkVersionCodename | ||||
| String #12: 12 | ||||
| String #13: Tests for com.awesomeproject | ||||
| String #14: action | ||||
| String #15: activity | ||||
| String #16: android | ||||
| String #17: android.intent.action.MAIN | ||||
| String #18: android.permission.REORDER_TASKS | ||||
| String #19: android.test.runner | ||||
| String #20: androidx.test.core.app.InstrumentationActivityInvoker$BootstrapActivity | ||||
| String #21: androidx.test.core.app.InstrumentationActivityInvoker$EmptyActivity | ||||
| String #22: androidx.test.core.app.InstrumentationActivityInvoker$EmptyFloatingActivity | ||||
| String #23: androidx.test.orchestrator | ||||
| String #24: androidx.test.runner.AndroidJUnitRunner | ||||
| String #25: androidx.test.services | ||||
| String #26: application | ||||
| String #27: com.awesomeproject | ||||
| String #28: com.awesomeproject.test | ||||
| String #29: com.google.android.apps.common.testing.services | ||||
| String #30: http://schemas.android.com/apk/res/android | ||||
| String #31: instrumentation | ||||
| String #32: intent-filter | ||||
| String #33: manifest | ||||
| String #34: package | ||||
| String #35: platformBuildVersionCode | ||||
| String #36: platformBuildVersionName | ||||
| String #37: queries | ||||
| String #38: uses-library | ||||
| String #39: uses-permission | ||||
| String #40: uses-sdk | ||||
|  | ||||
| 23:34:56.722 detox[4821] [90mi[39m "/Users/arvinh/Library/Android/sdk/platform-tools/adb" -s emulator-5554 shell "rm -fr /data/local/tmp/detox" | ||||
| 23:34:56.815 detox[4821] [90mi[39m  | ||||
| 23:34:56.815 detox[4821] [90mi[39m "/Users/arvinh/Library/Android/sdk/platform-tools/adb" -s emulator-5554 shell "mkdir -p /data/local/tmp/detox" | ||||
| 23:34:56.889 detox[4821] [90mi[39m  | ||||
| 23:34:56.890 detox[4821] [90mi[39m "/Users/arvinh/Library/Android/sdk/platform-tools/adb" -s emulator-5554 push "/Users/arvinh/Desktop/wooza/react-native-pushy/Example/testHotUpdate/android/app/build/outputs/apk/debug/app-debug.apk" "/data/local/tmp/detox/Application.apk" | ||||
| 23:34:57.224 detox[4821] [90mi[39m /Users/arvinh/Desktop/wooza/react-native-pushy/Example/testHotUpdate/android/app/build/outputs/apk/debug/app-debug.apk: 1 file pushed, 0 skipped. 184.7 MB/s (57188071 bytes in 0.295s) | ||||
|  | ||||
| 23:34:57.227 detox[4821] [90mi[39m /Users/arvinh/Library/Android/sdk/platform-tools/adb -s emulator-5554 shell pm install -r -g -t /data/local/tmp/detox/Application.apk | ||||
| 23:34:57.978 detox[4821] [90mi[39m Success | ||||
|  | ||||
| 23:34:57.980 detox[4821] [90mi[39m /Users/arvinh/Library/Android/sdk/platform-tools/adb -s emulator-5554 shell pm install -r -g -t /data/local/tmp/detox/Application.apk exited with code #0 | ||||
| 23:34:57.980 detox[4821] [90mi[39m "/Users/arvinh/Library/Android/sdk/platform-tools/adb" -s emulator-5554 push "/Users/arvinh/Desktop/wooza/react-native-pushy/Example/testHotUpdate/android/app/build/outputs/apk/androidTest/debug/app-debug-androidTest.apk" "/data/local/tmp/detox/Test.apk" | ||||
| 23:34:58.037 detox[4821] [90mi[39m /Users/arvinh/Desktop/wooza/react-native-pushy/Example/testHotUpdate/android/app/build/outputs/apk/androidTest/debug/app-debug-androidTest.apk: 1 file pushed, 0 skipped. 428.1 MB/s (7834463 bytes in 0.017s) | ||||
|  | ||||
| 23:34:58.037 detox[4821] [90mi[39m /Users/arvinh/Library/Android/sdk/platform-tools/adb -s emulator-5554 shell pm install -r -g -t /data/local/tmp/detox/Test.apk | ||||
| 23:34:58.154 detox[4821] [90mi[39m Success | ||||
|  | ||||
| 23:34:58.160 detox[4821] [90mi[39m /Users/arvinh/Library/Android/sdk/platform-tools/adb -s emulator-5554 shell pm install -r -g -t /data/local/tmp/detox/Test.apk exited with code #0 | ||||
| 23:34:58.161 detox[4821] [90mB[39m reverseTcpPort | ||||
|   args: (8081) | ||||
| 23:34:58.161 detox[4821] [90mi[39m "/Users/arvinh/Library/Android/sdk/platform-tools/adb" -s emulator-5554 reverse tcp:8081 tcp:8081 | ||||
| 23:34:58.177 detox[4821] [90mi[39m  | ||||
| 23:34:58.177 detox[4821] [90mE[39m reverseTcpPort | ||||
| 23:34:58.177 detox[4821] [90mE[39m installApp | ||||
| 23:34:58.177 detox[4821] [90mB[39m selectApp | ||||
|   args: ("default") | ||||
| 23:34:58.177 detox[4821] [90mB[39m terminateApp | ||||
|   args: () | ||||
| 23:34:58.177 detox[4821] [90mB[39m onBeforeTerminateApp | ||||
|   args: ({"deviceId":"emulator-5554","bundleId":"com.awesomeproject"}) | ||||
| 23:34:58.177 detox[4821] [90mE[39m onBeforeTerminateApp | ||||
| 23:34:58.177 detox[4821] [90mi[39m "/Users/arvinh/Library/Android/sdk/platform-tools/adb" -s emulator-5554 shell "am force-stop com.awesomeproject" | ||||
| 23:34:58.230 detox[4821] [90mi[39m  | ||||
| 23:34:58.230 detox[4821] [90mB[39m onTerminateApp | ||||
|   args: ({"deviceId":"emulator-5554","bundleId":"com.awesomeproject"}) | ||||
| 23:34:58.231 detox[4821] [90mE[39m onTerminateApp | ||||
| 23:34:58.231 detox[4821] [90mE[39m terminateApp | ||||
| 23:34:58.231 detox[4821] [90mE[39m selectApp | ||||
| 23:34:58.231 detox[4821] [90mE[39m set up environment | ||||
| 23:34:58.852 detox[4821] [90mi[39m NativeModule.test.ts is assigned to emulator-5554 (Pixel_3a_API_33_arm64-v8a) | ||||
| 23:34:58.852 detox[4821] [90mB[39m run the tests | ||||
| 23:34:58.852 detox[4821] [90mB[39m onRunDescribeStart | ||||
|   args: ({"name":"ROOT_DESCRIBE_BLOCK"}) | ||||
| 23:34:58.853 detox[4821] [90mE[39m onRunDescribeStart | ||||
| 23:34:58.853 detox[4821] [90mB[39m 测试Native模块的方法 | ||||
| 23:34:58.853 detox[4821] [90mB[39m onRunDescribeStart | ||||
|   args: ({"name":"测试Native模块的方法"}) | ||||
| 23:34:58.853 detox[4821] [90mE[39m onRunDescribeStart | ||||
| 23:34:58.853 detox[4821] [90mB[39m beforeAll | ||||
| 23:34:58.857 detox[4821] [90mB[39m launchApp | ||||
|   args: () | ||||
| 23:34:58.857 detox[4821] [90mB[39m terminateApp | ||||
|   args: ("com.awesomeproject") | ||||
| 23:34:58.857 detox[4821] [90mB[39m onBeforeTerminateApp | ||||
|   args: ({"deviceId":"emulator-5554","bundleId":"com.awesomeproject"}) | ||||
| 23:34:58.857 detox[4821] [90mE[39m onBeforeTerminateApp | ||||
| 23:34:58.857 detox[4821] [90mi[39m "/Users/arvinh/Library/Android/sdk/platform-tools/adb" -s emulator-5554 shell "am force-stop com.awesomeproject" | ||||
| 23:34:58.890 detox[4821] [90mi[39m  | ||||
| 23:34:58.890 detox[4821] [90mB[39m onTerminateApp | ||||
|   args: ({"deviceId":"emulator-5554","bundleId":"com.awesomeproject"}) | ||||
| 23:34:58.890 detox[4821] [90mE[39m onTerminateApp | ||||
| 23:34:58.891 detox[4821] [90mE[39m terminateApp | ||||
| 23:34:58.891 detox[4821] [90mB[39m onBeforeLaunchApp | ||||
|   args: ({"deviceId":"emulator-5554","bundleId":"com.awesomeproject","launchArgs":{"detoxServer":"ws://localhost:56416","detoxSessionId":"f4aa1b39-7f49-6a1e-2016-8fceba85b11b"}}) | ||||
| 23:34:58.891 detox[4821] [90mi[39m "/Users/arvinh/Library/Android/sdk/platform-tools/adb" -s emulator-5554 shell "date +\"%m-%d %T.000\"" | ||||
| 23:34:58.911 detox[4821] [90mi[39m 12-09 14:42:22.000 | ||||
|  | ||||
| 23:34:58.911 detox[4821] [90mE[39m onBeforeLaunchApp | ||||
| 23:34:58.912 detox[4821] [90mi[39m "/Users/arvinh/Library/Android/sdk/platform-tools/adb" -s emulator-5554 reverse tcp:56416 tcp:56416 | ||||
| 23:34:58.924 detox[4821] [90mi[39m 56416 | ||||
|  | ||||
| 23:34:58.924 detox[4821] [90mi[39m "/Users/arvinh/Library/Android/sdk/platform-tools/adb" -s emulator-5554 shell "pm list instrumentation" | ||||
| 23:34:58.950 detox[4821] [90mi[39m instrumentation:com.awesomeproject.test/androidx.test.runner.AndroidJUnitRunner (target=com.awesomeproject) | ||||
| instrumentation:com.testhotupdate.test/android.test.InstrumentationTestRunner (target=com.testhotupdate) | ||||
|  | ||||
| 23:34:58.951 detox[4821] [90mi[39m /Users/arvinh/Library/Android/sdk/platform-tools/adb -s emulator-5554 shell am instrument -w -r -e detoxServer ws://localhost:56416 -e detoxSessionId f4aa1b39-7f49-6a1e-2016-8fceba85b11b -e debug false com.awesomeproject.test/androidx.test.runner.AndroidJUnitRunner | ||||
| 23:34:59.453 detox[4821] [90mi[39m "/Users/arvinh/Library/Android/sdk/platform-tools/adb" -s emulator-5554 shell "ps | grep \"com\.awesomeproject$\"" | ||||
| 23:34:59.530 detox[4821] [90mi[39m u0_a186      20479   325 14771216 169660 0                  0 S com.awesomeproject | ||||
|  | ||||
| 23:34:59.530 detox[4821] [90mB[39m onLaunchApp | ||||
|   args: ({"deviceId":"emulator-5554","bundleId":"com.awesomeproject","launchArgs":{"detoxServer":"ws://localhost:56416","detoxSessionId":"f4aa1b39-7f49-6a1e-2016-8fceba85b11b"},"pid":20479}) | ||||
| 23:34:59.532 detox[4821] [90mi[39m starting ADBLogcatRecording | ||||
| 23:34:59.534 detox[4821] [90mi[39m /Users/arvinh/Library/Android/sdk/platform-tools/adb -s emulator-5554 shell "logcat -T \"12-09 14:42:22.000\" --pid=20479 -f /sdcard/233455576_0.log" | ||||
| 23:34:59.534 detox[4821] [90mE[39m onLaunchApp | ||||
| 23:34:59.835 detox[4821] [90mi[39m "/Users/arvinh/Library/Android/sdk/platform-tools/adb" -s emulator-5554 shell du /sdcard/233455576_0.log | ||||
| 23:34:59.865 detox[4821] [90mi[39m 4	/sdcard/233455576_0.log | ||||
|  | ||||
| 23:34:59.877 detox[4821] [90mi[39m INSTRUMENTATION_STATUS: class=com.awesomeproject.DetoxTest | ||||
| INSTRUMENTATION_STATUS: current=1 | ||||
| INSTRUMENTATION_STATUS: id=AndroidJUnitRunner | ||||
| INSTRUMENTATION_STATUS: numtests=1 | ||||
| INSTRUMENTATION_STATUS: stream= | ||||
| com.awesomeproject.DetoxTest: | ||||
| INSTRUMENTATION_STATUS: test=runDetoxTests | ||||
| INSTRUMENTATION_STATUS_CODE: 1 | ||||
|  | ||||
| 23:35:00.349 detox[4818] [90mB[39m connection :56416<->:56526 | ||||
| 23:35:00.353 detox[4818] [90mi[39m get | ||||
|   data: {"messageId":0,"type":"login","params":{"role":"app","sessionId":"f4aa1b39-7f49-6a1e-2016-8fceba85b11b"}} | ||||
| 23:35:00.353 detox[4818] [90mi[39m send | ||||
|   data: { | ||||
|     "messageId": 0, | ||||
|     "type": "loginSuccess", | ||||
|     "params": { | ||||
|       "testerConnected": true, | ||||
|       "appConnected": true | ||||
|     } | ||||
|   } | ||||
| 23:35:00.353 detox[4818] [90mi[39m app joined session f4aa1b39-7f49-6a1e-2016-8fceba85b11b | ||||
| 23:35:00.353 detox[4818] [90mi[39m send | ||||
|   data: { | ||||
|     "type": "appConnected" | ||||
|   } | ||||
| 23:35:00.354 detox[4821] [90mi[39m get message | ||||
|   data: {"type":"appConnected"} | ||||
|     | ||||
| 23:35:00.355 detox[4818] [90mi[39m get | ||||
|   data: {"type":"isReady","params":{},"messageId":-1000} | ||||
| 23:35:00.355 detox[4818] [90mi[39m send | ||||
|   data: { | ||||
|     "type": "isReady", | ||||
|     "params": {}, | ||||
|     "messageId": -1000 | ||||
|   } | ||||
| 23:35:00.355 detox[4821] [90mi[39m send message | ||||
|   data: {"type":"isReady","params":{},"messageId":-1000} | ||||
| 23:35:10.355 detox[4821] [90mi[39m send message | ||||
|   data: {"type":"currentStatus","params":{},"messageId":1} | ||||
| 23:35:10.356 detox[4818] [90mi[39m get | ||||
|   data: {"type":"currentStatus","params":{},"messageId":1} | ||||
| 23:35:10.356 detox[4818] [90mi[39m send | ||||
|   data: { | ||||
|     "type": "currentStatus", | ||||
|     "params": {}, | ||||
|     "messageId": 1 | ||||
|   } | ||||
| 23:35:15.358 detox[4821] [90mi[39m Failed to execute the current status query. | ||||
| 23:36:58.856 detox[4821] [90mB[39m onHookFailure | ||||
|   args: ({"error":"Exceeded timeout of 120000 ms for a hook.\nAdd a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout.","hook":"beforeAll"}) | ||||
| 23:36:58.856 detox[4821] [90mE[39m onHookFailure | ||||
| 23:36:58.857 detox[4821] [90mE[39m beforeAll | ||||
|   error: 'Exceeded timeout of 120000 ms for a hook.\n' + | ||||
|     'Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout.' | ||||
| 23:36:58.858 detox[4821] [90mB[39m setLocalHashInfo | ||||
| 23:36:58.858 detox[4821] [90mi[39m 测试Native模块的方法: setLocalHashInfo | ||||
| 23:36:58.859 detox[4821] [90mE[39m setLocalHashInfo | ||||
| 23:36:58.859 detox[4821] [90mi[39m 测试Native模块的方法: setLocalHashInfo [FAIL] | ||||
| 23:36:58.867 detox[4821] [90mB[39m getLocalHashInfo | ||||
| 23:36:58.867 detox[4821] [90mi[39m 测试Native模块的方法: getLocalHashInfo | ||||
| 23:36:58.868 detox[4821] [90mE[39m getLocalHashInfo | ||||
| 23:36:58.868 detox[4821] [90mi[39m 测试Native模块的方法: getLocalHashInfo [FAIL] | ||||
| 23:36:58.868 detox[4821] [90mB[39m setUuid | ||||
| 23:36:58.868 detox[4821] [90mi[39m 测试Native模块的方法: setUuid | ||||
| 23:36:58.868 detox[4821] [90mE[39m setUuid | ||||
| 23:36:58.868 detox[4821] [90mi[39m 测试Native模块的方法: setUuid [FAIL] | ||||
| 23:36:58.869 detox[4821] [90mB[39m setBlockUpdate | ||||
| 23:36:58.869 detox[4821] [90mi[39m 测试Native模块的方法: setBlockUpdate | ||||
| 23:36:58.869 detox[4821] [90mE[39m setBlockUpdate | ||||
| 23:36:58.869 detox[4821] [90mi[39m 测试Native模块的方法: setBlockUpdate [FAIL] | ||||
| 23:36:58.869 detox[4821] [90mB[39m setNeedUpdate | ||||
| 23:36:58.869 detox[4821] [90mi[39m 测试Native模块的方法: setNeedUpdate | ||||
| 23:36:58.869 detox[4821] [90mE[39m setNeedUpdate | ||||
| 23:36:58.869 detox[4821] [90mi[39m 测试Native模块的方法: setNeedUpdate [FAIL] | ||||
| 23:36:58.870 detox[4821] [90mB[39m markSuccess | ||||
| 23:36:58.870 detox[4821] [90mi[39m 测试Native模块的方法: markSuccess | ||||
| 23:36:58.870 detox[4821] [90mE[39m markSuccess | ||||
| 23:36:58.870 detox[4821] [90mi[39m 测试Native模块的方法: markSuccess [FAIL] | ||||
| 23:36:58.871 detox[4821] [90mB[39m downloadPatchFromPpk | ||||
| 23:36:58.871 detox[4821] [90mi[39m 测试Native模块的方法: downloadPatchFromPpk | ||||
| 23:36:58.871 detox[4821] [90mE[39m downloadPatchFromPpk | ||||
| 23:36:58.871 detox[4821] [90mi[39m 测试Native模块的方法: downloadPatchFromPpk [FAIL] | ||||
| 23:36:58.871 detox[4821] [90mB[39m downloadPatchFromPackage | ||||
| 23:36:58.871 detox[4821] [90mi[39m 测试Native模块的方法: downloadPatchFromPackage | ||||
| 23:36:58.871 detox[4821] [90mE[39m downloadPatchFromPackage | ||||
| 23:36:58.871 detox[4821] [90mi[39m 测试Native模块的方法: downloadPatchFromPackage [FAIL] | ||||
| 23:36:58.872 detox[4821] [90mB[39m downloadFullUpdate | ||||
| 23:36:58.872 detox[4821] [90mi[39m 测试Native模块的方法: downloadFullUpdate | ||||
| 23:36:58.872 detox[4821] [90mE[39m downloadFullUpdate | ||||
| 23:36:58.872 detox[4821] [90mi[39m 测试Native模块的方法: downloadFullUpdate [FAIL] | ||||
| 23:36:58.872 detox[4821] [90mB[39m downloadAndInstallApk | ||||
| 23:36:58.872 detox[4821] [90mi[39m 测试Native模块的方法: downloadAndInstallApk | ||||
| 23:36:58.872 detox[4821] [90mE[39m downloadAndInstallApk | ||||
| 23:36:58.872 detox[4821] [90mi[39m 测试Native模块的方法: downloadAndInstallApk [FAIL] | ||||
| 23:36:58.873 detox[4821] [90mB[39m onRunDescribeFinish | ||||
|   args: ({"name":"测试Native模块的方法"}) | ||||
| 23:36:58.873 detox[4821] [90mE[39m onRunDescribeFinish | ||||
| 23:36:58.873 detox[4821] [90mE[39m 测试Native模块的方法 | ||||
| 23:36:58.873 detox[4821] [90mB[39m onRunDescribeFinish | ||||
|   args: ({"name":"ROOT_DESCRIBE_BLOCK"}) | ||||
| 23:36:58.873 detox[4821] [90mE[39m onRunDescribeFinish | ||||
| 23:36:58.873 detox[4821] [90mE[39m run the tests | ||||
| 23:36:58.899 detox[4821] [90mB[39m tear down environment | ||||
| 23:36:58.900 detox[4821] [90mB[39m onBeforeCleanup | ||||
|   args: () | ||||
| 23:36:58.902 detox[4821] [90mi[39m saving ADBLogcatRecording to: artifacts/android.emu.debug.2023-04-01 15-34-53Z/emulator-5554 2023-04-01 15-36-58Z.startup.log | ||||
| 23:36:58.902 detox[4821] [90mi[39m stopping ADBLogcatRecording | ||||
| 23:36:58.902 detox[4821] [90mi[39m "/Users/arvinh/Library/Android/sdk/platform-tools/adb" -s emulator-5554 shell "date +\"%m-%d %T.000\"" | ||||
| 23:36:58.958 detox[4821] [90mi[39m 12-09 14:44:22.000 | ||||
|  | ||||
| 23:36:58.960 detox[4821] [90mi[39m sending SIGINT to: /Users/arvinh/Library/Android/sdk/platform-tools/adb -s emulator-5554 shell logcat -T "12-09 14:42:22.000" --pid=20479 -f /sdcard/233455576_0.log | ||||
| 23:36:58.961 detox[4821] [90mi[39m /Users/arvinh/Library/Android/sdk/platform-tools/adb -s emulator-5554 shell "logcat -T \"12-09 14:42:22.000\" --pid=20479 -f /sdcard/233455576_0.log" terminated with SIGINT | ||||
| 23:36:58.961 detox[4821] [90mi[39m "/Users/arvinh/Library/Android/sdk/platform-tools/adb" -s emulator-5554 pull "/sdcard/233455576_0.log" "artifacts/android.emu.debug.2023-04-01 15-34-53Z/emulator-5554 2023-04-01 15-36-58Z.startup.log" | ||||
| 23:36:58.980 detox[4821] [90mi[39m /sdcard/233455576_0.log: 1 file pulled, 0 skipped. 20.7 MB/s (53248 bytes in 0.002s) | ||||
|  | ||||
| 23:36:58.980 detox[4821] [90mi[39m "/Users/arvinh/Library/Android/sdk/platform-tools/adb" -s emulator-5554 shell "rm  \"/sdcard/233455576_0.log\"" | ||||
| 23:36:59.018 detox[4821] [90mi[39m  | ||||
| 23:36:59.019 detox[4821] [90mi[39m saving FileArtifact to: artifacts/android.emu.debug.2023-04-01 15-34-53Z/detox_pid_4821.json.log { append: true } | ||||
| 23:36:59.019 detox[4821] [90mi[39m saving FileArtifact to: artifacts/android.emu.debug.2023-04-01 15-34-53Z/detox_pid_4821.log { append: true } | ||||
| 23:36:59.019 detox[4821] [90mE[39m onBeforeCleanup | ||||
| 23:36:59.019 detox[4821] [90mi[39m The app has not responded to the network requests below: | ||||
|   (id = 1) currentStatus: {} | ||||
|   (id = -1000) isReady: {} | ||||
|  | ||||
| Unresponded network requests might result in timeout errors in Detox tests. | ||||
|  | ||||
| 23:36:59.020 detox[4821] [90mi[39m send message | ||||
|   data: {"type":"cleanup","params":{"stopRunner":true},"messageId":-49642} | ||||
| 23:36:59.021 detox[4818] [90mi[39m get | ||||
|   data: {"type":"cleanup","params":{"stopRunner":true},"messageId":-49642} | ||||
| 23:36:59.022 detox[4818] [90mi[39m send | ||||
|   data: { | ||||
|     "type": "cleanup", | ||||
|     "params": { | ||||
|       "stopRunner": true | ||||
|     }, | ||||
|     "messageId": -49642 | ||||
|   } | ||||
| 23:37:04.022 detox[4821] [90mi[39m The pending request #-49642 ("cleanup") has been rejected due to the following error: | ||||
|  | ||||
| The tester has not received a response within 5000ms timeout to the message: | ||||
|  | ||||
| Cleanup { | ||||
|   type: 'cleanup', | ||||
|   params: [Object], | ||||
|   messageId: -49642 | ||||
| } | ||||
| 23:37:04.027 detox[4818] [90mi[39m tester exited session f4aa1b39-7f49-6a1e-2016-8fceba85b11b | ||||
| 23:37:04.027 detox[4818] [90mi[39m send | ||||
|   data: { | ||||
|     "type": "testerDisconnected", | ||||
|     "messageId": -1 | ||||
|   } | ||||
| 23:37:04.028 detox[4818] [90mE[39m connection :56416<->:56425 | ||||
| 23:37:04.028 detox[4821] [90mi[39m sending SIGINT to: /Users/arvinh/Library/Android/sdk/platform-tools/adb -s emulator-5554 shell am instrument -w -r -e detoxServer ws://localhost:56416 -e detoxSessionId f4aa1b39-7f49-6a1e-2016-8fceba85b11b -e debug false com.awesomeproject.test/androidx.test.runner.AndroidJUnitRunner | ||||
| 23:37:04.030 detox[4821] [90mi[39m /Users/arvinh/Library/Android/sdk/platform-tools/adb -s emulator-5554 shell am instrument -w -r -e detoxServer ws://localhost:56416 -e detoxSessionId f4aa1b39-7f49-6a1e-2016-8fceba85b11b -e debug false com.awesomeproject.test/androidx.test.runner.AndroidJUnitRunner terminated with SIGINT | ||||
| 23:37:04.030 detox[4821] [90mi[39m An error occurred while waiting for the app to become ready. Waiting for disconnection... | ||||
|   error: Failed to run application on the device | ||||
|    | ||||
|   HINT: Most likely, your tests have timed out and called detox.cleanup() while it was waiting for "ready" message (over WebSocket) from the instrumentation process. | ||||
| 23:37:04.030 detox[4821] [90mi[39m "/Users/arvinh/Library/Android/sdk/platform-tools/adb" -s emulator-5554 reverse --remove tcp:56416 | ||||
| 23:37:04.034 detox[4821] [90mB[39m free | ||||
|   args: ({"adbName":"emulator-5554"}, {"shutdown":false}) | ||||
| 23:37:04.036 detox[4821] [90mE[39m free | ||||
| 23:37:04.036 detox[4821] [90mE[39m tear down environment | ||||
| 23:37:04.036 detox[4821] [90mE[39m e2e/NativeModule.test.ts | ||||
| 23:37:04.041 detox[4821] [90mi[39m dispatching event to  primary-4818 /tmp/detox.primary-4818  :  reportTestResults , { | ||||
|   testResults: [ | ||||
|     { | ||||
|       success: false, | ||||
|       testFilePath: '/Users/arvinh/Desktop/wooza/react-native-pushy/Example/testHotUpdate/e2e/NativeModule.test.ts', | ||||
|       testExecError: undefined, | ||||
|       isPermanentFailure: false | ||||
|     } | ||||
|   ] | ||||
| } | ||||
| 23:37:04.042 detox[4818] [90mi[39m received event of :  reportTestResults { | ||||
|   testResults: [ | ||||
|     { | ||||
|       success: false, | ||||
|       testFilePath: '/Users/arvinh/Desktop/wooza/react-native-pushy/Example/testHotUpdate/e2e/NativeModule.test.ts', | ||||
|       isPermanentFailure: false | ||||
|     } | ||||
|   ] | ||||
| } | ||||
| 23:37:04.042 detox[4818] [90mi[39m dispatching event to socket  :  reportTestResultsDone { | ||||
|   testResults: [ | ||||
|     { | ||||
|       success: false, | ||||
|       testFilePath: '/Users/arvinh/Desktop/wooza/react-native-pushy/Example/testHotUpdate/e2e/NativeModule.test.ts', | ||||
|       isPermanentFailure: false | ||||
|     } | ||||
|   ] | ||||
| } | ||||
| 23:37:04.042 detox[4818] [90mi[39m broadcasting event to all known sockets listening to  /tmp/detox.primary-4818  :   sessionStateUpdate { | ||||
|   testResults: [ | ||||
|     { | ||||
|       success: false, | ||||
|       testFilePath: '/Users/arvinh/Desktop/wooza/react-native-pushy/Example/testHotUpdate/e2e/NativeModule.test.ts', | ||||
|       isPermanentFailure: false | ||||
|     } | ||||
|   ] | ||||
| } | ||||
| 23:37:04.042 detox[4821] [90mi[39m ## received events ## | ||||
| 23:37:04.043 detox[4821] [90mi[39m detected event reportTestResultsDone { | ||||
|   testResults: [ | ||||
|     { | ||||
|       success: false, | ||||
|       testFilePath: '/Users/arvinh/Desktop/wooza/react-native-pushy/Example/testHotUpdate/e2e/NativeModule.test.ts', | ||||
|       isPermanentFailure: false | ||||
|     } | ||||
|   ] | ||||
| } | ||||
| 23:37:04.045 detox[4818] [90mi[39m socket disconnected secondary-4821 | ||||
| 23:37:04.045 detox[4821] [90mi[39m connection closed primary-4818 /tmp/detox.primary-4818 0 tries remaining of 0 | ||||
| 23:37:04.045 detox[4821] [90mi[39m secondary-4821 exceeded connection rety amount of  or stopRetrying flag set. | ||||
| 23:37:04.064 detox[4821] [90mi[39m  | ||||
| 23:37:04.113 detox[4818] [90mE[39m Command failed with exit code = 1: | ||||
| jest --config e2e/jest.config.js | ||||
| 23:37:04.114 detox[4818] [90mi[39m Detox server has been closed gracefully | ||||
| 23:37:04.115 detox[4818] [90mi[39m app exited session f4aa1b39-7f49-6a1e-2016-8fceba85b11b | ||||
| 23:37:04.115 detox[4818] [90mE[39m connection :56416<->:56526 | ||||
| 23:37:04.115 detox[4818] [90mE[39m ../../node_modules/.bin/detox test --configuration android.emu.debug --headless --record-logs all | ||||
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							| @@ -0,0 +1,271 @@ | ||||
| --------- beginning of main | ||||
| 12-09 14:42:23.010 20479 20479 I .awesomeproject: Late-enabling -Xcheck:jni | ||||
| 12-09 14:42:23.052 20479 20479 D CompatibilityChangeReporter: Compat change id reported: 171979766; UID 10186; state: ENABLED | ||||
| --------- beginning of system | ||||
| 12-09 14:42:23.057 20479 20479 W ActivityThread: Package uses different ABI(s) than its instrumentation: package[com.awesomeproject]: arm64-v8a, null instrumentation[com.awesomeproject.test]: null, null | ||||
| 12-09 14:42:23.058 20479 20479 W .awesomeproject: ClassLoaderContext classpath size mismatch. expected=0, found=1 (PCL[] | PCL[/system/framework/android.test.runner.jar*2256426886]) | ||||
| 12-09 14:42:23.058 20479 20479 W .awesomeproject: ClassLoaderContext classpath size mismatch. expected=0, found=2 (PCL[] | PCL[/system/framework/android.test.runner.jar*2256426886:/system/framework/android.test.mock.jar*849501951]) | ||||
| 12-09 14:42:23.058 20479 20479 W ziparchive: Unable to open '/data/app/~~R6aC-CFkvZ4rMQCulaSKZw==/com.awesomeproject.test-CZ6b6zb4B0IQtWld4WWUew==/base.dm': No such file or directory | ||||
| 12-09 14:42:23.058 20479 20479 W ziparchive: Unable to open '/data/app/~~R6aC-CFkvZ4rMQCulaSKZw==/com.awesomeproject.test-CZ6b6zb4B0IQtWld4WWUew==/base.dm': No such file or directory | ||||
| 12-09 14:42:23.118 20479 20479 W ziparchive: Unable to open '/data/app/~~nor3xECowNstcCaNgZMqcA==/com.awesomeproject-XMs4tnOIKVIebcwvA5vvUA==/base.dm': No such file or directory | ||||
| 12-09 14:42:23.118 20479 20479 W ziparchive: Unable to open '/data/app/~~nor3xECowNstcCaNgZMqcA==/com.awesomeproject-XMs4tnOIKVIebcwvA5vvUA==/base.dm': No such file or directory | ||||
| 12-09 14:42:23.190 20479 20479 V GraphicsEnvironment: ANGLE Developer option for 'com.awesomeproject' set to: 'default' | ||||
| 12-09 14:42:23.190 20479 20479 V GraphicsEnvironment: ANGLE GameManagerService for com.awesomeproject: false | ||||
| 12-09 14:42:23.190 20479 20479 V GraphicsEnvironment: Neither updatable production driver nor prerelease driver is supported. | ||||
| 12-09 14:42:23.191 20479 20479 D ApplicationLoaders: Returning zygote-cached class loader: /system/framework/android.test.base.jar | ||||
| 12-09 14:42:23.192 20479 20479 D ApplicationLoaders: Returning zygote-cached class loader: /system/framework/android.test.base.jar | ||||
| 12-09 14:42:23.192 20479 20479 W .awesomeproject: ClassLoaderContext shared library size mismatch. Expected=0, found=2 (PCL[] | PCL[]{PCL[/system/framework/android.test.base.jar*1628045882]#PCL[/system/framework/android.test.mock.jar*849501951]}) | ||||
| 12-09 14:42:23.193 20479 20479 W .awesomeproject: ClassLoaderContext shared library size mismatch. Expected=0, found=3 (PCL[] | PCL[]{PCL[/system/framework/android.test.base.jar*1628045882]#PCL[/system/framework/android.test.mock.jar*849501951]#PCL[/system/framework/android.test.runner.jar*2256426886]{PCL[/system/framework/android.test.base.jar*1628045882]#PCL[/system/framework/android.test.mock.jar*849501951]}};PCL[/system/framework/android.test.runner.jar*2256426886:/system/framework/android.test.mock.jar*849501951:/system/framework/android.test.base.jar*1628045882:/data/app/~~R6aC-CFkvZ4rMQCulaSKZw==/com.awesomeproject.test-CZ6b6zb4B0IQtWld4WWUew==/base.apk*3488107038:/data/app/~~R6aC-CFkvZ4rMQCulaSKZw==/com.awesomeproject.test-CZ6b6zb4B0IQtWld4WWUew==/base.apk!classes2.dex*3802597924:/data/app/~~R6aC-CFkvZ4rMQCulaSKZw==/com.awesomeproject.test-CZ6b6zb4B0IQtWld4WWUew==/base.apk!classes3.dex*1113348705:/data/app/~~R6aC-CFkvZ4rMQCulaSKZw==/com.awesomeproject.test-CZ6b6zb4B0IQtWld4WWUew==/base.apk!classes4.dex*1609470516:/data/app/~~nor3xECowNstcCaNgZMqcA==/com.awesomeproject-XMs4tnOIKVIebcwvA5vvUA==/base.apk*4280308006:/data/app/~~nor3xECowNstcCaNgZMqcA==/com.awesomeproject-XMs4tnOIKVIebcwvA5vvUA==/base.apk!classes2.dex*2341650508:/data/app/~~nor3xECowNstcCaNgZMqcA==/com.awesomeproject-XMs4tnOIKVIebcwvA5vvUA==/base.apk!classes3.dex*2242498629:/data/app/~~nor3xECowNstcCaNgZMqcA==/com.awesomeproject-XMs4tnOIKVIebcwvA5vvUA==/base.apk!classes4.dex*1939924932:/data/app/~~nor3xECowNstcCaNgZMqcA==/com.awesomeproject-XMs4tnOIKVIebcwvA5vvUA==/base.apk!classes5.dex*3428091317:/data/app/~~nor3xECowNstcCaNgZMqcA==/com.awesomeproject-XMs4tnOIKVIebcwvA5vvUA==/base.apk!classes6.dex*1896867339:/data/app/~~nor3xECowNstcCaNgZMqcA==/com.awesomeproject-XMs4tnOIKVIebcwvA5vvUA==/base.apk!classes7.dex*616740603]) | ||||
| 12-09 14:42:23.193 20479 20479 W .awesomeproject: ClassLoaderContext classpath size mismatch. expected=0, found=1 (PCL[] | PCL[/system/framework/android.test.runner.jar*2256426886]{PCL[/system/framework/android.test.base.jar*1628045882]#PCL[/system/framework/android.test.mock.jar*849501951]#PCL[/system/framework/android.test.runner.jar*2256426886]{PCL[/system/framework/android.test.base.jar*1628045882]#PCL[/system/framework/android.test.mock.jar*849501951]}};PCL[/system/framework/android.test.runner.jar*2256426886:/system/framework/android.test.mock.jar*849501951:/system/framework/android.test.base.jar*1628045882:/data/app/~~R6aC-CFkvZ4rMQCulaSKZw==/com.awesomeproject.test-CZ6b6zb4B0IQtWld4WWUew==/base.apk*3488107038:/data/app/~~R6aC-CFkvZ4rMQCulaSKZw==/com.awesomeproject.test-CZ6b6zb4B0IQtWld4WWUew==/base.apk!classes2.dex*3802597924:/data/app/~~R6aC-CFkvZ4rMQCulaSKZw==/com.awesomeproject.test-CZ6b6zb4B0IQtWld4WWUew==/base.apk!classes3.dex*1113348705:/data/app/~~R6aC-CFkvZ4rMQCulaSKZw==/com.awesomeproject.test-CZ6b6zb4B0IQtWld4WWUew==/base.apk!classes4.dex*1609470516:/data/app/~~nor3xECowNstcCaNgZMqcA==/com.awesomeproject-XMs4tnOIKVIebcwvA5vvUA==/base.apk*4280308006:/data/app/~~nor3xECowNstcCaNgZMqcA==/com.awesomeproject-XMs4tnOIKVIebcwvA5vvUA==/base.apk!classes2.dex*2341650508:/data/app/~~nor3xECowNstcCaNgZMqcA==/com.awesomeproject-XMs4tnOIKVIebcwvA5vvUA==/base.apk!classes3.dex*2242498629:/data/app/~~nor3xECowNstcCaNgZMqcA==/com.awesomeproject-XMs4tnOIKVIebcwvA5vvUA==/base.apk!classes4.dex*1939924932:/data/app/~~nor3xECowNstcCaNgZMqcA==/com.awesomeproject-XMs4tnOIKVIebcwvA5vvUA==/base.apk!classes5.dex*3428091317:/data/app/~~nor3xECowNstcCaNgZMqcA==/com.awesomeproject-XMs4tnOIKVIebcwvA5vvUA==/base.apk!classes6.dex*1896867339:/data/app/~~nor3xECowNstcCaNgZMqcA==/com.awesomeproject-XMs4tnOIKVIebcwvA5vvUA==/base.apk!classes7.dex*616740603]) | ||||
| 12-09 14:42:23.194 20479 20479 W .awesomeproject: ClassLoaderContext classpath size mismatch. expected=0, found=2 (PCL[] | PCL[/system/framework/android.test.runner.jar*2256426886:/system/framework/android.test.mock.jar*849501951]{PCL[/system/framework/android.test.base.jar*1628045882]#PCL[/system/framework/android.test.mock.jar*849501951]#PCL[/system/framework/android.test.runner.jar*2256426886]{PCL[/system/framework/android.test.base.jar*1628045882]#PCL[/system/framework/android.test.mock.jar*849501951]}};PCL[/system/framework/android.test.runner.jar*2256426886:/system/framework/android.test.mock.jar*849501951:/system/framework/android.test.base.jar*1628045882:/data/app/~~R6aC-CFkvZ4rMQCulaSKZw==/com.awesomeproject.test-CZ6b6zb4B0IQtWld4WWUew==/base.apk*3488107038:/data/app/~~R6aC-CFkvZ4rMQCulaSKZw==/com.awesomeproject.test-CZ6b6zb4B0IQtWld4WWUew==/base.apk!classes2.dex*3802597924:/data/app/~~R6aC-CFkvZ4rMQCulaSKZw==/com.awesomeproject.test-CZ6b6zb4B0IQtWld4WWUew==/base.apk!classes3.dex*1113348705:/data/app/~~R6aC-CFkvZ4rMQCulaSKZw==/com.awesomeproject.test-CZ6b6zb4B0IQtWld4WWUew==/base.apk!classes4.dex*1609470516:/data/app/~~nor3xECowNstcCaNgZMqcA==/com.awesomeproject-XMs4tnOIKVIebcwvA5vvUA==/base.apk*4280308006:/data/app/~~nor3xECowNstcCaNgZMqcA==/com.awesomeproject-XMs4tnOIKVIebcwvA5vvUA==/base.apk!classes2.dex*2341650508:/data/app/~~nor3xECowNstcCaNgZMqcA==/com.awesomeproject-XMs4tnOIKVIebcwvA5vvUA==/base.apk!classes3.dex*2242498629:/data/app/~~nor3xECowNstcCaNgZMqcA==/com.awesomeproject-XMs4tnOIKVIebcwvA5vvUA==/base.apk!classes4.dex*1939924932:/data/app/~~nor3xECowNstcCaNgZMqcA==/com.awesomeproject-XMs4tnOIKVIebcwvA5vvUA==/base.apk!classes5.dex*3428091317:/data/app/~~nor3xECowNstcCaNgZMqcA==/com.awesomeproject-XMs4tnOIKVIebcwvA5vvUA==/base.apk!classes6.dex*1896867339:/data/app/~~nor3xECowNstcCaNgZMqcA==/com.awesomeproject-XMs4tnOIKVIebcwvA5vvUA==/base.apk!classes7.dex*616740603]) | ||||
| 12-09 14:42:23.194 20479 20479 W ziparchive: Unable to open '/data/app/~~R6aC-CFkvZ4rMQCulaSKZw==/com.awesomeproject.test-CZ6b6zb4B0IQtWld4WWUew==/base.dm': No such file or directory | ||||
| 12-09 14:42:23.194 20479 20479 W ziparchive: Unable to open '/data/app/~~R6aC-CFkvZ4rMQCulaSKZw==/com.awesomeproject.test-CZ6b6zb4B0IQtWld4WWUew==/base.dm': No such file or directory | ||||
| 12-09 14:42:23.244 20479 20479 W ziparchive: Unable to open '/data/app/~~nor3xECowNstcCaNgZMqcA==/com.awesomeproject-XMs4tnOIKVIebcwvA5vvUA==/base.dm': No such file or directory | ||||
| 12-09 14:42:23.244 20479 20479 W ziparchive: Unable to open '/data/app/~~nor3xECowNstcCaNgZMqcA==/com.awesomeproject-XMs4tnOIKVIebcwvA5vvUA==/base.dm': No such file or directory | ||||
| 12-09 14:42:23.315 20479 20479 D NetworkSecurityConfig: Using Network Security Config from resource network_security_config debugBuild: true | ||||
| 12-09 14:42:23.316 20479 20479 D NetworkSecurityConfig: Using Network Security Config from resource network_security_config debugBuild: true | ||||
| 12-09 14:42:23.320 20479 20479 I MonitoringInstr: Instrumentation started! | ||||
| 12-09 14:42:23.322 20479 20479 V TestEventClient: No service name argument was given (testDiscoveryService, testRunEventService or orchestratorService) | ||||
| 12-09 14:42:23.324 20479 20479 V fb-UnpackingSoSource: locked dso store /data/user/0/com.awesomeproject/lib-main | ||||
| 12-09 14:42:23.324 20479 20479 V fb-UnpackingSoSource: deps mismatch on deps store: regenerating | ||||
| 12-09 14:42:23.324 20479 20479 V fb-UnpackingSoSource: so store dirty: regenerating | ||||
| 12-09 14:42:23.334 20479 20479 D ApkSoSource: not allowing consideration of lib/arm64-v8a/libc++_shared.so: deferring to libdir | ||||
| 12-09 14:42:23.335 20479 20479 D ApkSoSource: not allowing consideration of lib/arm64-v8a/libevent-2.1.so: deferring to libdir | ||||
| 12-09 14:42:23.335 20479 20479 D ApkSoSource: not allowing consideration of lib/arm64-v8a/libevent_core-2.1.so: deferring to libdir | ||||
| 12-09 14:42:23.335 20479 20479 D ApkSoSource: not allowing consideration of lib/arm64-v8a/libevent_extra-2.1.so: deferring to libdir | ||||
| 12-09 14:42:23.336 20479 20479 D ApkSoSource: not allowing consideration of lib/arm64-v8a/libfabricjni.so: deferring to libdir | ||||
| 12-09 14:42:23.336 20479 20479 D ApkSoSource: not allowing consideration of lib/arm64-v8a/libfb.so: deferring to libdir | ||||
| 12-09 14:42:23.336 20479 20479 D ApkSoSource: not allowing consideration of lib/arm64-v8a/libfbjni.so: deferring to libdir | ||||
| 12-09 14:42:23.336 20479 20479 D ApkSoSource: not allowing consideration of lib/arm64-v8a/libflipper.so: deferring to libdir | ||||
| 12-09 14:42:23.336 20479 20479 D ApkSoSource: not allowing consideration of lib/arm64-v8a/libfolly_runtime.so: deferring to libdir | ||||
| 12-09 14:42:23.336 20479 20479 D ApkSoSource: not allowing consideration of lib/arm64-v8a/libglog.so: deferring to libdir | ||||
| 12-09 14:42:23.336 20479 20479 D ApkSoSource: not allowing consideration of lib/arm64-v8a/libglog_init.so: deferring to libdir | ||||
| 12-09 14:42:23.336 20479 20479 D ApkSoSource: not allowing consideration of lib/arm64-v8a/libimagepipeline.so: deferring to libdir | ||||
| 12-09 14:42:23.336 20479 20479 D ApkSoSource: not allowing consideration of lib/arm64-v8a/libjsc.so: deferring to libdir | ||||
| 12-09 14:42:23.336 20479 20479 D ApkSoSource: not allowing consideration of lib/arm64-v8a/libjscexecutor.so: deferring to libdir | ||||
| 12-09 14:42:23.336 20479 20479 D ApkSoSource: not allowing consideration of lib/arm64-v8a/libjsi.so: deferring to libdir | ||||
| 12-09 14:42:23.336 20479 20479 D ApkSoSource: not allowing consideration of lib/arm64-v8a/libjsijniprofiler.so: deferring to libdir | ||||
| 12-09 14:42:23.336 20479 20479 D ApkSoSource: not allowing consideration of lib/arm64-v8a/libjsinspector.so: deferring to libdir | ||||
| 12-09 14:42:23.336 20479 20479 D ApkSoSource: not allowing consideration of lib/arm64-v8a/liblogger.so: deferring to libdir | ||||
| 12-09 14:42:23.336 20479 20479 D ApkSoSource: not allowing consideration of lib/arm64-v8a/libmapbufferjni.so: deferring to libdir | ||||
| 12-09 14:42:23.336 20479 20479 D ApkSoSource: not allowing consideration of lib/arm64-v8a/libnative-filters.so: deferring to libdir | ||||
| 12-09 14:42:23.336 20479 20479 D ApkSoSource: not allowing consideration of lib/arm64-v8a/libnative-imagetranscoder.so: deferring to libdir | ||||
| 12-09 14:42:23.336 20479 20479 D ApkSoSource: not allowing consideration of lib/arm64-v8a/libreact_codegen_rncore.so: deferring to libdir | ||||
| 12-09 14:42:23.336 20479 20479 D ApkSoSource: not allowing consideration of lib/arm64-v8a/libreact_config.so: deferring to libdir | ||||
| 12-09 14:42:23.336 20479 20479 D ApkSoSource: not allowing consideration of lib/arm64-v8a/libreact_debug.so: deferring to libdir | ||||
| 12-09 14:42:23.336 20479 20479 D ApkSoSource: not allowing consideration of lib/arm64-v8a/libreact_nativemodule_core.so: deferring to libdir | ||||
| 12-09 14:42:23.337 20479 20479 D ApkSoSource: not allowing consideration of lib/arm64-v8a/libreact_render_animations.so: deferring to libdir | ||||
| 12-09 14:42:23.337 20479 20479 D ApkSoSource: not allowing consideration of lib/arm64-v8a/libreact_render_attributedstring.so: deferring to libdir | ||||
| 12-09 14:42:23.337 20479 20479 D ApkSoSource: not allowing consideration of lib/arm64-v8a/libreact_render_componentregistry.so: deferring to libdir | ||||
| 12-09 14:42:23.337 20479 20479 D ApkSoSource: not allowing consideration of lib/arm64-v8a/libreact_render_core.so: deferring to libdir | ||||
| 12-09 14:42:23.337 20479 20479 D ApkSoSource: not allowing consideration of lib/arm64-v8a/libreact_render_debug.so: deferring to libdir | ||||
| 12-09 14:42:23.337 20479 20479 D ApkSoSource: not allowing consideration of lib/arm64-v8a/libreact_render_graphics.so: deferring to libdir | ||||
| 12-09 14:42:23.337 20479 20479 D ApkSoSource: not allowing consideration of lib/arm64-v8a/libreact_render_imagemanager.so: deferring to libdir | ||||
| 12-09 14:42:23.337 20479 20479 D ApkSoSource: not allowing consideration of lib/arm64-v8a/libreact_render_leakchecker.so: deferring to libdir | ||||
| 12-09 14:42:23.337 20479 20479 D ApkSoSource: not allowing consideration of lib/arm64-v8a/libreact_render_mapbuffer.so: deferring to libdir | ||||
| 12-09 14:42:23.337 20479 20479 D ApkSoSource: not allowing consideration of lib/arm64-v8a/libreact_render_mounting.so: deferring to libdir | ||||
| 12-09 14:42:23.337 20479 20479 D ApkSoSource: not allowing consideration of lib/arm64-v8a/libreact_render_runtimescheduler.so: deferring to libdir | ||||
| 12-09 14:42:23.337 20479 20479 D ApkSoSource: not allowing consideration of lib/arm64-v8a/libreact_render_scheduler.so: deferring to libdir | ||||
| 12-09 14:42:23.337 20479 20479 D ApkSoSource: not allowing consideration of lib/arm64-v8a/libreact_render_telemetry.so: deferring to libdir | ||||
| 12-09 14:42:23.337 20479 20479 D ApkSoSource: not allowing consideration of lib/arm64-v8a/libreact_render_templateprocessor.so: deferring to libdir | ||||
| 12-09 14:42:23.337 20479 20479 D ApkSoSource: not allowing consideration of lib/arm64-v8a/libreact_render_textlayoutmanager.so: deferring to libdir | ||||
| 12-09 14:42:23.337 20479 20479 D ApkSoSource: not allowing consideration of lib/arm64-v8a/libreact_render_uimanager.so: deferring to libdir | ||||
| 12-09 14:42:23.337 20479 20479 D ApkSoSource: not allowing consideration of lib/arm64-v8a/libreact_utils.so: deferring to libdir | ||||
| 12-09 14:42:23.337 20479 20479 D ApkSoSource: not allowing consideration of lib/arm64-v8a/libreactnativeblob.so: deferring to libdir | ||||
| 12-09 14:42:23.337 20479 20479 D ApkSoSource: not allowing consideration of lib/arm64-v8a/libreactnativejni.so: deferring to libdir | ||||
| 12-09 14:42:23.337 20479 20479 D ApkSoSource: not allowing consideration of lib/arm64-v8a/libreactperfloggerjni.so: deferring to libdir | ||||
| 12-09 14:42:23.337 20479 20479 D ApkSoSource: not allowing consideration of lib/arm64-v8a/librnupdate.so: deferring to libdir | ||||
| 12-09 14:42:23.337 20479 20479 D ApkSoSource: not allowing consideration of lib/arm64-v8a/librrc_image.so: deferring to libdir | ||||
| 12-09 14:42:23.337 20479 20479 D ApkSoSource: not allowing consideration of lib/arm64-v8a/librrc_root.so: deferring to libdir | ||||
| 12-09 14:42:23.337 20479 20479 D ApkSoSource: not allowing consideration of lib/arm64-v8a/librrc_scrollview.so: deferring to libdir | ||||
| 12-09 14:42:23.337 20479 20479 D ApkSoSource: not allowing consideration of lib/arm64-v8a/librrc_text.so: deferring to libdir | ||||
| 12-09 14:42:23.337 20479 20479 D ApkSoSource: not allowing consideration of lib/arm64-v8a/librrc_textinput.so: deferring to libdir | ||||
| 12-09 14:42:23.337 20479 20479 D ApkSoSource: not allowing consideration of lib/arm64-v8a/librrc_unimplementedview.so: deferring to libdir | ||||
| 12-09 14:42:23.337 20479 20479 D ApkSoSource: not allowing consideration of lib/arm64-v8a/librrc_view.so: deferring to libdir | ||||
| 12-09 14:42:23.337 20479 20479 D ApkSoSource: not allowing consideration of lib/arm64-v8a/libruntimeexecutor.so: deferring to libdir | ||||
| 12-09 14:42:23.337 20479 20479 D ApkSoSource: not allowing consideration of lib/arm64-v8a/libturbomodulejsijni.so: deferring to libdir | ||||
| 12-09 14:42:23.337 20479 20479 D ApkSoSource: not allowing consideration of lib/arm64-v8a/libyoga.so: deferring to libdir | ||||
| 12-09 14:42:23.337 20479 20479 V fb-UnpackingSoSource: regenerating DSO store com.facebook.soloader.ApkSoSource | ||||
| 12-09 14:42:23.337 20479 20479 V fb-UnpackingSoSource: Finished regenerating DSO store com.facebook.soloader.ApkSoSource | ||||
| 12-09 14:42:23.337 20479 20479 V fb-UnpackingSoSource: starting syncer worker | ||||
| 12-09 14:42:23.340 20479 20479 V fb-UnpackingSoSource: releasing dso store lock for /data/user/0/com.awesomeproject/lib-main (from syncer thread) | ||||
| 12-09 14:42:23.340 20479 20479 V fb-UnpackingSoSource: not releasing dso store lock for /data/user/0/com.awesomeproject/lib-main (syncer thread started) | ||||
| 12-09 14:42:23.343 20479 20479 D SoLoader: libjscexecutor.so not found on /data/data/com.awesomeproject/lib-main | ||||
| 12-09 14:42:23.343 20479 20479 D SoLoader: libjscexecutor.so found on /data/app/~~nor3xECowNstcCaNgZMqcA==/com.awesomeproject-XMs4tnOIKVIebcwvA5vvUA==/lib/arm64 | ||||
| 12-09 14:42:23.343 20479 20479 D SoLoader: Not resolving dependencies for libjscexecutor.so | ||||
| 12-09 14:42:23.350 20479 20479 D JavaScriptCore.Version: 250230.2.1 | ||||
| 12-09 14:42:23.375 20479 20501 D SoLoader: libfbjni.so not found on /data/data/com.awesomeproject/lib-main | ||||
| 12-09 14:42:23.376 20479 20501 D SoLoader: libfbjni.so found on /data/app/~~nor3xECowNstcCaNgZMqcA==/com.awesomeproject-XMs4tnOIKVIebcwvA5vvUA==/lib/arm64 | ||||
| 12-09 14:42:23.376 20479 20501 D SoLoader: Not resolving dependencies for libfbjni.so | ||||
| 12-09 14:42:23.376 20479 20501 D SoLoader: libflipper.so not found on /data/data/com.awesomeproject/lib-main | ||||
| 12-09 14:42:23.376 20479 20501 D SoLoader: libflipper.so found on /data/app/~~nor3xECowNstcCaNgZMqcA==/com.awesomeproject-XMs4tnOIKVIebcwvA5vvUA==/lib/arm64 | ||||
| 12-09 14:42:23.376 20479 20501 D SoLoader: Not resolving dependencies for libflipper.so | ||||
| 12-09 14:42:23.392 20479 20506 D TrafficStats: tagSocket(94) with statsTag=0xffffffff, statsUid=-1 | ||||
| 12-09 14:42:23.394 20479 20505 D TrafficStats: tagSocket(73) with statsTag=0xffffffff, statsUid=-1 | ||||
| 12-09 14:42:23.417 20479 20479 W .awesomeproject: Accessing hidden field Landroid/view/View;->mKeyedTags:Landroid/util/SparseArray; (unsupported, reflection, allowed) | ||||
| 12-09 14:42:23.419 20479 20479 W .awesomeproject: Accessing hidden field Landroid/view/View;->mListenerInfo:Landroid/view/View$ListenerInfo; (unsupported, reflection, allowed) | ||||
| 12-09 14:42:23.419 20479 20479 W .awesomeproject: Accessing hidden field Landroid/view/View$ListenerInfo;->mOnClickListener:Landroid/view/View$OnClickListener; (unsupported, reflection, allowed) | ||||
| 12-09 14:42:23.421 20479 20479 I flipper : flipper: FlipperClient::addPlugin Inspector | ||||
| 12-09 14:42:23.421 20479 20479 I flipper : flipper: FlipperClient::addPlugin React | ||||
| 12-09 14:42:23.421 20479 20479 I flipper : flipper: FlipperClient::addPlugin Databases | ||||
| 12-09 14:42:23.421 20479 20479 I flipper : flipper: FlipperClient::addPlugin Preferences | ||||
| 12-09 14:42:23.421 20479 20479 I flipper : flipper: FlipperClient::addPlugin CrashReporter | ||||
| 12-09 14:42:23.422 20479 20479 I flipper : flipper: FlipperClient::addPlugin Network | ||||
| 12-09 14:42:23.433 20479 20496 I UsageTrackerFacilitator: Usage tracking enabled | ||||
| 12-09 14:42:23.434 20479 20496 I TestRequestBuilder: Scanning classpath to find tests in paths [/data/app/~~R6aC-CFkvZ4rMQCulaSKZw==/com.awesomeproject.test-CZ6b6zb4B0IQtWld4WWUew==/base.apk] | ||||
| 12-09 14:42:23.435 20479 20496 W .awesomeproject: Opening an oat file without a class loader. Are you using the deprecated DexFile APIs? | ||||
| 12-09 14:42:23.526 20479 20500 W System.err: SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder". | ||||
| 12-09 14:42:23.607 20479 20496 W .awesomeproject: Unable to resolve Lcom/google/android/apps/common/testing/accessibility/framework/AccessibilityHierarchyCheckResult; annotation class 6432 | ||||
| 12-09 14:42:23.607 20479 20496 W .awesomeproject: Unable to resolve Lcom/google/android/apps/common/testing/accessibility/framework/AccessibilityHierarchyCheckResult; annotation class 6432 | ||||
| 12-09 14:42:23.607 20479 20496 W .awesomeproject: Unable to resolve Lcom/google/android/apps/common/testing/accessibility/framework/AccessibilityHierarchyCheckResult; annotation class 6432 | ||||
| 12-09 14:42:23.607 20479 20496 W .awesomeproject: Unable to resolve Lcom/google/android/apps/common/testing/accessibility/framework/AccessibilityHierarchyCheckResult; annotation class 6432 | ||||
| 12-09 14:42:23.608 20479 20496 W .awesomeproject: Unable to resolve Lcom/google/android/apps/common/testing/accessibility/framework/AccessibilityViewCheckResult; annotation class 6432 | ||||
| 12-09 14:42:23.608 20479 20496 W .awesomeproject: Unable to resolve Lcom/google/android/apps/common/testing/accessibility/framework/ClusteringUtils; annotation class 6432 | ||||
| 12-09 14:42:23.608 20479 20496 W .awesomeproject: Unable to resolve Lcom/google/android/apps/common/testing/accessibility/framework/Question; annotation class 6432 | ||||
| 12-09 14:42:23.610 20479 20496 W .awesomeproject: Unable to resolve Lcom/google/android/apps/common/testing/accessibility/framework/replacements/TextUtils; annotation class 6431 | ||||
| 12-09 14:42:23.611 20479 20496 W .awesomeproject: Unable to resolve Lcom/google/android/apps/common/testing/accessibility/framework/uielement/ViewHierarchyElement; annotation class 6432 | ||||
| 12-09 14:42:23.611 20479 20496 W .awesomeproject: Unable to resolve Lcom/google/android/apps/common/testing/accessibility/framework/uielement/ViewHierarchyElement; annotation class 6432 | ||||
| 12-09 14:42:23.611 20479 20496 W .awesomeproject: Unable to resolve Lcom/google/android/apps/common/testing/accessibility/framework/uielement/ViewHierarchyElement; annotation class 6432 | ||||
| 12-09 14:42:23.612 20479 20496 W .awesomeproject: Unable to resolve Lcom/google/android/apps/common/testing/accessibility/framework/uielement/ViewHierarchyElement; annotation class 6432 | ||||
| 12-09 14:42:23.612 20479 20496 W .awesomeproject: Unable to resolve Lcom/google/android/apps/common/testing/accessibility/framework/uielement/ViewHierarchyElementAndroid; annotation class 6432 | ||||
| 12-09 14:42:23.612 20479 20496 W .awesomeproject: Unable to resolve Lcom/google/android/apps/common/testing/accessibility/framework/uielement/ViewHierarchyElementAndroid; annotation class 6432 | ||||
| 12-09 14:42:23.612 20479 20496 W .awesomeproject: Unable to resolve Lcom/google/android/apps/common/testing/accessibility/framework/uielement/ViewHierarchyElementAndroid; annotation class 6432 | ||||
| 12-09 14:42:23.612 20479 20496 W .awesomeproject: Unable to resolve Lcom/google/android/apps/common/testing/accessibility/framework/uielement/ViewHierarchyElementAndroid; annotation class 6432 | ||||
| 12-09 14:42:23.612 20479 20496 W .awesomeproject: Unable to resolve Lcom/google/android/apps/common/testing/accessibility/framework/uielement/ViewHierarchyElement; annotation class 6432 | ||||
| 12-09 14:42:23.612 20479 20496 W .awesomeproject: Unable to resolve Lcom/google/android/apps/common/testing/accessibility/framework/uielement/ViewHierarchyElement; annotation class 6432 | ||||
| 12-09 14:42:23.627 20479 20500 W System.err: SLF4J: Defaulting to no-operation (NOP) logger implementation | ||||
| 12-09 14:42:23.631 20479 20500 W System.err: SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details. | ||||
| 12-09 14:42:23.675 20479 20526 D TrafficStats: tagSocket(96) with statsTag=0xffffffff, statsUid=-1 | ||||
| 12-09 14:42:23.802 20479 20496 D TestExecutor: Adding listener androidx.test.internal.runner.listener.LogRunListener | ||||
| 12-09 14:42:23.803 20479 20496 D TestExecutor: Adding listener androidx.test.internal.runner.listener.InstrumentationResultPrinter | ||||
| 12-09 14:42:23.803 20479 20496 D TestExecutor: Adding listener androidx.test.internal.runner.listener.ActivityFinisherRunListener | ||||
| 12-09 14:42:23.803 20479 20496 I TestRunner: run started: 1 tests | ||||
| 12-09 14:42:23.804 20479 20496 I TestRunner: started: runDetoxTests(com.awesomeproject.DetoxTest) | ||||
| 12-09 14:42:23.808 20479 20496 D EventInjectionStrategy: Creating injection strategy with input manager. | ||||
| 12-09 14:42:23.808 20479 20496 W .awesomeproject: Accessing hidden method Landroid/hardware/input/InputManager;->getInstance()Landroid/hardware/input/InputManager; (unsupported, reflection, allowed) | ||||
| 12-09 14:42:23.808 20479 20496 W .awesomeproject: Accessing hidden method Landroid/hardware/input/InputManager;->injectInputEvent(Landroid/view/InputEvent;I)Z (unsupported, reflection, allowed) | ||||
| 12-09 14:42:23.808 20479 20496 W .awesomeproject: Accessing hidden field Landroid/hardware/input/InputManager;->INJECT_INPUT_EVENT_MODE_WAIT_FOR_FINISH:I (unsupported, reflection, allowed) | ||||
| 12-09 14:42:23.810 20479 20496 W .awesomeproject: Accessing hidden field Ljava/lang/reflect/Field;->accessFlags:I (unsupported, reflection, allowed) | ||||
| 12-09 14:42:23.832 20479 20531 D libEGL  : loaded /vendor/lib64/egl/libEGL_emulation.so | ||||
| 12-09 14:42:23.841 20479 20531 D libEGL  : loaded /vendor/lib64/egl/libGLESv1_CM_emulation.so | ||||
| 12-09 14:42:23.881 20479 20479 D LifecycleMonitor: Lifecycle status change: com.awesomeproject.MainActivity@10bff7d in: PRE_ON_CREATE | ||||
| 12-09 14:42:23.905 20479 20479 W .awesomeproject: Accessing hidden method Landroid/view/View;->computeFitSystemWindows(Landroid/graphics/Rect;Landroid/graphics/Rect;)Z (unsupported, reflection, allowed) | ||||
| 12-09 14:42:23.907 20479 20479 W .awesomeproject: Accessing hidden method Landroid/view/ViewGroup;->makeOptionalFitsSystemWindows()V (unsupported, reflection, allowed) | ||||
| 12-09 14:42:23.908 20479 20479 D LifecycleMonitor: Lifecycle status change: com.awesomeproject.MainActivity@10bff7d in: CREATED | ||||
| 12-09 14:42:23.908 20479 20479 D LifecycleMonitor: Lifecycle status change: com.awesomeproject.MainActivity@10bff7d in: STARTED | ||||
| 12-09 14:42:23.910 20479 20531 D libEGL  : loaded /vendor/lib64/egl/libGLESv2_emulation.so | ||||
| 12-09 14:42:23.911 20479 20479 D LifecycleMonitor: Lifecycle status change: com.awesomeproject.MainActivity@10bff7d in: RESUMED | ||||
| 12-09 14:42:23.919 20479 20479 W unknown:ReactNative: Packager connection already open, nooping. | ||||
| 12-09 14:42:23.931 20479 20534 D TrafficStats: tagSocket(102) with statsTag=0xffffffff, statsUid=-1 | ||||
| 12-09 14:42:23.972 20479 20530 D HostConnection: createUnique: call | ||||
| 12-09 14:42:23.974 20479 20530 D HostConnection: HostConnection::get() New Host Connection established 0xb4000077d3ba7910, tid 20530 | ||||
| 12-09 14:42:23.992 20479 20530 D HostConnection: HostComposition ext ANDROID_EMU_CHECKSUM_HELPER_v1 ANDROID_EMU_native_sync_v2 ANDROID_EMU_native_sync_v3 ANDROID_EMU_native_sync_v4 ANDROID_EMU_dma_v1 ANDROID_EMU_direct_mem ANDROID_EMU_host_composition_v1 ANDROID_EMU_host_composition_v2 ANDROID_EMU_vulkan ANDROID_EMU_deferred_vulkan_commands ANDROID_EMU_vulkan_null_optional_strings ANDROID_EMU_vulkan_create_resources_with_requirements ANDROID_EMU_YUV_Cache ANDROID_EMU_vulkan_ignored_handles ANDROID_EMU_has_shared_slots_host_memory_allocator ANDROID_EMU_vulkan_free_memory_sync ANDROID_EMU_vulkan_shader_float16_int8 ANDROID_EMU_vulkan_async_queue_submit ANDROID_EMU_vulkan_queue_submit_with_commands ANDROID_EMU_sync_buffer_data ANDROID_EMU_read_color_buffer_dma ANDROID_EMU_hwc_multi_configs GL_OES_EGL_image_external_essl3 GL_OES_vertex_array_object GL_KHR_texture_compression_astc_ldr ANDROID_EMU_host_side_tracing ANDROID_EMU_gles_max_version_3_0  | ||||
| 12-09 14:42:23.995 20479 20530 W OpenGLRenderer: Failed to choose config with EGL_SWAP_BEHAVIOR_PRESERVED, retrying without... | ||||
| 12-09 14:42:23.995 20479 20530 W OpenGLRenderer: Failed to initialize 101010-2 format, error = EGL_SUCCESS | ||||
| 12-09 14:42:24.005 20479 20530 D EGL_emulation: eglCreateContext: 0xb4000077d3ba6c50: maj 3 min 0 rcv 3 | ||||
| 12-09 14:42:24.008 20479 20530 D EGL_emulation: eglMakeCurrent: 0xb4000077d3ba6c50: ver 3 0 (tinfo 0x79f25a4080) (first time) | ||||
| 12-09 14:42:24.020 20479 20530 I Gralloc4: mapper 4.x is not supported | ||||
| 12-09 14:42:24.023 20479 20530 D HostConnection: createUnique: call | ||||
| 12-09 14:42:24.023 20479 20530 D HostConnection: HostConnection::get() New Host Connection established 0xb4000077d3ba7a90, tid 20530 | ||||
| 12-09 14:42:24.024 20479 20530 D goldfish-address-space: allocate: Ask for block of size 0x100 | ||||
| 12-09 14:42:24.024 20479 20530 D goldfish-address-space: allocate: ioctl allocate returned offset 0x1efff8000 size 0x8000 | ||||
| 12-09 14:42:24.024 20479 20530 W Gralloc4: allocator 4.x is not supported | ||||
| 12-09 14:42:24.028 20479 20530 D HostConnection: HostComposition ext ANDROID_EMU_CHECKSUM_HELPER_v1 ANDROID_EMU_native_sync_v2 ANDROID_EMU_native_sync_v3 ANDROID_EMU_native_sync_v4 ANDROID_EMU_dma_v1 ANDROID_EMU_direct_mem ANDROID_EMU_host_composition_v1 ANDROID_EMU_host_composition_v2 ANDROID_EMU_vulkan ANDROID_EMU_deferred_vulkan_commands ANDROID_EMU_vulkan_null_optional_strings ANDROID_EMU_vulkan_create_resources_with_requirements ANDROID_EMU_YUV_Cache ANDROID_EMU_vulkan_ignored_handles ANDROID_EMU_has_shared_slots_host_memory_allocator ANDROID_EMU_vulkan_free_memory_sync ANDROID_EMU_vulkan_shader_float16_int8 ANDROID_EMU_vulkan_async_queue_submit ANDROID_EMU_vulkan_queue_submit_with_commands ANDROID_EMU_sync_buffer_data ANDROID_EMU_read_color_buffer_dma ANDROID_EMU_hwc_multi_configs GL_OES_EGL_image_external_essl3 GL_OES_vertex_array_object GL_KHR_texture_compression_astc_ldr ANDROID_EMU_host_side_tracing ANDROID_EMU_gles_max_version_3_0  | ||||
| 12-09 14:42:24.061 20479 20530 W Parcel  : Expecting binder but got null! | ||||
| 12-09 14:42:24.076 20479 20479 D CompatibilityChangeReporter: Compat change id reported: 210923482; UID 10186; state: DISABLED | ||||
| 12-09 14:42:24.076 20479 20479 D CompatibilityChangeReporter: Compat change id reported: 37756858; UID 10186; state: ENABLED | ||||
| 12-09 14:42:24.110 20479 20534 W unknown:ReactNative: Could not parse DebugServerException from: {"originModulePath":"/Users/arvinh/Desktop/wooza/react-native-pushy/Example/testHotUpdate/src/index.js","targetModuleName":"react-native-update","message":"Unable to resolve module react-native-update from /Users/arvinh/Desktop/wooza/react-native-pushy/Example/testHotUpdate/src/index.js: react-native-update could not be found within the project or in these directories:\n  node_modules\n  ../../node_modules\n  ../../../../../node_modules\n\u001b[0m \u001b[90m 23 |\u001b[39m   downloadAndInstallApk\u001b[33m,\u001b[39m\u001b[0m\n\u001b[0m \u001b[90m 24 |\u001b[39m   cInfo\u001b[33m,\u001b[39m\u001b[0m\n\u001b[0m\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 25 |\u001b[39m } \u001b[36mfrom\u001b[39m \u001b[32m'react-native-update'\u001b[39m\u001b[33m;\u001b[39m\u001b[0m\n\u001b[0m \u001b[90m    |\u001b[39m         \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\u001b[0m\n\u001b[0m \u001b[90m 26 |\u001b[39m\u001b[0m\n\u001b[0m \u001b[90m 27 |\u001b[39m \u001b[36mimport\u001b[39m \u001b[33mTestConsole\u001b[39m \u001b[36mfrom\u001b[39m \u001b[32m'./TestConsole'\u001b[39m\u001b[33m;\u001b[39m\u001b[0m\n\u001b[0m \u001b[90m 28 |\u001b[39m\u001b[0m","errors":[{"description":"Unable to resolve module react-native-update from /Users/arvinh/Desktop/wooza/react-native-pushy/Example/testHotUpdate/src/index.js: react-native-update could not be found within the project or in these directories:\n  node_modules\n  ../../node_modules\n  ../../../../../node_modules\n\u001b[0m \u001b[90m 23 |\u001b[39m   downloadAndInstallApk\u001b[33m,\u001b[39m\u001b[0m\n\u001b[0m \u001b[90m 24 |\u001b[39m   cInfo\u001b[33m,\u001b[39m\u001b[0m\n\u001b[0m\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 25 |\u001b[39m } \u001b[36mfrom\u001b[39m \u001b[32m'react-native-update'\u001b[39m\u001b[33m;\u001b[39m\u001b[0m\n\u001b[0m \u001b[90m    |\u001b[39m         \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\u001b[0m\n\u001b[0m \u001b[90m 26 |\u001b[39m\u001b[0m\n\u001b[0m \u001b[90m 27 |\u001b[39m \u001b[36mimport\u001b[39m \u001b[33mTestConsole\u001b[39m \u001b[36mfrom\u001b[39m \u001b[32m'./TestConsole'\u001b[39m\u001b[33m;\u001b[39m\u001b[0m\n\u001b[0m \u001b[90m 28 |\u001b[39m\u001b[0m"}],"name":"Error","stack":"Error: Unable to resolve module react-native-update from /Users/arvinh/Desktop/wooza/react-native-pushy/Example/testHotUpdate/src/index.js: react-native-update could not be found within the project or in these directories:\n  node_modules\n  ../../node_modules\n  ../../../../../node_modules\n\u001b[0m \u001b[90m 23 |\u001b[39m   downloadAndInstallApk\u001b[33m,\u001b[39m\u001b[0m\n\u001b[0m \u001b[90m 24 |\u001b[39m   cInfo\u001b[33m,\u001b[39m\u001b[0m\n\u001b[0m\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 25 |\u001b[39m } \u001b[36mfrom\u001b[39m \u001b[32m'react-native-update'\u001b[39m\u001b[33m;\u001b[39m\u001b[0m\n\u001b[0m \u001b[90m    |\u001b[39m         \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\u001b[0m\n\u001b[0m \u001b[90m 26 |\u001b[39m\u001b[0m\n\u001b[0m \u001b[90m 27 |\u001b[39m \u001b[36mimport\u001b[39m \u001b[33mTestConsole\u001b[39m \u001b[36mfrom\u001b[39m \u001b[32m'./TestConsole'\u001b[39m\u001b[33m;\u001b[39m\u001b[0m\n\u001b[0m \u001b[90m 28 |\u001b[39m\u001b[0m\n    at ModuleResolver.resolveDependency (/Users/arvinh/Desktop/wooza/react-native-pushy/Example/testHotUpdate/node_modules/metro/src/node-haste/DependencyGraph/ModuleResolution.js:158:15)\n    at DependencyGraph.resolveDependency (/Users/arvinh/Desktop/wooza/react-native-pushy/Example/testHotUpdate/node_modules/metro/src/node-haste/DependencyGraph.js:231:43)\n    at Object.resolve (/Users/arvinh/Desktop/wooza/react-native-pushy/Example/testHotUpdate/node_modules/metro/src/lib/transformHelpers.js:129:24)\n    at resolve (/Users/arvinh/Desktop/wooza/react-native-pushy/Example/testHotUpdate/node_modules/metro/src/DeltaBundler/traverseDependencies.js:396:33)\n    at /Users/arvinh/Desktop/wooza/react-native-pushy/Example/testHotUpdate/node_modules/ | ||||
| 12-09 14:42:24.115 20479 20534 W unknown:ReactNative: org.json.JSONException: No value for filename | ||||
| 12-09 14:42:24.115 20479 20534 W unknown:ReactNative: 	at org.json.JSONObject.get(JSONObject.java:398) | ||||
| 12-09 14:42:24.115 20479 20534 W unknown:ReactNative: 	at org.json.JSONObject.getString(JSONObject.java:559) | ||||
| 12-09 14:42:24.115 20479 20534 W unknown:ReactNative: 	at com.facebook.react.common.DebugServerException.parse(DebugServerException.java:77) | ||||
| 12-09 14:42:24.115 20479 20534 W unknown:ReactNative: 	at com.facebook.react.devsupport.BundleDownloader.processBundleResult(BundleDownloader.java:251) | ||||
| 12-09 14:42:24.115 20479 20534 W unknown:ReactNative: 	at com.facebook.react.devsupport.BundleDownloader.access$200(BundleDownloader.java:34) | ||||
| 12-09 14:42:24.115 20479 20534 W unknown:ReactNative: 	at com.facebook.react.devsupport.BundleDownloader$2.onChunkComplete(BundleDownloader.java:193) | ||||
| 12-09 14:42:24.115 20479 20534 W unknown:ReactNative: 	at com.facebook.react.devsupport.MultipartStreamReader.emitChunk(MultipartStreamReader.java:70) | ||||
| 12-09 14:42:24.115 20479 20534 W unknown:ReactNative: 	at com.facebook.react.devsupport.MultipartStreamReader.readAllParts(MultipartStreamReader.java:152) | ||||
| 12-09 14:42:24.115 20479 20534 W unknown:ReactNative: 	at com.facebook.react.devsupport.BundleDownloader.processMultipartResponse(BundleDownloader.java:177) | ||||
| 12-09 14:42:24.115 20479 20534 W unknown:ReactNative: 	at com.facebook.react.devsupport.BundleDownloader.access$100(BundleDownloader.java:34) | ||||
| 12-09 14:42:24.115 20479 20534 W unknown:ReactNative: 	at com.facebook.react.devsupport.BundleDownloader$1.onResponse(BundleDownloader.java:147) | ||||
| 12-09 14:42:24.115 20479 20534 W unknown:ReactNative: 	at okhttp3.internal.connection.RealCall$AsyncCall.run(RealCall.kt:519) | ||||
| 12-09 14:42:24.115 20479 20534 W unknown:ReactNative: 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1137) | ||||
| 12-09 14:42:24.115 20479 20534 W unknown:ReactNative: 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:637) | ||||
| 12-09 14:42:24.115 20479 20534 W unknown:ReactNative: 	at java.lang.Thread.run(Thread.java:1012) | ||||
| 12-09 14:42:24.120 20479 20530 W Parcel  : Expecting binder but got null! | ||||
| 12-09 14:42:24.142 20479 20534 E unknown:ReactNative: Unable to download JS bundle | ||||
| 12-09 14:42:24.142 20479 20534 E unknown:ReactNative: com.facebook.react.common.DebugServerException: The development server returned response error code: 500 | ||||
| 12-09 14:42:24.142 20479 20534 E unknown:ReactNative:  | ||||
| 12-09 14:42:24.142 20479 20534 E unknown:ReactNative: URL: http://localhost:8081/index.bundle?platform=android&dev=true&minify=false&app=com.awesomeproject&modulesOnly=false&runModule=true | ||||
| 12-09 14:42:24.142 20479 20534 E unknown:ReactNative:  | ||||
| 12-09 14:42:24.142 20479 20534 E unknown:ReactNative: Body: | ||||
| 12-09 14:42:24.144 20479 20534 E unknown:ReactNative: {"originModulePath":"/Users/arvinh/Desktop/wooza/react-native-pushy/Example/testHotUpdate/src/index.js","targetModuleName":"react-native-update","message":"Unable to resolve module react-native-update from /Users/arvinh/Desktop/wooza/react-native-pushy/Example/testHotUpdate/src/index.js: react-native-update could not be found within the project or in these directories:\n  node_modules\n  ../../node_modules\n  ../../../../../node_modules\n\u001b[0m \u001b[90m 23 |\u001b[39m   downloadAndInstallApk\u001b[33m,\u001b[39m\u001b[0m\n\u001b[0m \u001b[90m 24 |\u001b[39m   cInfo\u001b[33m,\u001b[39m\u001b[0m\n\u001b[0m\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 25 |\u001b[39m } \u001b[36mfrom\u001b[39m \u001b[32m'react-native-update'\u001b[39m\u001b[33m;\u001b[39m\u001b[0m\n\u001b[0m \u001b[90m    |\u001b[39m         \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\u001b[0m\n\u001b[0m \u001b[90m 26 |\u001b[39m\u001b[0m\n\u001b[0m \u001b[90m 27 |\u001b[39m \u001b[36mimport\u001b[39m \u001b[33mTestConsole\u001b[39m \u001b[36mfrom\u001b[39m \u001b[32m'./TestConsole'\u001b[39m\u001b[33m;\u001b[39m\u001b[0m\n\u001b[0m \u001b[90m 28 |\u001b[39m\u001b[0m","errors":[{"description":"Unable to resolve module react-native-update from /Users/arvinh/Desktop/wooza/react-native-pushy/Example/testHotUpdate/src/index.js: react-native-update could not be found within the project or in these directories:\n  node_modules\n  ../../node_modules\n  ../../../../../node_modules\n\u001b[0m \u001b[90m 23 |\u001b[39m   downloadAndInstallApk\u001b[33m,\u001b[39m\u001b[0m\n\u001b[0m \u001b[90m 24 |\u001b[39m   cInfo\u001b[33m,\u001b[39m\u001b[0m\n\u001b[0m\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 25 |\u001b[39m } \u001b[36mfrom\u001b[39m \u001b[32m'react-native-update'\u001b[39m\u001b[33m;\u001b[39m\u001b[0m\n\u001b[0m \u001b[90m    |\u001b[39m         \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\u001b[0m\n\u001b[0m \u001b[90m 26 |\u001b[39m\u001b[0m\n\u001b[0m \u001b[90m 27 |\u001b[39m \u001b[36mimport\u001b[39m \u001b[33mTestConsole\u001b[39m \u001b[36mfrom\u001b[39m \u001b[32m'./TestConsole'\u001b[39m\u001b[33m;\u001b[39m\u001b[0m\n\u001b[0m \u001b[90m 28 |\u001b[39m\u001b[0m"}],"name":"Error","stack":"Error: Unable to resolve module react-native-update from /Users/arvinh/Desktop/wooza/react-native-pushy/Example/testHotUpdate/src/index.js: react-native-update could not be found within the project or in these directories:\n  node_modules\n  ../../node_modules\n  ../../../../../node_modules\n\u001b[0m \u001b[90m 23 |\u001b[39m   downloadAndInstallApk\u001b[33m,\u001b[39m\u001b[0m\n\u001b[0m \u001b[90m 24 |\u001b[39m   cInfo\u001b[33m,\u001b[39m\u001b[0m\n\u001b[0m\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 25 |\u001b[39m } \u001b[36mfrom\u001b[39m \u001b[32m'react-native-update'\u001b[39m\u001b[33m;\u001b[39m\u001b[0m\n\u001b[0m \u001b[90m    |\u001b[39m         \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\u001b[0m\n\u001b[0m \u001b[90m 26 |\u001b[39m\u001b[0m\n\u001b[0m \u001b[90m 27 |\u001b[39m \u001b[36mimport\u001b[39m \u001b[33mTestConsole\u001b[39m \u001b[36mfrom\u001b[39m \u001b[32m'./TestConsole'\u001b[39m\u001b[33m;\u001b[39m\u001b[0m\n\u001b[0m \u001b[90m 28 |\u001b[39m\u001b[0m\n    at ModuleResolver.resolveDependency (/Users/arvinh/Desktop/wooza/react-native-pushy/Example/testHotUpdate/node_modules/metro/src/node-haste/DependencyGraph/ModuleResolution.js:158:15)\n    at DependencyGraph.resolveDependency (/Users/arvinh/Desktop/wooza/react-native-pushy/Example/testHotUpdate/node_modules/metro/src/node-haste/DependencyGraph.js:231:43)\n    at Object.resolve (/Users/arvinh/Desktop/wooza/react-native-pushy/Example/testHotUpdate/node_modules/metro/src/lib/transformHelpers.js:129:24)\n    at resolve (/Users/arvinh/Desktop/wooza/react-native-pushy/Example/testHotUpdate/node_modules/metro/src/DeltaBundler/traverseDependencies.js:396:33)\n    at /Users/arvinh/Desktop/wooza/react-native-pushy/Example/testHotUpdate/node_modules/metro/src/DeltaBundler/traverseDependencies | ||||
| 12-09 14:42:24.146 20479 20534 E unknown:ReactNative: 	at com.facebook.react.devsupport.BundleDownloader.processBundleResult(BundleDownloader.java:264) | ||||
| 12-09 14:42:24.146 20479 20534 E unknown:ReactNative: 	at com.facebook.react.devsupport.BundleDownloader.access$200(BundleDownloader.java:34) | ||||
| 12-09 14:42:24.146 20479 20534 E unknown:ReactNative: 	at com.facebook.react.devsupport.BundleDownloader$2.onChunkComplete(BundleDownloader.java:193) | ||||
| 12-09 14:42:24.146 20479 20534 E unknown:ReactNative: 	at com.facebook.react.devsupport.MultipartStreamReader.emitChunk(MultipartStreamReader.java:70) | ||||
| 12-09 14:42:24.146 20479 20534 E unknown:ReactNative: 	at com.facebook.react.devsupport.MultipartStreamReader.readAllParts(MultipartStreamReader.java:152) | ||||
| 12-09 14:42:24.146 20479 20534 E unknown:ReactNative: 	at com.facebook.react.devsupport.BundleDownloader.processMultipartResponse(BundleDownloader.java:177) | ||||
| 12-09 14:42:24.146 20479 20534 E unknown:ReactNative: 	at com.facebook.react.devsupport.BundleDownloader.access$100(BundleDownloader.java:34) | ||||
| 12-09 14:42:24.146 20479 20534 E unknown:ReactNative: 	at com.facebook.react.devsupport.BundleDownloader$1.onResponse(BundleDownloader.java:147) | ||||
| 12-09 14:42:24.146 20479 20534 E unknown:ReactNative: 	at okhttp3.internal.connection.RealCall$AsyncCall.run(RealCall.kt:519) | ||||
| 12-09 14:42:24.146 20479 20534 E unknown:ReactNative: 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1137) | ||||
| 12-09 14:42:24.146 20479 20534 E unknown:ReactNative: 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:637) | ||||
| 12-09 14:42:24.146 20479 20534 E unknown:ReactNative: 	at java.lang.Thread.run(Thread.java:1012) | ||||
| 12-09 14:42:24.156 20479 20479 E unknown:ReactNative: Exception in native call | ||||
| 12-09 14:42:24.156 20479 20479 E unknown:ReactNative: com.facebook.react.common.DebugServerException: The development server returned response error code: 500 | ||||
| 12-09 14:42:24.156 20479 20479 E unknown:ReactNative:  | ||||
| 12-09 14:42:24.156 20479 20479 E unknown:ReactNative: URL: http://localhost:8081/index.bundle?platform=android&dev=true&minify=false&app=com.awesomeproject&modulesOnly=false&runModule=true | ||||
| 12-09 14:42:24.156 20479 20479 E unknown:ReactNative:  | ||||
| 12-09 14:42:24.156 20479 20479 E unknown:ReactNative: Body: | ||||
| 12-09 14:42:24.156 20479 20479 E unknown:ReactNative: {"originModulePath":"/Users/arvinh/Desktop/wooza/react-native-pushy/Example/testHotUpdate/src/index.js","targetModuleName":"react-native-update","message":"Unable to resolve module react-native-update from /Users/arvinh/Desktop/wooza/react-native-pushy/Example/testHotUpdate/src/index.js: react-native-update could not be found within the project or in these directories:\n  node_modules\n  ../../node_modules\n  ../../../../../node_modules\n\u001b[0m \u001b[90m 23 |\u001b[39m   downloadAndInstallApk\u001b[33m,\u001b[39m\u001b[0m\n\u001b[0m \u001b[90m 24 |\u001b[39m   cInfo\u001b[33m,\u001b[39m\u001b[0m\n\u001b[0m\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 25 |\u001b[39m } \u001b[36mfrom\u001b[39m \u001b[32m'react-native-update'\u001b[39m\u001b[33m;\u001b[39m\u001b[0m\n\u001b[0m \u001b[90m    |\u001b[39m         \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\u001b[0m\n\u001b[0m \u001b[90m 26 |\u001b[39m\u001b[0m\n\u001b[0m \u001b[90m 27 |\u001b[39m \u001b[36mimport\u001b[39m \u001b[33mTestConsole\u001b[39m \u001b[36mfrom\u001b[39m \u001b[32m'./TestConsole'\u001b[39m\u001b[33m;\u001b[39m\u001b[0m\n\u001b[0m \u001b[90m 28 |\u001b[39m\u001b[0m","errors":[{"description":"Unable to resolve module react-native-update from /Users/arvinh/Desktop/wooza/react-native-pushy/Example/testHotUpdate/src/index.js: react-native-update could not be found within the project or in these directories:\n  node_modules\n  ../../node_modules\n  ../../../../../node_modules\n\u001b[0m \u001b[90m 23 |\u001b[39m   downloadAndInstallApk\u001b[33m,\u001b[39m\u001b[0m\n\u001b[0m \u001b[90m 24 |\u001b[39m   cInfo\u001b[33m,\u001b[39m\u001b[0m\n\u001b[0m\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 25 |\u001b[39m } \u001b[36mfrom\u001b[39m \u001b[32m'react-native-update'\u001b[39m\u001b[33m;\u001b[39m\u001b[0m\n\u001b[0m \u001b[90m    |\u001b[39m         \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\u001b[0m\n\u001b[0m \u001b[90m 26 |\u001b[39m\u001b[0m\n\u001b[0m \u001b[90m 27 |\u001b[39m \u001b[36mimport\u001b[39m \u001b[33mTestConsole\u001b[39m \u001b[36mfrom\u001b[39m \u001b[32m'./TestConsole'\u001b[39m\u001b[33m;\u001b[39m\u001b[0m\n\u001b[0m \u001b[90m 28 |\u001b[39m\u001b[0m"}],"name":"Error","stack":"Error: Unable to resolve module react-native-update from /Users/arvinh/Desktop/wooza/react-native-pushy/Example/testHotUpdate/src/index.js: react-native-update could not be found within the project or in these directories:\n  node_modules\n  ../../node_modules\n  ../../../../../node_modules\n\u001b[0m \u001b[90m 23 |\u001b[39m   downloadAndInstallApk\u001b[33m,\u001b[39m\u001b[0m\n\u001b[0m \u001b[90m 24 |\u001b[39m   cInfo\u001b[33m,\u001b[39m\u001b[0m\n\u001b[0m\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 25 |\u001b[39m } \u001b[36mfrom\u001b[39m \u001b[32m'react-native-update'\u001b[39m\u001b[33m;\u001b[39m\u001b[0m\n\u001b[0m \u001b[90m    |\u001b[39m         \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\u001b[0m\n\u001b[0m \u001b[90m 26 |\u001b[39m\u001b[0m\n\u001b[0m \u001b[90m 27 |\u001b[39m \u001b[36mimport\u001b[39m \u001b[33mTestConsole\u001b[39m \u001b[36mfrom\u001b[39m \u001b[32m'./TestConsole'\u001b[39m\u001b[33m;\u001b[39m\u001b[0m\n\u001b[0m \u001b[90m 28 |\u001b[39m\u001b[0m\n    at ModuleResolver.resolveDependency (/Users/arvinh/Desktop/wooza/react-native-pushy/Example/testHotUpdate/node_modules/metro/src/node-haste/DependencyGraph/ModuleResolution.js:158:15)\n    at DependencyGraph.resolveDependency (/Users/arvinh/Desktop/wooza/react-native-pushy/Example/testHotUpdate/node_modules/metro/src/node-haste/DependencyGraph.js:231:43)\n    at Object.resolve (/Users/arvinh/Desktop/wooza/react-native-pushy/Example/testHotUpdate/node_modules/metro/src/lib/transformHelpers.js:129:24)\n    at resolve (/Users/arvinh/Desktop/wooza/react-native-pushy/Example/testHotUpdate/node_modules/metro/src/DeltaBundler/traverseDependencies.js:396:33)\n    at /Users/arvinh/Desktop/wooza/react-native-pushy/Example/testHotUpdate/node_modules/metro/src/DeltaBundler/traverseDependencies | ||||
| 12-09 14:42:24.156 20479 20479 E unknown:ReactNative: 	at com.facebook.react.devsupport.BundleDownloader.processBundleResult(BundleDownloader.java:264) | ||||
| 12-09 14:42:24.156 20479 20479 E unknown:ReactNative: 	at com.facebook.react.devsupport.BundleDownloader.access$200(BundleDownloader.java:34) | ||||
| 12-09 14:42:24.156 20479 20479 E unknown:ReactNative: 	at com.facebook.react.devsupport.BundleDownloader$2.onChunkComplete(BundleDownloader.java:193) | ||||
| 12-09 14:42:24.156 20479 20479 E unknown:ReactNative: 	at com.facebook.react.devsupport.MultipartStreamReader.emitChunk(MultipartStreamReader.java:70) | ||||
| 12-09 14:42:24.156 20479 20479 E unknown:ReactNative: 	at com.facebook.react.devsupport.MultipartStreamReader.readAllParts(MultipartStreamReader.java:152) | ||||
| 12-09 14:42:24.156 20479 20479 E unknown:ReactNative: 	at com.facebook.react.devsupport.BundleDownloader.processMultipartResponse(BundleDownloader.java:177) | ||||
| 12-09 14:42:24.156 20479 20479 E unknown:ReactNative: 	at com.facebook.react.devsupport.BundleDownloader.access$100(BundleDownloader.java:34) | ||||
| 12-09 14:42:24.156 20479 20479 E unknown:ReactNative: 	at com.facebook.react.devsupport.BundleDownloader$1.onResponse(BundleDownloader.java:147) | ||||
| 12-09 14:42:24.156 20479 20479 E unknown:ReactNative: 	at okhttp3.internal.connection.RealCall$AsyncCall.run(RealCall.kt:519) | ||||
| 12-09 14:42:24.156 20479 20479 E unknown:ReactNative: 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1137) | ||||
| 12-09 14:42:24.156 20479 20479 E unknown:ReactNative: 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:637) | ||||
| 12-09 14:42:24.156 20479 20479 E unknown:ReactNative: 	at java.lang.Thread.run(Thread.java:1012) | ||||
| 12-09 14:42:24.158 20479 20479 D CompatibilityChangeReporter: Compat change id reported: 171228096; UID 10186; state: ENABLED | ||||
| 12-09 14:42:24.220 20479 20530 W Parcel  : Expecting binder but got null! | ||||
| 12-09 14:42:24.256 20479 20496 I Detox   : Detox server connection details: url=ws://localhost:56416, sessionId=f4aa1b39-7f49-6a1e-2016-8fceba85b11b | ||||
| 12-09 14:42:24.260 20479 20542 I DetoxDispatcher: Handling action '_init' (ID #0)... | ||||
| 12-09 14:42:24.261 20479 20542 I Detox   : Connecting to server... | ||||
| 12-09 14:42:24.261 20479 20542 I DetoxWSClient: At connectToServer | ||||
| 12-09 14:42:24.272 20479 20544 D TrafficStats: tagSocket(146) with statsTag=0xffffffff, statsUid=-1 | ||||
| 12-09 14:42:24.278 20479 20544 D DetoxWSClient: At onOpen | ||||
| 12-09 14:42:24.278 20479 20544 I DetoxWSClient: Sending out action 'login' (ID #0) | ||||
| 12-09 14:42:24.281 20479 20544 I Detox   : Connected to server! | ||||
| 12-09 14:42:24.286 20479 20544 D DetoxWSClient: Received action 'loginSuccess' (ID #0, params={"testerConnected":true,"appConnected":true}) | ||||
| 12-09 14:42:24.287 20479 20544 D DetoxWSClient: Received action 'isReady' (ID #-1000, params={}) | ||||
| 12-09 14:42:24.413 20479 20505 D SoLoader: libreactnativejni.so not found on /data/data/com.awesomeproject/lib-main | ||||
| 12-09 14:42:24.413 20479 20505 D SoLoader: libreactnativejni.so found on /data/app/~~nor3xECowNstcCaNgZMqcA==/com.awesomeproject-XMs4tnOIKVIebcwvA5vvUA==/lib/arm64 | ||||
| 12-09 14:42:24.413 20479 20505 D SoLoader: Not resolving dependencies for libreactnativejni.so | ||||
| 12-09 14:42:25.689 20479 20548 D TrafficStats: tagSocket(150) with statsTag=0xffffffff, statsUid=-1 | ||||
| 12-09 14:42:25.821 20479 20530 D EGL_emulation: app_time_stats: avg=399.97ms min=4.14ms max=1335.74ms count=4 | ||||
| 12-09 14:42:27.702 20479 20550 D TrafficStats: tagSocket(128) with statsTag=0xffffffff, statsUid=-1 | ||||
| 12-09 14:42:29.758 20479 20552 D TrafficStats: tagSocket(128) with statsTag=0xffffffff, statsUid=-1 | ||||
| 12-09 14:42:34.286 20479 20544 D DetoxWSClient: Received action 'currentStatus' (ID #1, params={}) | ||||
| 12-09 14:42:34.287 20479 20543 I DetoxDispatcher: Handling action 'currentStatus' (ID #1)... | ||||
| 12-09 14:42:39.816 20479 20566 D TrafficStats: tagSocket(144) with statsTag=0xffffffff, statsUid=-1 | ||||
| 12-09 14:42:41.834 20479 20569 D TrafficStats: tagSocket(5) with statsTag=0xffffffff, statsUid=-1 | ||||
| 12-09 14:42:43.844 20479 20574 D TrafficStats: tagSocket(5) with statsTag=0xffffffff, statsUid=-1 | ||||
| 12-09 14:42:45.855 20479 20586 D TrafficStats: tagSocket(5) with statsTag=0xffffffff, statsUid=-1 | ||||
| 12-09 14:42:55.896 20479 20592 D TrafficStats: tagSocket(5) with statsTag=0xffffffff, statsUid=-1 | ||||
| 12-09 14:42:57.909 20479 20594 D TrafficStats: tagSocket(5) with statsTag=0xffffffff, statsUid=-1 | ||||
| 12-09 14:42:59.922 20479 20596 D TrafficStats: tagSocket(5) with statsTag=0xffffffff, statsUid=-1 | ||||
| 12-09 14:43:01.932 20479 20598 D TrafficStats: tagSocket(5) with statsTag=0xffffffff, statsUid=-1 | ||||
| 12-09 14:43:11.978 20479 20604 D TrafficStats: tagSocket(5) with statsTag=0xffffffff, statsUid=-1 | ||||
| 12-09 14:43:13.989 20479 20606 D TrafficStats: tagSocket(5) with statsTag=0xffffffff, statsUid=-1 | ||||
| 12-09 14:43:15.999 20479 20608 D TrafficStats: tagSocket(5) with statsTag=0xffffffff, statsUid=-1 | ||||
| 12-09 14:43:18.009 20479 20610 D TrafficStats: tagSocket(5) with statsTag=0xffffffff, statsUid=-1 | ||||
| 12-09 14:43:28.068 20479 20616 D TrafficStats: tagSocket(99) with statsTag=0xffffffff, statsUid=-1 | ||||
| 12-09 14:43:30.082 20479 20618 D TrafficStats: tagSocket(5) with statsTag=0xffffffff, statsUid=-1 | ||||
| 12-09 14:43:32.093 20479 20620 D TrafficStats: tagSocket(5) with statsTag=0xffffffff, statsUid=-1 | ||||
| 12-09 14:43:34.105 20479 20622 D TrafficStats: tagSocket(5) with statsTag=0xffffffff, statsUid=-1 | ||||
| 12-09 14:43:44.152 20479 20629 D TrafficStats: tagSocket(5) with statsTag=0xffffffff, statsUid=-1 | ||||
| 12-09 14:43:46.159 20479 206 | ||||
							
								
								
									
										
											BIN
										
									
								
								Example/testHotUpdate/cache/test-butler-app.apk
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Example/testHotUpdate/cache/test-butler-app.apk
									
									
									
									
										vendored
									
									
								
							
										
											Binary file not shown.
										
									
								
							| @@ -1,5 +1,4 @@ | ||||
| import {by, device, element, expect} from 'detox'; | ||||
|  | ||||
| import {by, device, element, expect, waitFor} from 'detox'; | ||||
| describe('测试Native模块的方法', () => { | ||||
|   beforeAll(async () => { | ||||
|     await device.launchApp(); | ||||
| @@ -7,83 +6,118 @@ describe('测试Native模块的方法', () => { | ||||
|  | ||||
|   it('setLocalHashInfo', async () => { | ||||
|     await element(by.id('testcase')).longPress(); | ||||
|     await element(by.id('setLocalHashInfo')).tap(); | ||||
|     await element(by.id('submit')).tap(); | ||||
|     await expect(element(by.text('done'))).toBeVisible(); | ||||
|     await element(by.text('OK')).tap(); | ||||
|     await element(by.id('setLocalHashInfo')).longPress(); | ||||
|     await element(by.id('submit')).longPress(); | ||||
|     await expect(element(by.id('done'))).toBeVisible(); | ||||
|     await element(by.id('done')).longPress(); | ||||
|     await expect(element(by.id('done'))).toBeNotVisible(); | ||||
|   }); | ||||
|  | ||||
|   it('getLocalHashInfo', async () => { | ||||
|     await element(by.id('getLocalHashInfo')).tap(); | ||||
|     await element(by.id('submit')).tap(); | ||||
|     await element(by.id('getLocalHashInfo')).longPress(); | ||||
|     await element(by.id('submit')).longPress(); | ||||
|     await expect(element(by.text('done'))).toBeVisible(); | ||||
|     await element(by.text('OK')).tap(); | ||||
|     await element(by.id('done')).longPress(); | ||||
|     await expect(element(by.id('done'))).toBeNotVisible(); | ||||
|   }); | ||||
|  | ||||
|   it('setUuid', async () => { | ||||
|     await element(by.id('setUuid')).tap(); | ||||
|     await element(by.id('submit')).tap(); | ||||
|     await element(by.id('setUuid')).longPress(); | ||||
|     await element(by.id('submit')).longPress(); | ||||
|     await expect(element(by.text('done'))).toBeVisible(); | ||||
|     await element(by.text('OK')).tap(); | ||||
|     await element(by.id('done')).longPress(); | ||||
|     await expect(element(by.id('done'))).toBeNotVisible(); | ||||
|   }); | ||||
|  | ||||
|   it('setBlockUpdate', async () => { | ||||
|     await element(by.id('setBlockUpdate')).tap(); | ||||
|     await element(by.id('submit')).tap(); | ||||
|     await element(by.id('setBlockUpdate')).longPress(); | ||||
|     await element(by.id('submit')).longPress(); | ||||
|     await expect(element(by.text('done'))).toBeVisible(); | ||||
|     await element(by.text('OK')).tap(); | ||||
|     await element(by.id('done')).longPress(); | ||||
|     await expect(element(by.id('done'))).toBeNotVisible(); | ||||
|   }); | ||||
|  | ||||
|   // it('reloadUpdate', async () => { | ||||
|   //   await element(by.id('reloadUpdate')).tap(); | ||||
|   //   await element(by.id('submit')).tap(); | ||||
|   //   await expect(element(by.text('刚刚更新失败了,版本被回滚.'))).toBeVisible(); | ||||
|   //   await element(by.text('OK')).tap(); | ||||
|   // }); | ||||
|   if (device.getPlatform() === 'android') { | ||||
|     it('reloadUpdate', async () => { | ||||
|       await element(by.id('reloadUpdate')).longPress(); | ||||
|       await element(by.id('submit')).longPress(); | ||||
|       await waitFor(element(by.text('确认'))) | ||||
|         .toBeVisible() | ||||
|         .withTimeout(10000); | ||||
|       await element(by.id('done')).longPress(); | ||||
|       await expect(element(by.id('done'))).toBeNotVisible(); | ||||
|     }); | ||||
|   } | ||||
|  | ||||
|   it('setNeedUpdate', async () => { | ||||
|     // await element(by.id('testcase')).longPress(); | ||||
|     await element(by.id('setNeedUpdate')).tap(); | ||||
|     await element(by.id('submit')).tap(); | ||||
|     await element(by.id('setNeedUpdate')).longPress(); | ||||
|     await element(by.id('submit')).longPress(); | ||||
|     await expect(element(by.text('done'))).toBeVisible(); | ||||
|     await element(by.text('OK')).tap(); | ||||
|     await element(by.id('done')).longPress(); | ||||
|     await expect(element(by.id('done'))).toBeNotVisible(); | ||||
|   }); | ||||
|  | ||||
|   if (device.getPlatform() === 'android') { | ||||
|     it('markSuccess', async () => { | ||||
|     await element(by.id('markSuccess')).tap(); | ||||
|     await element(by.id('submit')).tap(); | ||||
|     await expect(element(by.text('done'))).toBeVisible(); | ||||
|     await element(by.text('OK')).tap(); | ||||
|       await element(by.id('markSuccess')).longPress(); | ||||
|       await element(by.id('submit')).longPress(); | ||||
|       await waitFor(element(by.text('确认'))) | ||||
|         .toBeVisible() | ||||
|         .withTimeout(10000); | ||||
|       await element(by.id('done')).longPress(); | ||||
|     }); | ||||
|   } | ||||
|  | ||||
|   it('downloadPatchFromPpk', async () => { | ||||
|     await element(by.id('downloadPatchFromPpk')).tap(); | ||||
|     await element(by.id('submit')).tap(); | ||||
|     await element(by.id('downloadPatchFromPpk')).longPress(); | ||||
|     await element(by.id('submit')).longPress(); | ||||
|     if (device.getPlatform() === 'ios') { | ||||
|       await expect(element(by.text('failed to open zip file'))).toBeVisible(); | ||||
|     await element(by.text('OK')).tap(); | ||||
|     } else { | ||||
|       await waitFor(element(by.text('确认'))) | ||||
|         .toBeVisible() | ||||
|         .withTimeout(10000); | ||||
|     } | ||||
|     await element(by.id('done')).longPress(); | ||||
|     await expect(element(by.id('done'))).toBeNotVisible(); | ||||
|   }); | ||||
|  | ||||
|   it('downloadPatchFromPackage', async () => { | ||||
|     await element(by.id('downloadPatchFromPackage')).tap(); | ||||
|     await element(by.id('submit')).tap(); | ||||
|     await element(by.id('downloadPatchFromPackage')).longPress(); | ||||
|     await element(by.id('submit')).longPress(); | ||||
|     if (device.getPlatform() === 'ios') { | ||||
|       await expect(element(by.text('failed to open zip file'))).toBeVisible(); | ||||
|     await element(by.text('OK')).tap(); | ||||
|     } else { | ||||
|       await waitFor(element(by.text('确认'))) | ||||
|         .toBeVisible() | ||||
|         .withTimeout(10000); | ||||
|     } | ||||
|     await element(by.id('done')).longPress(); | ||||
|     await expect(element(by.id('done'))).toBeNotVisible(); | ||||
|   }); | ||||
|  | ||||
|   it('downloadFullUpdate', async () => { | ||||
|     await element(by.id('downloadFullUpdate')).tap(); | ||||
|     await element(by.id('submit')).tap(); | ||||
|     await element(by.id('downloadFullUpdate')).longPress(); | ||||
|     await element(by.id('submit')).longPress(); | ||||
|     if (device.getPlatform() === 'ios') { | ||||
|       await expect(element(by.text('failed to open zip file'))).toBeVisible(); | ||||
|     await element(by.text('OK')).tap(); | ||||
|     } else { | ||||
|       await waitFor(element(by.text('确认'))) | ||||
|         .toBeVisible() | ||||
|         .withTimeout(10000); | ||||
|     } | ||||
|     await element(by.id('done')).longPress(); | ||||
|     await expect(element(by.id('done'))).toBeNotVisible(); | ||||
|   }); | ||||
|  | ||||
|   if (device.getPlatform() === 'android') { | ||||
|     it('downloadAndInstallApk', async () => { | ||||
|       await element(by.id('testcase')).longPress(); | ||||
|       await element(by.id('downloadAndInstallApk')).tap(); | ||||
|       await element(by.id('submit')).tap(); | ||||
|       await expect(element(by.text('failed to open zip file'))).toBeVisible(); | ||||
|       await element(by.text('OK')).tap(); | ||||
|       await element(by.id('downloadAndInstallApk')).longPress(); | ||||
|       await element(by.id('submit')).longPress(); | ||||
|       await waitFor(element(by.text('确认'))) | ||||
|         .toBeVisible() | ||||
|         .withTimeout(10000); | ||||
|       await element(by.id('done')).longPress(); | ||||
|       await expect(element(by.id('done'))).toBeNotVisible(); | ||||
|     }); | ||||
|   } | ||||
| }); | ||||
|   | ||||
| @@ -1,29 +0,0 @@ | ||||
| import { execSync } from 'child_process'; | ||||
|  | ||||
| import { pathExists, ensureDir } from 'fs-extra'; | ||||
|  | ||||
| import { resolveConfig } from 'detox/internals'; | ||||
| import { globalSetup } from 'detox/runners/jest'; | ||||
|  | ||||
| export default async function customGlobalSetup() { | ||||
|   const config = await resolveConfig(); | ||||
|   if (config.device.type === 'android.emulator') { | ||||
|     await downloadTestButlerAPK(); | ||||
|   } | ||||
|  | ||||
|   await globalSetup(); | ||||
| } | ||||
|  | ||||
| async function downloadTestButlerAPK() { | ||||
|   const version = '2.2.1'; | ||||
|   const artifactUrl = `https://repo1.maven.org/maven2/com/linkedin/testbutler/test-butler-app/${version}/test-butler-app-${version}.apk`; | ||||
|   const filePath = `cache/test-butler-app.apk`; | ||||
|  | ||||
|   await ensureDir('cache'); | ||||
|   if (!(await pathExists(filePath))) { | ||||
|     console.log(`\nDownloading Test-Butler APK v${version}...`); | ||||
|     execSync(`curl -f -o ${filePath} ${artifactUrl}`); | ||||
|   } | ||||
| } | ||||
|  | ||||
| module.exports = customGlobalSetup; | ||||
| @@ -1,16 +1,16 @@ | ||||
| /** @type {import('jest').Config} */ | ||||
| /** @type {import('@jest/types').Config.InitialOptions} */ | ||||
| module.exports = { | ||||
|   maxWorkers: 1, | ||||
|   globalSetup: './globalSetup.ts', | ||||
|   globalTeardown: 'detox/runners/jest/globalTeardown', | ||||
|   testEnvironment: 'detox/runners/jest/testEnvironment', | ||||
|   setupFilesAfterEnv: ['./setup.ts'], | ||||
|   testRunner: 'jest-circus/runner', | ||||
|   rootDir: '..', | ||||
|   testMatch: ['<rootDir>/e2e/**/*.test.js'], | ||||
|   testTimeout: 120000, | ||||
|   maxWorkers: 1, | ||||
|   testMatch: ['**/*.test.ts'], | ||||
|   transform: { | ||||
|     '\\.tsx?$': 'ts-jest', | ||||
|   }, | ||||
|   globalSetup: 'detox/runners/jest/globalSetup', | ||||
|   globalTeardown: 'detox/runners/jest/globalTeardown', | ||||
|   reporters: ['detox/runners/jest/reporter'], | ||||
|   testEnvironment: 'detox/runners/jest/testEnvironment', | ||||
|   verbose: true, | ||||
| }; | ||||
|   | ||||
| @@ -1,5 +0,0 @@ | ||||
| import { device } from 'detox'; | ||||
|  | ||||
| beforeAll(async () => { | ||||
|   await device.launchApp(); | ||||
| }); | ||||
| @@ -7,12 +7,12 @@ | ||||
| 	objects = { | ||||
| 
 | ||||
| /* Begin PBXBuildFile section */ | ||||
| 		00E356F31AD99517003FC87E /* testHotupdateTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 00E356F21AD99517003FC87E /* testHotupdateTests.m */; }; | ||||
| 		0C80B921A6F3F58F76C31292 /* libPods-testHotupdate.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5DCACB8F33CDC322A6C60F78 /* libPods-testHotupdate.a */; }; | ||||
| 		00E356F31AD99517003FC87E /* AwesomeProjectTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 00E356F21AD99517003FC87E /* AwesomeProjectTests.m */; }; | ||||
| 		0C80B921A6F3F58F76C31292 /* libPods-AwesomeProject.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5DCACB8F33CDC322A6C60F78 /* libPods-AwesomeProject.a */; }; | ||||
| 		13B07FBC1A68108700A75B9A /* AppDelegate.mm in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB01A68108700A75B9A /* AppDelegate.mm */; }; | ||||
| 		13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; }; | ||||
| 		13B07FC11A68108700A75B9A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; }; | ||||
| 		7699B88040F8A987B510C191 /* libPods-testHotupdate-testHotupdateTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 19F6CBCC0A4E27FBF8BF4A61 /* libPods-testHotupdate-testHotupdateTests.a */; }; | ||||
| 		7699B88040F8A987B510C191 /* libPods-AwesomeProject-AwesomeProjectTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 19F6CBCC0A4E27FBF8BF4A61 /* libPods-AwesomeProject-AwesomeProjectTests.a */; }; | ||||
| 		81AB9BB82411601600AC10FF /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */; }; | ||||
| /* End PBXBuildFile section */ | ||||
| 
 | ||||
| @@ -22,27 +22,27 @@ | ||||
| 			containerPortal = 83CBB9F71A601CBA00E9B192 /* Project object */; | ||||
| 			proxyType = 1; | ||||
| 			remoteGlobalIDString = 13B07F861A680F5B00A75B9A; | ||||
| 			remoteInfo = testHotupdate; | ||||
| 			remoteInfo = AwesomeProject; | ||||
| 		}; | ||||
| /* End PBXContainerItemProxy section */ | ||||
| 
 | ||||
| /* Begin PBXFileReference section */ | ||||
| 		00E356EE1AD99517003FC87E /* testHotupdateTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = testHotupdateTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; | ||||
| 		00E356EE1AD99517003FC87E /* AwesomeProjectTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = AwesomeProjectTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; | ||||
| 		00E356F11AD99517003FC87E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; }; | ||||
| 		00E356F21AD99517003FC87E /* testHotupdateTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = testHotupdateTests.m; sourceTree = "<group>"; }; | ||||
| 		13B07F961A680F5B00A75B9A /* testHotupdate.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = testHotupdate.app; sourceTree = BUILT_PRODUCTS_DIR; }; | ||||
| 		13B07FAF1A68108700A75B9A /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = testHotupdate/AppDelegate.h; sourceTree = "<group>"; }; | ||||
| 		13B07FB01A68108700A75B9A /* AppDelegate.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = AppDelegate.mm; path = testHotupdate/AppDelegate.mm; sourceTree = "<group>"; }; | ||||
| 		13B07FB51A68108700A75B9A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = testHotupdate/Images.xcassets; sourceTree = "<group>"; }; | ||||
| 		13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = testHotupdate/Info.plist; sourceTree = "<group>"; }; | ||||
| 		13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = testHotupdate/main.m; sourceTree = "<group>"; }; | ||||
| 		19F6CBCC0A4E27FBF8BF4A61 /* libPods-testHotupdate-testHotupdateTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-testHotupdate-testHotupdateTests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; | ||||
| 		3B4392A12AC88292D35C810B /* Pods-testHotupdate.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-testHotupdate.debug.xcconfig"; path = "Target Support Files/Pods-testHotupdate/Pods-testHotupdate.debug.xcconfig"; sourceTree = "<group>"; }; | ||||
| 		5709B34CF0A7D63546082F79 /* Pods-testHotupdate.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-testHotupdate.release.xcconfig"; path = "Target Support Files/Pods-testHotupdate/Pods-testHotupdate.release.xcconfig"; sourceTree = "<group>"; }; | ||||
| 		5B7EB9410499542E8C5724F5 /* Pods-testHotupdate-testHotupdateTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-testHotupdate-testHotupdateTests.debug.xcconfig"; path = "Target Support Files/Pods-testHotupdate-testHotupdateTests/Pods-testHotupdate-testHotupdateTests.debug.xcconfig"; sourceTree = "<group>"; }; | ||||
| 		5DCACB8F33CDC322A6C60F78 /* libPods-testHotupdate.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-testHotupdate.a"; sourceTree = BUILT_PRODUCTS_DIR; }; | ||||
| 		81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = LaunchScreen.storyboard; path = testHotupdate/LaunchScreen.storyboard; sourceTree = "<group>"; }; | ||||
| 		89C6BE57DB24E9ADA2F236DE /* Pods-testHotupdate-testHotupdateTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-testHotupdate-testHotupdateTests.release.xcconfig"; path = "Target Support Files/Pods-testHotupdate-testHotupdateTests/Pods-testHotupdate-testHotupdateTests.release.xcconfig"; sourceTree = "<group>"; }; | ||||
| 		00E356F21AD99517003FC87E /* AwesomeProjectTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AwesomeProjectTests.m; sourceTree = "<group>"; }; | ||||
| 		13B07F961A680F5B00A75B9A /* AwesomeProject.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = AwesomeProject.app; sourceTree = BUILT_PRODUCTS_DIR; }; | ||||
| 		13B07FAF1A68108700A75B9A /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = AwesomeProject/AppDelegate.h; sourceTree = "<group>"; }; | ||||
| 		13B07FB01A68108700A75B9A /* AppDelegate.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = AppDelegate.mm; path = AwesomeProject/AppDelegate.mm; sourceTree = "<group>"; }; | ||||
| 		13B07FB51A68108700A75B9A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = AwesomeProject/Images.xcassets; sourceTree = "<group>"; }; | ||||
| 		13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = AwesomeProject/Info.plist; sourceTree = "<group>"; }; | ||||
| 		13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = AwesomeProject/main.m; sourceTree = "<group>"; }; | ||||
| 		19F6CBCC0A4E27FBF8BF4A61 /* libPods-AwesomeProject-AwesomeProjectTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-AwesomeProject-AwesomeProjectTests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; | ||||
| 		3B4392A12AC88292D35C810B /* Pods-AwesomeProject.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-AwesomeProject.debug.xcconfig"; path = "Target Support Files/Pods-AwesomeProject/Pods-AwesomeProject.debug.xcconfig"; sourceTree = "<group>"; }; | ||||
| 		5709B34CF0A7D63546082F79 /* Pods-AwesomeProject.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-AwesomeProject.release.xcconfig"; path = "Target Support Files/Pods-AwesomeProject/Pods-AwesomeProject.release.xcconfig"; sourceTree = "<group>"; }; | ||||
| 		5B7EB9410499542E8C5724F5 /* Pods-AwesomeProject-AwesomeProjectTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-AwesomeProject-AwesomeProjectTests.debug.xcconfig"; path = "Target Support Files/Pods-AwesomeProject-AwesomeProjectTests/Pods-AwesomeProject-AwesomeProjectTests.debug.xcconfig"; sourceTree = "<group>"; }; | ||||
| 		5DCACB8F33CDC322A6C60F78 /* libPods-AwesomeProject.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-AwesomeProject.a"; sourceTree = BUILT_PRODUCTS_DIR; }; | ||||
| 		81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = LaunchScreen.storyboard; path = AwesomeProject/LaunchScreen.storyboard; sourceTree = "<group>"; }; | ||||
| 		89C6BE57DB24E9ADA2F236DE /* Pods-AwesomeProject-AwesomeProjectTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-AwesomeProject-AwesomeProjectTests.release.xcconfig"; path = "Target Support Files/Pods-AwesomeProject-AwesomeProjectTests/Pods-AwesomeProject-AwesomeProjectTests.release.xcconfig"; sourceTree = "<group>"; }; | ||||
| 		ED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; }; | ||||
| /* End PBXFileReference section */ | ||||
| 
 | ||||
| @@ -51,7 +51,7 @@ | ||||
| 			isa = PBXFrameworksBuildPhase; | ||||
| 			buildActionMask = 2147483647; | ||||
| 			files = ( | ||||
| 				7699B88040F8A987B510C191 /* libPods-testHotupdate-testHotupdateTests.a in Frameworks */, | ||||
| 				7699B88040F8A987B510C191 /* libPods-AwesomeProject-AwesomeProjectTests.a in Frameworks */, | ||||
| 			); | ||||
| 			runOnlyForDeploymentPostprocessing = 0; | ||||
| 		}; | ||||
| @@ -59,20 +59,20 @@ | ||||
| 			isa = PBXFrameworksBuildPhase; | ||||
| 			buildActionMask = 2147483647; | ||||
| 			files = ( | ||||
| 				0C80B921A6F3F58F76C31292 /* libPods-testHotupdate.a in Frameworks */, | ||||
| 				0C80B921A6F3F58F76C31292 /* libPods-AwesomeProject.a in Frameworks */, | ||||
| 			); | ||||
| 			runOnlyForDeploymentPostprocessing = 0; | ||||
| 		}; | ||||
| /* End PBXFrameworksBuildPhase section */ | ||||
| 
 | ||||
| /* Begin PBXGroup section */ | ||||
| 		00E356EF1AD99517003FC87E /* testHotupdateTests */ = { | ||||
| 		00E356EF1AD99517003FC87E /* AwesomeProjectTests */ = { | ||||
| 			isa = PBXGroup; | ||||
| 			children = ( | ||||
| 				00E356F21AD99517003FC87E /* testHotupdateTests.m */, | ||||
| 				00E356F21AD99517003FC87E /* AwesomeProjectTests.m */, | ||||
| 				00E356F01AD99517003FC87E /* Supporting Files */, | ||||
| 			); | ||||
| 			path = testHotupdateTests; | ||||
| 			path = AwesomeProjectTests; | ||||
| 			sourceTree = "<group>"; | ||||
| 		}; | ||||
| 		00E356F01AD99517003FC87E /* Supporting Files */ = { | ||||
| @@ -83,7 +83,7 @@ | ||||
| 			name = "Supporting Files"; | ||||
| 			sourceTree = "<group>"; | ||||
| 		}; | ||||
| 		13B07FAE1A68108700A75B9A /* testHotupdate */ = { | ||||
| 		13B07FAE1A68108700A75B9A /* AwesomeProject */ = { | ||||
| 			isa = PBXGroup; | ||||
| 			children = ( | ||||
| 				13B07FAF1A68108700A75B9A /* AppDelegate.h */, | ||||
| @@ -93,15 +93,15 @@ | ||||
| 				81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */, | ||||
| 				13B07FB71A68108700A75B9A /* main.m */, | ||||
| 			); | ||||
| 			name = testHotupdate; | ||||
| 			name = AwesomeProject; | ||||
| 			sourceTree = "<group>"; | ||||
| 		}; | ||||
| 		2D16E6871FA4F8E400B85C8A /* Frameworks */ = { | ||||
| 			isa = PBXGroup; | ||||
| 			children = ( | ||||
| 				ED297162215061F000B7C4FE /* JavaScriptCore.framework */, | ||||
| 				5DCACB8F33CDC322A6C60F78 /* libPods-testHotupdate.a */, | ||||
| 				19F6CBCC0A4E27FBF8BF4A61 /* libPods-testHotupdate-testHotupdateTests.a */, | ||||
| 				5DCACB8F33CDC322A6C60F78 /* libPods-AwesomeProject.a */, | ||||
| 				19F6CBCC0A4E27FBF8BF4A61 /* libPods-AwesomeProject-AwesomeProjectTests.a */, | ||||
| 			); | ||||
| 			name = Frameworks; | ||||
| 			sourceTree = "<group>"; | ||||
| @@ -116,9 +116,9 @@ | ||||
| 		83CBB9F61A601CBA00E9B192 = { | ||||
| 			isa = PBXGroup; | ||||
| 			children = ( | ||||
| 				13B07FAE1A68108700A75B9A /* testHotupdate */, | ||||
| 				13B07FAE1A68108700A75B9A /* AwesomeProject */, | ||||
| 				832341AE1AAA6A7D00B99B32 /* Libraries */, | ||||
| 				00E356EF1AD99517003FC87E /* testHotupdateTests */, | ||||
| 				00E356EF1AD99517003FC87E /* AwesomeProjectTests */, | ||||
| 				83CBBA001A601CBA00E9B192 /* Products */, | ||||
| 				2D16E6871FA4F8E400B85C8A /* Frameworks */, | ||||
| 				BBD78D7AC51CEA395F1C20DB /* Pods */, | ||||
| @@ -131,8 +131,8 @@ | ||||
| 		83CBBA001A601CBA00E9B192 /* Products */ = { | ||||
| 			isa = PBXGroup; | ||||
| 			children = ( | ||||
| 				13B07F961A680F5B00A75B9A /* testHotupdate.app */, | ||||
| 				00E356EE1AD99517003FC87E /* testHotupdateTests.xctest */, | ||||
| 				13B07F961A680F5B00A75B9A /* AwesomeProject.app */, | ||||
| 				00E356EE1AD99517003FC87E /* AwesomeProjectTests.xctest */, | ||||
| 			); | ||||
| 			name = Products; | ||||
| 			sourceTree = "<group>"; | ||||
| @@ -140,10 +140,10 @@ | ||||
| 		BBD78D7AC51CEA395F1C20DB /* Pods */ = { | ||||
| 			isa = PBXGroup; | ||||
| 			children = ( | ||||
| 				3B4392A12AC88292D35C810B /* Pods-testHotupdate.debug.xcconfig */, | ||||
| 				5709B34CF0A7D63546082F79 /* Pods-testHotupdate.release.xcconfig */, | ||||
| 				5B7EB9410499542E8C5724F5 /* Pods-testHotupdate-testHotupdateTests.debug.xcconfig */, | ||||
| 				89C6BE57DB24E9ADA2F236DE /* Pods-testHotupdate-testHotupdateTests.release.xcconfig */, | ||||
| 				3B4392A12AC88292D35C810B /* Pods-AwesomeProject.debug.xcconfig */, | ||||
| 				5709B34CF0A7D63546082F79 /* Pods-AwesomeProject.release.xcconfig */, | ||||
| 				5B7EB9410499542E8C5724F5 /* Pods-AwesomeProject-AwesomeProjectTests.debug.xcconfig */, | ||||
| 				89C6BE57DB24E9ADA2F236DE /* Pods-AwesomeProject-AwesomeProjectTests.release.xcconfig */, | ||||
| 			); | ||||
| 			path = Pods; | ||||
| 			sourceTree = "<group>"; | ||||
| @@ -151,9 +151,9 @@ | ||||
| /* End PBXGroup section */ | ||||
| 
 | ||||
| /* Begin PBXNativeTarget section */ | ||||
| 		00E356ED1AD99517003FC87E /* testHotupdateTests */ = { | ||||
| 		00E356ED1AD99517003FC87E /* AwesomeProjectTests */ = { | ||||
| 			isa = PBXNativeTarget; | ||||
| 			buildConfigurationList = 00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget "testHotupdateTests" */; | ||||
| 			buildConfigurationList = 00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget "AwesomeProjectTests" */; | ||||
| 			buildPhases = ( | ||||
| 				A55EABD7B0C7F3A422A6CC61 /* [CP] Check Pods Manifest.lock */, | ||||
| 				00E356EA1AD99517003FC87E /* Sources */, | ||||
| @@ -167,14 +167,14 @@ | ||||
| 			dependencies = ( | ||||
| 				00E356F51AD99517003FC87E /* PBXTargetDependency */, | ||||
| 			); | ||||
| 			name = testHotupdateTests; | ||||
| 			productName = testHotupdateTests; | ||||
| 			productReference = 00E356EE1AD99517003FC87E /* testHotupdateTests.xctest */; | ||||
| 			name = AwesomeProjectTests; | ||||
| 			productName = AwesomeProjectTests; | ||||
| 			productReference = 00E356EE1AD99517003FC87E /* AwesomeProjectTests.xctest */; | ||||
| 			productType = "com.apple.product-type.bundle.unit-test"; | ||||
| 		}; | ||||
| 		13B07F861A680F5B00A75B9A /* testHotupdate */ = { | ||||
| 		13B07F861A680F5B00A75B9A /* AwesomeProject */ = { | ||||
| 			isa = PBXNativeTarget; | ||||
| 			buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "testHotupdate" */; | ||||
| 			buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "AwesomeProject" */; | ||||
| 			buildPhases = ( | ||||
| 				C38B50BA6285516D6DCD4F65 /* [CP] Check Pods Manifest.lock */, | ||||
| 				FD10A7F022414F080027D42C /* Start Packager */, | ||||
| @@ -189,9 +189,9 @@ | ||||
| 			); | ||||
| 			dependencies = ( | ||||
| 			); | ||||
| 			name = testHotupdate; | ||||
| 			productName = testHotupdate; | ||||
| 			productReference = 13B07F961A680F5B00A75B9A /* testHotupdate.app */; | ||||
| 			name = AwesomeProject; | ||||
| 			productName = AwesomeProject; | ||||
| 			productReference = 13B07F961A680F5B00A75B9A /* AwesomeProject.app */; | ||||
| 			productType = "com.apple.product-type.application"; | ||||
| 		}; | ||||
| /* End PBXNativeTarget section */ | ||||
| @@ -211,7 +211,7 @@ | ||||
| 					}; | ||||
| 				}; | ||||
| 			}; | ||||
| 			buildConfigurationList = 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "testHotUpdate" */; | ||||
| 			buildConfigurationList = 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "AwesomeProject" */; | ||||
| 			compatibilityVersion = "Xcode 12.0"; | ||||
| 			developmentRegion = en; | ||||
| 			hasScannedForEncodings = 0; | ||||
| @@ -224,8 +224,8 @@ | ||||
| 			projectDirPath = ""; | ||||
| 			projectRoot = ""; | ||||
| 			targets = ( | ||||
| 				13B07F861A680F5B00A75B9A /* testHotupdate */, | ||||
| 				00E356ED1AD99517003FC87E /* testHotupdateTests */, | ||||
| 				13B07F861A680F5B00A75B9A /* AwesomeProject */, | ||||
| 				00E356ED1AD99517003FC87E /* AwesomeProjectTests */, | ||||
| 			); | ||||
| 		}; | ||||
| /* End PBXProject section */ | ||||
| @@ -272,15 +272,15 @@ | ||||
| 			files = ( | ||||
| 			); | ||||
| 			inputFileListPaths = ( | ||||
| 				"${PODS_ROOT}/Target Support Files/Pods-testHotupdate/Pods-testHotupdate-frameworks-${CONFIGURATION}-input-files.xcfilelist", | ||||
| 				"${PODS_ROOT}/Target Support Files/Pods-AwesomeProject/Pods-AwesomeProject-frameworks-${CONFIGURATION}-input-files.xcfilelist", | ||||
| 			); | ||||
| 			name = "[CP] Embed Pods Frameworks"; | ||||
| 			outputFileListPaths = ( | ||||
| 				"${PODS_ROOT}/Target Support Files/Pods-testHotupdate/Pods-testHotupdate-frameworks-${CONFIGURATION}-output-files.xcfilelist", | ||||
| 				"${PODS_ROOT}/Target Support Files/Pods-AwesomeProject/Pods-AwesomeProject-frameworks-${CONFIGURATION}-output-files.xcfilelist", | ||||
| 			); | ||||
| 			runOnlyForDeploymentPostprocessing = 0; | ||||
| 			shellPath = /bin/sh; | ||||
| 			shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-testHotupdate/Pods-testHotupdate-frameworks.sh\"\n"; | ||||
| 			shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-AwesomeProject/Pods-AwesomeProject-frameworks.sh\"\n"; | ||||
| 			showEnvVarsInLog = 0; | ||||
| 		}; | ||||
| 		A55EABD7B0C7F3A422A6CC61 /* [CP] Check Pods Manifest.lock */ = { | ||||
| @@ -298,7 +298,7 @@ | ||||
| 			outputFileListPaths = ( | ||||
| 			); | ||||
| 			outputPaths = ( | ||||
| 				"$(DERIVED_FILE_DIR)/Pods-testHotupdate-testHotupdateTests-checkManifestLockResult.txt", | ||||
| 				"$(DERIVED_FILE_DIR)/Pods-AwesomeProject-AwesomeProjectTests-checkManifestLockResult.txt", | ||||
| 			); | ||||
| 			runOnlyForDeploymentPostprocessing = 0; | ||||
| 			shellPath = /bin/sh; | ||||
| @@ -320,7 +320,7 @@ | ||||
| 			outputFileListPaths = ( | ||||
| 			); | ||||
| 			outputPaths = ( | ||||
| 				"$(DERIVED_FILE_DIR)/Pods-testHotupdate-checkManifestLockResult.txt", | ||||
| 				"$(DERIVED_FILE_DIR)/Pods-AwesomeProject-checkManifestLockResult.txt", | ||||
| 			); | ||||
| 			runOnlyForDeploymentPostprocessing = 0; | ||||
| 			shellPath = /bin/sh; | ||||
| @@ -333,15 +333,15 @@ | ||||
| 			files = ( | ||||
| 			); | ||||
| 			inputFileListPaths = ( | ||||
| 				"${PODS_ROOT}/Target Support Files/Pods-testHotupdate-testHotupdateTests/Pods-testHotupdate-testHotupdateTests-frameworks-${CONFIGURATION}-input-files.xcfilelist", | ||||
| 				"${PODS_ROOT}/Target Support Files/Pods-AwesomeProject-AwesomeProjectTests/Pods-AwesomeProject-AwesomeProjectTests-frameworks-${CONFIGURATION}-input-files.xcfilelist", | ||||
| 			); | ||||
| 			name = "[CP] Embed Pods Frameworks"; | ||||
| 			outputFileListPaths = ( | ||||
| 				"${PODS_ROOT}/Target Support Files/Pods-testHotupdate-testHotupdateTests/Pods-testHotupdate-testHotupdateTests-frameworks-${CONFIGURATION}-output-files.xcfilelist", | ||||
| 				"${PODS_ROOT}/Target Support Files/Pods-AwesomeProject-AwesomeProjectTests/Pods-AwesomeProject-AwesomeProjectTests-frameworks-${CONFIGURATION}-output-files.xcfilelist", | ||||
| 			); | ||||
| 			runOnlyForDeploymentPostprocessing = 0; | ||||
| 			shellPath = /bin/sh; | ||||
| 			shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-testHotupdate-testHotupdateTests/Pods-testHotupdate-testHotupdateTests-frameworks.sh\"\n"; | ||||
| 			shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-AwesomeProject-AwesomeProjectTests/Pods-AwesomeProject-AwesomeProjectTests-frameworks.sh\"\n"; | ||||
| 			showEnvVarsInLog = 0; | ||||
| 		}; | ||||
| 		E235C05ADACE081382539298 /* [CP] Copy Pods Resources */ = { | ||||
| @@ -350,15 +350,15 @@ | ||||
| 			files = ( | ||||
| 			); | ||||
| 			inputFileListPaths = ( | ||||
| 				"${PODS_ROOT}/Target Support Files/Pods-testHotupdate/Pods-testHotupdate-resources-${CONFIGURATION}-input-files.xcfilelist", | ||||
| 				"${PODS_ROOT}/Target Support Files/Pods-AwesomeProject/Pods-AwesomeProject-resources-${CONFIGURATION}-input-files.xcfilelist", | ||||
| 			); | ||||
| 			name = "[CP] Copy Pods Resources"; | ||||
| 			outputFileListPaths = ( | ||||
| 				"${PODS_ROOT}/Target Support Files/Pods-testHotupdate/Pods-testHotupdate-resources-${CONFIGURATION}-output-files.xcfilelist", | ||||
| 				"${PODS_ROOT}/Target Support Files/Pods-AwesomeProject/Pods-AwesomeProject-resources-${CONFIGURATION}-output-files.xcfilelist", | ||||
| 			); | ||||
| 			runOnlyForDeploymentPostprocessing = 0; | ||||
| 			shellPath = /bin/sh; | ||||
| 			shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-testHotupdate/Pods-testHotupdate-resources.sh\"\n"; | ||||
| 			shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-AwesomeProject/Pods-AwesomeProject-resources.sh\"\n"; | ||||
| 			showEnvVarsInLog = 0; | ||||
| 		}; | ||||
| 		F6A41C54EA430FDDC6A6ED99 /* [CP] Copy Pods Resources */ = { | ||||
| @@ -367,15 +367,15 @@ | ||||
| 			files = ( | ||||
| 			); | ||||
| 			inputFileListPaths = ( | ||||
| 				"${PODS_ROOT}/Target Support Files/Pods-testHotupdate-testHotupdateTests/Pods-testHotupdate-testHotupdateTests-resources-${CONFIGURATION}-input-files.xcfilelist", | ||||
| 				"${PODS_ROOT}/Target Support Files/Pods-AwesomeProject-AwesomeProjectTests/Pods-AwesomeProject-AwesomeProjectTests-resources-${CONFIGURATION}-input-files.xcfilelist", | ||||
| 			); | ||||
| 			name = "[CP] Copy Pods Resources"; | ||||
| 			outputFileListPaths = ( | ||||
| 				"${PODS_ROOT}/Target Support Files/Pods-testHotupdate-testHotupdateTests/Pods-testHotupdate-testHotupdateTests-resources-${CONFIGURATION}-output-files.xcfilelist", | ||||
| 				"${PODS_ROOT}/Target Support Files/Pods-AwesomeProject-AwesomeProjectTests/Pods-AwesomeProject-AwesomeProjectTests-resources-${CONFIGURATION}-output-files.xcfilelist", | ||||
| 			); | ||||
| 			runOnlyForDeploymentPostprocessing = 0; | ||||
| 			shellPath = /bin/sh; | ||||
| 			shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-testHotupdate-testHotupdateTests/Pods-testHotupdate-testHotupdateTests-resources.sh\"\n"; | ||||
| 			shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-AwesomeProject-AwesomeProjectTests/Pods-AwesomeProject-AwesomeProjectTests-resources.sh\"\n"; | ||||
| 			showEnvVarsInLog = 0; | ||||
| 		}; | ||||
| 		FD10A7F022414F080027D42C /* Start Packager */ = { | ||||
| @@ -404,7 +404,7 @@ | ||||
| 			isa = PBXSourcesBuildPhase; | ||||
| 			buildActionMask = 2147483647; | ||||
| 			files = ( | ||||
| 				00E356F31AD99517003FC87E /* testHotupdateTests.m in Sources */, | ||||
| 				00E356F31AD99517003FC87E /* AwesomeProjectTests.m in Sources */, | ||||
| 			); | ||||
| 			runOnlyForDeploymentPostprocessing = 0; | ||||
| 		}; | ||||
| @@ -422,7 +422,7 @@ | ||||
| /* Begin PBXTargetDependency section */ | ||||
| 		00E356F51AD99517003FC87E /* PBXTargetDependency */ = { | ||||
| 			isa = PBXTargetDependency; | ||||
| 			target = 13B07F861A680F5B00A75B9A /* testHotupdate */; | ||||
| 			target = 13B07F861A680F5B00A75B9A /* AwesomeProject */; | ||||
| 			targetProxy = 00E356F41AD99517003FC87E /* PBXContainerItemProxy */; | ||||
| 		}; | ||||
| /* End PBXTargetDependency section */ | ||||
| @@ -430,14 +430,14 @@ | ||||
| /* Begin XCBuildConfiguration section */ | ||||
| 		00E356F61AD99517003FC87E /* Debug */ = { | ||||
| 			isa = XCBuildConfiguration; | ||||
| 			baseConfigurationReference = 5B7EB9410499542E8C5724F5 /* Pods-testHotupdate-testHotupdateTests.debug.xcconfig */; | ||||
| 			baseConfigurationReference = 5B7EB9410499542E8C5724F5 /* Pods-AwesomeProject-AwesomeProjectTests.debug.xcconfig */; | ||||
| 			buildSettings = { | ||||
| 				BUNDLE_LOADER = "$(TEST_HOST)"; | ||||
| 				GCC_PREPROCESSOR_DEFINITIONS = ( | ||||
| 					"DEBUG=1", | ||||
| 					"$(inherited)", | ||||
| 				); | ||||
| 				INFOPLIST_FILE = testHotupdateTests/Info.plist; | ||||
| 				INFOPLIST_FILE = AwesomeProjectTests/Info.plist; | ||||
| 				IPHONEOS_DEPLOYMENT_TARGET = 12.4; | ||||
| 				LD_RUNPATH_SEARCH_PATHS = ( | ||||
| 					"$(inherited)", | ||||
| @@ -451,17 +451,17 @@ | ||||
| 				); | ||||
| 				PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)"; | ||||
| 				PRODUCT_NAME = "$(TARGET_NAME)"; | ||||
| 				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/testHotupdate.app/testHotupdate"; | ||||
| 				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/AwesomeProject.app/AwesomeProject"; | ||||
| 			}; | ||||
| 			name = Debug; | ||||
| 		}; | ||||
| 		00E356F71AD99517003FC87E /* Release */ = { | ||||
| 			isa = XCBuildConfiguration; | ||||
| 			baseConfigurationReference = 89C6BE57DB24E9ADA2F236DE /* Pods-testHotupdate-testHotupdateTests.release.xcconfig */; | ||||
| 			baseConfigurationReference = 89C6BE57DB24E9ADA2F236DE /* Pods-AwesomeProject-AwesomeProjectTests.release.xcconfig */; | ||||
| 			buildSettings = { | ||||
| 				BUNDLE_LOADER = "$(TEST_HOST)"; | ||||
| 				COPY_PHASE_STRIP = NO; | ||||
| 				INFOPLIST_FILE = testHotupdateTests/Info.plist; | ||||
| 				INFOPLIST_FILE = AwesomeProjectTests/Info.plist; | ||||
| 				IPHONEOS_DEPLOYMENT_TARGET = 12.4; | ||||
| 				LD_RUNPATH_SEARCH_PATHS = ( | ||||
| 					"$(inherited)", | ||||
| @@ -475,31 +475,30 @@ | ||||
| 				); | ||||
| 				PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)"; | ||||
| 				PRODUCT_NAME = "$(TARGET_NAME)"; | ||||
| 				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/testHotupdate.app/testHotupdate"; | ||||
| 				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/AwesomeProject.app/AwesomeProject"; | ||||
| 			}; | ||||
| 			name = Release; | ||||
| 		}; | ||||
| 		13B07F941A680F5B00A75B9A /* Debug */ = { | ||||
| 			isa = XCBuildConfiguration; | ||||
| 			baseConfigurationReference = 3B4392A12AC88292D35C810B /* Pods-testHotupdate.debug.xcconfig */; | ||||
| 			baseConfigurationReference = 3B4392A12AC88292D35C810B /* Pods-AwesomeProject.debug.xcconfig */; | ||||
| 			buildSettings = { | ||||
| 				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; | ||||
| 				CLANG_ENABLE_MODULES = YES; | ||||
| 				CURRENT_PROJECT_VERSION = 1; | ||||
| 				ENABLE_BITCODE = NO; | ||||
| 				INFOPLIST_FILE = testHotupdate/Info.plist; | ||||
| 				INFOPLIST_FILE = AwesomeProject/Info.plist; | ||||
| 				LD_RUNPATH_SEARCH_PATHS = ( | ||||
| 					"$(inherited)", | ||||
| 					"@executable_path/Frameworks", | ||||
| 				); | ||||
| 				MARKETING_VERSION = 1.0; | ||||
| 				OTHER_LDFLAGS = ( | ||||
| 					"$(inherited)", | ||||
| 					"-ObjC", | ||||
| 					"-lc++", | ||||
| 				); | ||||
| 				PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)"; | ||||
| 				PRODUCT_NAME = testHotupdate; | ||||
| 				PRODUCT_NAME = AwesomeProject; | ||||
| 				SWIFT_OPTIMIZATION_LEVEL = "-Onone"; | ||||
| 				SWIFT_VERSION = 5.0; | ||||
| 				VERSIONING_SYSTEM = "apple-generic"; | ||||
| @@ -508,24 +507,23 @@ | ||||
| 		}; | ||||
| 		13B07F951A680F5B00A75B9A /* Release */ = { | ||||
| 			isa = XCBuildConfiguration; | ||||
| 			baseConfigurationReference = 5709B34CF0A7D63546082F79 /* Pods-testHotupdate.release.xcconfig */; | ||||
| 			baseConfigurationReference = 5709B34CF0A7D63546082F79 /* Pods-AwesomeProject.release.xcconfig */; | ||||
| 			buildSettings = { | ||||
| 				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; | ||||
| 				CLANG_ENABLE_MODULES = YES; | ||||
| 				CURRENT_PROJECT_VERSION = 1; | ||||
| 				INFOPLIST_FILE = testHotupdate/Info.plist; | ||||
| 				INFOPLIST_FILE = AwesomeProject/Info.plist; | ||||
| 				LD_RUNPATH_SEARCH_PATHS = ( | ||||
| 					"$(inherited)", | ||||
| 					"@executable_path/Frameworks", | ||||
| 				); | ||||
| 				MARKETING_VERSION = 1.0; | ||||
| 				OTHER_LDFLAGS = ( | ||||
| 					"$(inherited)", | ||||
| 					"-ObjC", | ||||
| 					"-lc++", | ||||
| 				); | ||||
| 				PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)"; | ||||
| 				PRODUCT_NAME = testHotupdate; | ||||
| 				PRODUCT_NAME = AwesomeProject; | ||||
| 				SWIFT_VERSION = 5.0; | ||||
| 				VERSIONING_SYSTEM = "apple-generic"; | ||||
| 			}; | ||||
| @@ -564,7 +562,7 @@ | ||||
| 				COPY_PHASE_STRIP = NO; | ||||
| 				ENABLE_STRICT_OBJC_MSGSEND = YES; | ||||
| 				ENABLE_TESTABILITY = YES; | ||||
| 				"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = i386; | ||||
| 				"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = ""; | ||||
| 				GCC_C_LANGUAGE_STANDARD = gnu99; | ||||
| 				GCC_DYNAMIC_NO_PIC = NO; | ||||
| 				GCC_NO_COMMON_BLOCKS = YES; | ||||
| @@ -636,7 +634,7 @@ | ||||
| 				COPY_PHASE_STRIP = YES; | ||||
| 				ENABLE_NS_ASSERTIONS = NO; | ||||
| 				ENABLE_STRICT_OBJC_MSGSEND = YES; | ||||
| 				"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = i386; | ||||
| 				"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = ""; | ||||
| 				GCC_C_LANGUAGE_STANDARD = gnu99; | ||||
| 				GCC_NO_COMMON_BLOCKS = YES; | ||||
| 				GCC_WARN_64_TO_32_BIT_CONVERSION = YES; | ||||
| @@ -671,7 +669,7 @@ | ||||
| /* End XCBuildConfiguration section */ | ||||
| 
 | ||||
| /* Begin XCConfigurationList section */ | ||||
| 		00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget "testHotupdateTests" */ = { | ||||
| 		00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget "AwesomeProjectTests" */ = { | ||||
| 			isa = XCConfigurationList; | ||||
| 			buildConfigurations = ( | ||||
| 				00E356F61AD99517003FC87E /* Debug */, | ||||
| @@ -680,7 +678,7 @@ | ||||
| 			defaultConfigurationIsVisible = 0; | ||||
| 			defaultConfigurationName = Release; | ||||
| 		}; | ||||
| 		13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "testHotupdate" */ = { | ||||
| 		13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "AwesomeProject" */ = { | ||||
| 			isa = XCConfigurationList; | ||||
| 			buildConfigurations = ( | ||||
| 				13B07F941A680F5B00A75B9A /* Debug */, | ||||
| @@ -689,7 +687,7 @@ | ||||
| 			defaultConfigurationIsVisible = 0; | ||||
| 			defaultConfigurationName = Release; | ||||
| 		}; | ||||
| 		83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "testHotUpdate" */ = { | ||||
| 		83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "AwesomeProject" */ = { | ||||
| 			isa = XCConfigurationList; | ||||
| 			buildConfigurations = ( | ||||
| 				83CBBA201A601CBA00E9B192 /* Debug */, | ||||
| @@ -15,9 +15,9 @@ | ||||
|             <BuildableReference | ||||
|                BuildableIdentifier = "primary" | ||||
|                BlueprintIdentifier = "13B07F861A680F5B00A75B9A" | ||||
|                BuildableName = "testHotupdate.app" | ||||
|                BlueprintName = "testHotupdate" | ||||
|                ReferencedContainer = "container:testHotupdate.xcodeproj"> | ||||
|                BuildableName = "AwesomeProject.app" | ||||
|                BlueprintName = "AwesomeProject" | ||||
|                ReferencedContainer = "container:AwesomeProject.xcodeproj"> | ||||
|             </BuildableReference> | ||||
|          </BuildActionEntry> | ||||
|       </BuildActionEntries> | ||||
| @@ -33,9 +33,9 @@ | ||||
|             <BuildableReference | ||||
|                BuildableIdentifier = "primary" | ||||
|                BlueprintIdentifier = "00E356ED1AD99517003FC87E" | ||||
|                BuildableName = "testHotupdateTests.xctest" | ||||
|                BlueprintName = "testHotupdateTests" | ||||
|                ReferencedContainer = "container:testHotupdate.xcodeproj"> | ||||
|                BuildableName = "AwesomeProjectTests.xctest" | ||||
|                BlueprintName = "AwesomeProjectTests" | ||||
|                ReferencedContainer = "container:AwesomeProject.xcodeproj"> | ||||
|             </BuildableReference> | ||||
|          </TestableReference> | ||||
|       </Testables> | ||||
| @@ -55,9 +55,9 @@ | ||||
|          <BuildableReference | ||||
|             BuildableIdentifier = "primary" | ||||
|             BlueprintIdentifier = "13B07F861A680F5B00A75B9A" | ||||
|             BuildableName = "testHotupdate.app" | ||||
|             BlueprintName = "testHotupdate" | ||||
|             ReferencedContainer = "container:testHotupdate.xcodeproj"> | ||||
|             BuildableName = "AwesomeProject.app" | ||||
|             BlueprintName = "AwesomeProject" | ||||
|             ReferencedContainer = "container:AwesomeProject.xcodeproj"> | ||||
|          </BuildableReference> | ||||
|       </BuildableProductRunnable> | ||||
|    </LaunchAction> | ||||
| @@ -72,9 +72,9 @@ | ||||
|          <BuildableReference | ||||
|             BuildableIdentifier = "primary" | ||||
|             BlueprintIdentifier = "13B07F861A680F5B00A75B9A" | ||||
|             BuildableName = "testHotupdate.app" | ||||
|             BlueprintName = "testHotupdate" | ||||
|             ReferencedContainer = "container:testHotupdate.xcodeproj"> | ||||
|             BuildableName = "AwesomeProject.app" | ||||
|             BlueprintName = "AwesomeProject" | ||||
|             ReferencedContainer = "container:AwesomeProject.xcodeproj"> | ||||
|          </BuildableReference> | ||||
|       </BuildableProductRunnable> | ||||
|    </ProfileAction> | ||||
| @@ -2,12 +2,9 @@ | ||||
| <Workspace | ||||
|    version = "1.0"> | ||||
|    <FileRef | ||||
|       location = "group:testHotupdate.xcodeproj"> | ||||
|       location = "group:AwesomeProject.xcodeproj"> | ||||
|    </FileRef> | ||||
|    <FileRef | ||||
|       location = "group:Pods/Pods.xcodeproj"> | ||||
|    </FileRef> | ||||
|    <FileRef | ||||
|       location = "group:testHotUpdate.xcodeproj"> | ||||
|    </FileRef> | ||||
| </Workspace> | ||||
							
								
								
									
										8
									
								
								Example/testHotUpdate/ios/AwesomeProject/AppDelegate.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								Example/testHotUpdate/ios/AwesomeProject/AppDelegate.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,8 @@ | ||||
| #import <React/RCTBridgeDelegate.h> | ||||
| #import <UIKit/UIKit.h> | ||||
|  | ||||
| @interface AppDelegate : UIResponder <UIApplicationDelegate, RCTBridgeDelegate> | ||||
|  | ||||
| @property (nonatomic, strong) UIWindow *window; | ||||
|  | ||||
| @end | ||||
							
								
								
									
										133
									
								
								Example/testHotUpdate/ios/AwesomeProject/AppDelegate.mm
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										133
									
								
								Example/testHotUpdate/ios/AwesomeProject/AppDelegate.mm
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,133 @@ | ||||
| #import "AppDelegate.h" | ||||
|  | ||||
| #import <React/RCTBridge.h> | ||||
| #import <React/RCTBundleURLProvider.h> | ||||
| #import <React/RCTRootView.h> | ||||
|  | ||||
| #import <React/RCTAppSetupUtils.h> | ||||
|  | ||||
| #if RCT_NEW_ARCH_ENABLED | ||||
| #import <React/CoreModulesPlugins.h> | ||||
| #import <React/RCTCxxBridgeDelegate.h> | ||||
| #import <React/RCTFabricSurfaceHostingProxyRootView.h> | ||||
| #import <React/RCTSurfacePresenter.h> | ||||
| #import <React/RCTSurfacePresenterBridgeAdapter.h> | ||||
| #import <ReactCommon/RCTTurboModuleManager.h> | ||||
|  | ||||
| #import <react/config/ReactNativeConfig.h> | ||||
|  | ||||
| static NSString *const kRNConcurrentRoot = @"concurrentRoot"; | ||||
|  | ||||
| @interface AppDelegate () <RCTCxxBridgeDelegate, RCTTurboModuleManagerDelegate> { | ||||
|   RCTTurboModuleManager *_turboModuleManager; | ||||
|   RCTSurfacePresenterBridgeAdapter *_bridgeAdapter; | ||||
|   std::shared_ptr<const facebook::react::ReactNativeConfig> _reactNativeConfig; | ||||
|   facebook::react::ContextContainer::Shared _contextContainer; | ||||
| } | ||||
| @end | ||||
| #endif | ||||
|  | ||||
| @implementation AppDelegate | ||||
|  | ||||
| - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions | ||||
| { | ||||
|   RCTAppSetupPrepareApp(application); | ||||
|  | ||||
|   RCTBridge *bridge = [[RCTBridge alloc] initWithDelegate:self launchOptions:launchOptions]; | ||||
|  | ||||
| #if RCT_NEW_ARCH_ENABLED | ||||
|   _contextContainer = std::make_shared<facebook::react::ContextContainer const>(); | ||||
|   _reactNativeConfig = std::make_shared<facebook::react::EmptyReactNativeConfig const>(); | ||||
|   _contextContainer->insert("ReactNativeConfig", _reactNativeConfig); | ||||
|   _bridgeAdapter = [[RCTSurfacePresenterBridgeAdapter alloc] initWithBridge:bridge contextContainer:_contextContainer]; | ||||
|   bridge.surfacePresenter = _bridgeAdapter.surfacePresenter; | ||||
| #endif | ||||
|  | ||||
|   NSDictionary *initProps = [self prepareInitialProps]; | ||||
|   UIView *rootView = RCTAppSetupDefaultRootView(bridge, @"AwesomeProject", initProps); | ||||
|  | ||||
|   if (@available(iOS 13.0, *)) { | ||||
|     rootView.backgroundColor = [UIColor systemBackgroundColor]; | ||||
|   } else { | ||||
|     rootView.backgroundColor = [UIColor whiteColor]; | ||||
|   } | ||||
|  | ||||
|   self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds]; | ||||
|   UIViewController *rootViewController = [UIViewController new]; | ||||
|   rootViewController.view = rootView; | ||||
|   self.window.rootViewController = rootViewController; | ||||
|   [self.window makeKeyAndVisible]; | ||||
|   return YES; | ||||
| } | ||||
|  | ||||
| /// This method controls whether the `concurrentRoot`feature of React18 is turned on or off. | ||||
| /// | ||||
| /// @see: https://reactjs.org/blog/2022/03/29/react-v18.html | ||||
| /// @note: This requires to be rendering on Fabric (i.e. on the New Architecture). | ||||
| /// @return: `true` if the `concurrentRoot` feture is enabled. Otherwise, it returns `false`. | ||||
| - (BOOL)concurrentRootEnabled | ||||
| { | ||||
|   // Switch this bool to turn on and off the concurrent root | ||||
|   return true; | ||||
| } | ||||
|  | ||||
| - (NSDictionary *)prepareInitialProps | ||||
| { | ||||
|   NSMutableDictionary *initProps = [NSMutableDictionary new]; | ||||
|  | ||||
| #ifdef RCT_NEW_ARCH_ENABLED | ||||
|   initProps[kRNConcurrentRoot] = @([self concurrentRootEnabled]); | ||||
| #endif | ||||
|  | ||||
|   return initProps; | ||||
| } | ||||
|  | ||||
| - (NSURL *)sourceURLForBridge:(RCTBridge *)bridge | ||||
| { | ||||
| #if DEBUG | ||||
|   return [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index"]; | ||||
| #else | ||||
|   return [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"]; | ||||
| #endif | ||||
| } | ||||
|  | ||||
| #if RCT_NEW_ARCH_ENABLED | ||||
|  | ||||
| #pragma mark - RCTCxxBridgeDelegate | ||||
|  | ||||
| - (std::unique_ptr<facebook::react::JSExecutorFactory>)jsExecutorFactoryForBridge:(RCTBridge *)bridge | ||||
| { | ||||
|   _turboModuleManager = [[RCTTurboModuleManager alloc] initWithBridge:bridge | ||||
|                                                              delegate:self | ||||
|                                                             jsInvoker:bridge.jsCallInvoker]; | ||||
|   return RCTAppSetupDefaultJsExecutorFactory(bridge, _turboModuleManager); | ||||
| } | ||||
|  | ||||
| #pragma mark RCTTurboModuleManagerDelegate | ||||
|  | ||||
| - (Class)getModuleClassFromName:(const char *)name | ||||
| { | ||||
|   return RCTCoreModulesClassProvider(name); | ||||
| } | ||||
|  | ||||
| - (std::shared_ptr<facebook::react::TurboModule>)getTurboModule:(const std::string &)name | ||||
|                                                       jsInvoker:(std::shared_ptr<facebook::react::CallInvoker>)jsInvoker | ||||
| { | ||||
|   return nullptr; | ||||
| } | ||||
|  | ||||
| - (std::shared_ptr<facebook::react::TurboModule>)getTurboModule:(const std::string &)name | ||||
|                                                      initParams: | ||||
|                                                          (const facebook::react::ObjCTurboModule::InitParams &)params | ||||
| { | ||||
|   return nullptr; | ||||
| } | ||||
|  | ||||
| - (id<RCTTurboModule>)getModuleInstanceFromClass:(Class)moduleClass | ||||
| { | ||||
|   return RCTAppSetupDefaultModuleFromClass(moduleClass); | ||||
| } | ||||
|  | ||||
| #endif | ||||
|  | ||||
| @end | ||||
| @@ -5,7 +5,7 @@ | ||||
| 	<key>CFBundleDevelopmentRegion</key> | ||||
| 	<string>en</string> | ||||
| 	<key>CFBundleDisplayName</key> | ||||
| 	<string>testHotupdate</string> | ||||
| 	<string>AwesomeProject</string> | ||||
| 	<key>CFBundleExecutable</key> | ||||
| 	<string>$(EXECUTABLE_NAME)</string> | ||||
| 	<key>CFBundleIdentifier</key> | ||||
| @@ -17,11 +17,11 @@ | ||||
| 	<key>CFBundlePackageType</key> | ||||
| 	<string>APPL</string> | ||||
| 	<key>CFBundleShortVersionString</key> | ||||
| 	<string>$(MARKETING_VERSION)</string> | ||||
| 	<string>1.0</string> | ||||
| 	<key>CFBundleSignature</key> | ||||
| 	<string>????</string> | ||||
| 	<key>CFBundleVersion</key> | ||||
| 	<string>$(CURRENT_PROJECT_VERSION)</string> | ||||
| 	<string>1</string> | ||||
| 	<key>LSRequiresIPhoneOS</key> | ||||
| 	<true/> | ||||
| 	<key>NSLocationWhenInUseUsageDescription</key> | ||||
| @@ -16,7 +16,7 @@ | ||||
|                         <rect key="frame" x="0.0" y="0.0" width="375" height="667"/> | ||||
|                         <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> | ||||
|                         <subviews> | ||||
|                             <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="testHotupdate" textAlignment="center" lineBreakMode="middleTruncation" baselineAdjustment="alignBaselines" minimumFontSize="18" translatesAutoresizingMaskIntoConstraints="NO" id="GJd-Yh-RWb"> | ||||
|                             <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="AwesomeProject" textAlignment="center" lineBreakMode="middleTruncation" baselineAdjustment="alignBaselines" minimumFontSize="18" translatesAutoresizingMaskIntoConstraints="NO" id="GJd-Yh-RWb"> | ||||
|                                 <rect key="frame" x="0.0" y="202" width="375" height="43"/> | ||||
|                                 <fontDescription key="fontDescription" type="boldSystem" pointSize="36"/> | ||||
|                                 <nil key="highlightedColor"/> | ||||
| @@ -7,11 +7,11 @@ | ||||
| #define TIMEOUT_SECONDS 600 | ||||
| #define TEXT_TO_LOOK_FOR @"Welcome to React" | ||||
| 
 | ||||
| @interface testHotupdateTests : XCTestCase | ||||
| @interface AwesomeProjectTests : XCTestCase | ||||
| 
 | ||||
| @end | ||||
| 
 | ||||
| @implementation testHotupdateTests | ||||
| @implementation AwesomeProjectTests | ||||
| 
 | ||||
| - (BOOL)findSubviewInView:(UIView *)view matching:(BOOL (^)(UIView *view))test | ||||
| { | ||||
| @@ -1,27 +1,12 @@ | ||||
| require_relative '../node_modules/react-native/scripts/react_native_pods' | ||||
| require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules' | ||||
|  | ||||
| platform :ios, min_ios_version_supported | ||||
| prepare_react_native_project! | ||||
| platform :ios, '12.4' | ||||
| install! 'cocoapods', :deterministic_uuids => false | ||||
|  | ||||
| # If you are using a `react-native-flipper` your iOS build will fail when `NO_FLIPPER=1` is set. | ||||
| # because `react-native-flipper` depends on (FlipperKit,...) that will be excluded | ||||
| # | ||||
| # To fix this you can also exclude `react-native-flipper` using a `react-native.config.js` | ||||
| # ```js | ||||
| # module.exports = { | ||||
| #   dependencies: { | ||||
| #     ...(process.env.NO_FLIPPER ? { 'react-native-flipper': { platforms: { ios: null } } } : {}), | ||||
| # ``` | ||||
| flipper_config = ENV['NO_FLIPPER'] == "1" ? FlipperConfiguration.disabled : FlipperConfiguration.enabled | ||||
| production = ENV["PRODUCTION"] == "1" | ||||
|  | ||||
| linkage = ENV['USE_FRAMEWORKS'] | ||||
| if linkage != nil | ||||
|   Pod::UI.puts "Configuring Pod with #{linkage}ally linked Frameworks".green | ||||
|   use_frameworks! :linkage => linkage.to_sym | ||||
| end | ||||
|  | ||||
| target 'testHotupdate' do | ||||
| target 'AwesomeProject' do | ||||
|   config = use_native_modules! | ||||
|  | ||||
|   # Flags change depending on the env values. | ||||
| @@ -29,32 +14,22 @@ target 'testHotupdate' do | ||||
|  | ||||
|   use_react_native!( | ||||
|     :path => config[:reactNativePath], | ||||
|     # Hermes is now enabled by default. Disable by setting this flag to false. | ||||
|     # Upcoming versions of React Native may rely on get_default_flags(), but | ||||
|     # we make it explicit here to aid in the React Native upgrade process. | ||||
|     # to enable hermes on iOS, change `false` to `true` and then install pods | ||||
|     :production => production, | ||||
|     :hermes_enabled => flags[:hermes_enabled], | ||||
|     :fabric_enabled => flags[:fabric_enabled], | ||||
|     # Enables Flipper. | ||||
|     # | ||||
|     # Note that if you have use_frameworks! enabled, Flipper will not work and | ||||
|     # you should disable the next line. | ||||
|     :flipper_configuration => flipper_config, | ||||
|     :flipper_configuration => FlipperConfiguration.enabled, | ||||
|     # An absolute path to your application root. | ||||
|     :app_path => "#{Pod::Config.instance.installation_root}/.." | ||||
|   ) | ||||
|  | ||||
|   target 'testHotupdateTests' do | ||||
|   target 'AwesomeProjectTests' do | ||||
|     inherit! :complete | ||||
|     # Pods for testing | ||||
|   end | ||||
|  | ||||
|   post_install do |installer| | ||||
|     react_native_post_install( | ||||
|       installer, | ||||
|       # Set `mac_catalyst_enabled` to `true` in order to apply patches | ||||
|       # necessary for Mac Catalyst builds | ||||
|       :mac_catalyst_enabled => false | ||||
|     ) | ||||
|     react_native_post_install(installer) | ||||
|     __apply_Xcode_12_5_M1_post_install_workaround(installer) | ||||
|   end | ||||
| end | ||||
|   | ||||
| @@ -2,14 +2,14 @@ PODS: | ||||
|   - boost (1.76.0) | ||||
|   - CocoaAsyncSocket (7.6.5) | ||||
|   - DoubleConversion (1.1.6) | ||||
|   - FBLazyVector (0.71.1) | ||||
|   - FBReactNativeSpec (0.71.1): | ||||
|     - RCT-Folly (= 2021.07.22.00) | ||||
|     - RCTRequired (= 0.71.1) | ||||
|     - RCTTypeSafety (= 0.71.1) | ||||
|     - React-Core (= 0.71.1) | ||||
|     - React-jsi (= 0.71.1) | ||||
|     - ReactCommon/turbomodule/core (= 0.71.1) | ||||
|   - FBLazyVector (0.69.8) | ||||
|   - FBReactNativeSpec (0.69.8): | ||||
|     - RCT-Folly (= 2021.06.28.00-v2) | ||||
|     - RCTRequired (= 0.69.8) | ||||
|     - RCTTypeSafety (= 0.69.8) | ||||
|     - React-Core (= 0.69.8) | ||||
|     - React-jsi (= 0.69.8) | ||||
|     - ReactCommon/turbomodule/core (= 0.69.8) | ||||
|   - Flipper (0.125.0): | ||||
|     - Flipper-Folly (~> 2.6) | ||||
|     - Flipper-RSocket (~> 1.4) | ||||
| @@ -73,229 +73,216 @@ PODS: | ||||
|     - FlipperKit/FlipperKitNetworkPlugin | ||||
|   - fmt (6.2.1) | ||||
|   - glog (0.3.5) | ||||
|   - hermes-engine (0.71.1): | ||||
|     - hermes-engine/Pre-built (= 0.71.1) | ||||
|   - hermes-engine/Pre-built (0.71.1) | ||||
|   - libevent (2.1.12) | ||||
|   - OpenSSL-Universal (1.1.1100) | ||||
|   - RCT-Folly (2021.07.22.00): | ||||
|   - RCT-Folly (2021.06.28.00-v2): | ||||
|     - boost | ||||
|     - DoubleConversion | ||||
|     - fmt (~> 6.2.1) | ||||
|     - glog | ||||
|     - RCT-Folly/Default (= 2021.07.22.00) | ||||
|   - RCT-Folly/Default (2021.07.22.00): | ||||
|     - RCT-Folly/Default (= 2021.06.28.00-v2) | ||||
|   - RCT-Folly/Default (2021.06.28.00-v2): | ||||
|     - boost | ||||
|     - DoubleConversion | ||||
|     - fmt (~> 6.2.1) | ||||
|     - glog | ||||
|   - RCT-Folly/Futures (2021.07.22.00): | ||||
|     - boost | ||||
|     - DoubleConversion | ||||
|     - fmt (~> 6.2.1) | ||||
|   - RCTRequired (0.69.8) | ||||
|   - RCTTypeSafety (0.69.8): | ||||
|     - FBLazyVector (= 0.69.8) | ||||
|     - RCTRequired (= 0.69.8) | ||||
|     - React-Core (= 0.69.8) | ||||
|   - React (0.69.8): | ||||
|     - React-Core (= 0.69.8) | ||||
|     - React-Core/DevSupport (= 0.69.8) | ||||
|     - React-Core/RCTWebSocket (= 0.69.8) | ||||
|     - React-RCTActionSheet (= 0.69.8) | ||||
|     - React-RCTAnimation (= 0.69.8) | ||||
|     - React-RCTBlob (= 0.69.8) | ||||
|     - React-RCTImage (= 0.69.8) | ||||
|     - React-RCTLinking (= 0.69.8) | ||||
|     - React-RCTNetwork (= 0.69.8) | ||||
|     - React-RCTSettings (= 0.69.8) | ||||
|     - React-RCTText (= 0.69.8) | ||||
|     - React-RCTVibration (= 0.69.8) | ||||
|   - React-bridging (0.69.8): | ||||
|     - RCT-Folly (= 2021.06.28.00-v2) | ||||
|     - React-jsi (= 0.69.8) | ||||
|   - React-callinvoker (0.69.8) | ||||
|   - React-Codegen (0.69.8): | ||||
|     - FBReactNativeSpec (= 0.69.8) | ||||
|     - RCT-Folly (= 2021.06.28.00-v2) | ||||
|     - RCTRequired (= 0.69.8) | ||||
|     - RCTTypeSafety (= 0.69.8) | ||||
|     - React-Core (= 0.69.8) | ||||
|     - React-jsi (= 0.69.8) | ||||
|     - React-jsiexecutor (= 0.69.8) | ||||
|     - ReactCommon/turbomodule/core (= 0.69.8) | ||||
|   - React-Core (0.69.8): | ||||
|     - glog | ||||
|     - libevent | ||||
|   - RCTRequired (0.71.1) | ||||
|   - RCTTypeSafety (0.71.1): | ||||
|     - FBLazyVector (= 0.71.1) | ||||
|     - RCTRequired (= 0.71.1) | ||||
|     - React-Core (= 0.71.1) | ||||
|   - React (0.71.1): | ||||
|     - React-Core (= 0.71.1) | ||||
|     - React-Core/DevSupport (= 0.71.1) | ||||
|     - React-Core/RCTWebSocket (= 0.71.1) | ||||
|     - React-RCTActionSheet (= 0.71.1) | ||||
|     - React-RCTAnimation (= 0.71.1) | ||||
|     - React-RCTBlob (= 0.71.1) | ||||
|     - React-RCTImage (= 0.71.1) | ||||
|     - React-RCTLinking (= 0.71.1) | ||||
|     - React-RCTNetwork (= 0.71.1) | ||||
|     - React-RCTSettings (= 0.71.1) | ||||
|     - React-RCTText (= 0.71.1) | ||||
|     - React-RCTVibration (= 0.71.1) | ||||
|   - React-callinvoker (0.71.1) | ||||
|   - React-Codegen (0.71.1): | ||||
|     - FBReactNativeSpec | ||||
|     - hermes-engine | ||||
|     - RCT-Folly | ||||
|     - RCTRequired | ||||
|     - RCTTypeSafety | ||||
|     - React-Core | ||||
|     - React-jsi | ||||
|     - React-jsiexecutor | ||||
|     - ReactCommon/turbomodule/bridging | ||||
|     - ReactCommon/turbomodule/core | ||||
|   - React-Core (0.71.1): | ||||
|     - glog | ||||
|     - RCT-Folly (= 2021.07.22.00) | ||||
|     - React-Core/Default (= 0.71.1) | ||||
|     - React-cxxreact (= 0.71.1) | ||||
|     - React-jsi (= 0.71.1) | ||||
|     - React-jsiexecutor (= 0.71.1) | ||||
|     - React-perflogger (= 0.71.1) | ||||
|     - RCT-Folly (= 2021.06.28.00-v2) | ||||
|     - React-Core/Default (= 0.69.8) | ||||
|     - React-cxxreact (= 0.69.8) | ||||
|     - React-jsi (= 0.69.8) | ||||
|     - React-jsiexecutor (= 0.69.8) | ||||
|     - React-perflogger (= 0.69.8) | ||||
|     - Yoga | ||||
|   - React-Core/CoreModulesHeaders (0.71.1): | ||||
|   - React-Core/CoreModulesHeaders (0.69.8): | ||||
|     - glog | ||||
|     - RCT-Folly (= 2021.07.22.00) | ||||
|     - RCT-Folly (= 2021.06.28.00-v2) | ||||
|     - React-Core/Default | ||||
|     - React-cxxreact (= 0.71.1) | ||||
|     - React-jsi (= 0.71.1) | ||||
|     - React-jsiexecutor (= 0.71.1) | ||||
|     - React-perflogger (= 0.71.1) | ||||
|     - React-cxxreact (= 0.69.8) | ||||
|     - React-jsi (= 0.69.8) | ||||
|     - React-jsiexecutor (= 0.69.8) | ||||
|     - React-perflogger (= 0.69.8) | ||||
|     - Yoga | ||||
|   - React-Core/Default (0.71.1): | ||||
|   - React-Core/Default (0.69.8): | ||||
|     - glog | ||||
|     - RCT-Folly (= 2021.07.22.00) | ||||
|     - React-cxxreact (= 0.71.1) | ||||
|     - React-jsi (= 0.71.1) | ||||
|     - React-jsiexecutor (= 0.71.1) | ||||
|     - React-perflogger (= 0.71.1) | ||||
|     - RCT-Folly (= 2021.06.28.00-v2) | ||||
|     - React-cxxreact (= 0.69.8) | ||||
|     - React-jsi (= 0.69.8) | ||||
|     - React-jsiexecutor (= 0.69.8) | ||||
|     - React-perflogger (= 0.69.8) | ||||
|     - Yoga | ||||
|   - React-Core/DevSupport (0.71.1): | ||||
|   - React-Core/DevSupport (0.69.8): | ||||
|     - glog | ||||
|     - RCT-Folly (= 2021.07.22.00) | ||||
|     - React-Core/Default (= 0.71.1) | ||||
|     - React-Core/RCTWebSocket (= 0.71.1) | ||||
|     - React-cxxreact (= 0.71.1) | ||||
|     - React-jsi (= 0.71.1) | ||||
|     - React-jsiexecutor (= 0.71.1) | ||||
|     - React-jsinspector (= 0.71.1) | ||||
|     - React-perflogger (= 0.71.1) | ||||
|     - RCT-Folly (= 2021.06.28.00-v2) | ||||
|     - React-Core/Default (= 0.69.8) | ||||
|     - React-Core/RCTWebSocket (= 0.69.8) | ||||
|     - React-cxxreact (= 0.69.8) | ||||
|     - React-jsi (= 0.69.8) | ||||
|     - React-jsiexecutor (= 0.69.8) | ||||
|     - React-jsinspector (= 0.69.8) | ||||
|     - React-perflogger (= 0.69.8) | ||||
|     - Yoga | ||||
|   - React-Core/RCTActionSheetHeaders (0.71.1): | ||||
|   - React-Core/RCTActionSheetHeaders (0.69.8): | ||||
|     - glog | ||||
|     - RCT-Folly (= 2021.07.22.00) | ||||
|     - RCT-Folly (= 2021.06.28.00-v2) | ||||
|     - React-Core/Default | ||||
|     - React-cxxreact (= 0.71.1) | ||||
|     - React-jsi (= 0.71.1) | ||||
|     - React-jsiexecutor (= 0.71.1) | ||||
|     - React-perflogger (= 0.71.1) | ||||
|     - React-cxxreact (= 0.69.8) | ||||
|     - React-jsi (= 0.69.8) | ||||
|     - React-jsiexecutor (= 0.69.8) | ||||
|     - React-perflogger (= 0.69.8) | ||||
|     - Yoga | ||||
|   - React-Core/RCTAnimationHeaders (0.71.1): | ||||
|   - React-Core/RCTAnimationHeaders (0.69.8): | ||||
|     - glog | ||||
|     - RCT-Folly (= 2021.07.22.00) | ||||
|     - RCT-Folly (= 2021.06.28.00-v2) | ||||
|     - React-Core/Default | ||||
|     - React-cxxreact (= 0.71.1) | ||||
|     - React-jsi (= 0.71.1) | ||||
|     - React-jsiexecutor (= 0.71.1) | ||||
|     - React-perflogger (= 0.71.1) | ||||
|     - React-cxxreact (= 0.69.8) | ||||
|     - React-jsi (= 0.69.8) | ||||
|     - React-jsiexecutor (= 0.69.8) | ||||
|     - React-perflogger (= 0.69.8) | ||||
|     - Yoga | ||||
|   - React-Core/RCTBlobHeaders (0.71.1): | ||||
|   - React-Core/RCTBlobHeaders (0.69.8): | ||||
|     - glog | ||||
|     - RCT-Folly (= 2021.07.22.00) | ||||
|     - RCT-Folly (= 2021.06.28.00-v2) | ||||
|     - React-Core/Default | ||||
|     - React-cxxreact (= 0.71.1) | ||||
|     - React-jsi (= 0.71.1) | ||||
|     - React-jsiexecutor (= 0.71.1) | ||||
|     - React-perflogger (= 0.71.1) | ||||
|     - React-cxxreact (= 0.69.8) | ||||
|     - React-jsi (= 0.69.8) | ||||
|     - React-jsiexecutor (= 0.69.8) | ||||
|     - React-perflogger (= 0.69.8) | ||||
|     - Yoga | ||||
|   - React-Core/RCTImageHeaders (0.71.1): | ||||
|   - React-Core/RCTImageHeaders (0.69.8): | ||||
|     - glog | ||||
|     - RCT-Folly (= 2021.07.22.00) | ||||
|     - RCT-Folly (= 2021.06.28.00-v2) | ||||
|     - React-Core/Default | ||||
|     - React-cxxreact (= 0.71.1) | ||||
|     - React-jsi (= 0.71.1) | ||||
|     - React-jsiexecutor (= 0.71.1) | ||||
|     - React-perflogger (= 0.71.1) | ||||
|     - React-cxxreact (= 0.69.8) | ||||
|     - React-jsi (= 0.69.8) | ||||
|     - React-jsiexecutor (= 0.69.8) | ||||
|     - React-perflogger (= 0.69.8) | ||||
|     - Yoga | ||||
|   - React-Core/RCTLinkingHeaders (0.71.1): | ||||
|   - React-Core/RCTLinkingHeaders (0.69.8): | ||||
|     - glog | ||||
|     - RCT-Folly (= 2021.07.22.00) | ||||
|     - RCT-Folly (= 2021.06.28.00-v2) | ||||
|     - React-Core/Default | ||||
|     - React-cxxreact (= 0.71.1) | ||||
|     - React-jsi (= 0.71.1) | ||||
|     - React-jsiexecutor (= 0.71.1) | ||||
|     - React-perflogger (= 0.71.1) | ||||
|     - React-cxxreact (= 0.69.8) | ||||
|     - React-jsi (= 0.69.8) | ||||
|     - React-jsiexecutor (= 0.69.8) | ||||
|     - React-perflogger (= 0.69.8) | ||||
|     - Yoga | ||||
|   - React-Core/RCTNetworkHeaders (0.71.1): | ||||
|   - React-Core/RCTNetworkHeaders (0.69.8): | ||||
|     - glog | ||||
|     - RCT-Folly (= 2021.07.22.00) | ||||
|     - RCT-Folly (= 2021.06.28.00-v2) | ||||
|     - React-Core/Default | ||||
|     - React-cxxreact (= 0.71.1) | ||||
|     - React-jsi (= 0.71.1) | ||||
|     - React-jsiexecutor (= 0.71.1) | ||||
|     - React-perflogger (= 0.71.1) | ||||
|     - React-cxxreact (= 0.69.8) | ||||
|     - React-jsi (= 0.69.8) | ||||
|     - React-jsiexecutor (= 0.69.8) | ||||
|     - React-perflogger (= 0.69.8) | ||||
|     - Yoga | ||||
|   - React-Core/RCTSettingsHeaders (0.71.1): | ||||
|   - React-Core/RCTSettingsHeaders (0.69.8): | ||||
|     - glog | ||||
|     - RCT-Folly (= 2021.07.22.00) | ||||
|     - RCT-Folly (= 2021.06.28.00-v2) | ||||
|     - React-Core/Default | ||||
|     - React-cxxreact (= 0.71.1) | ||||
|     - React-jsi (= 0.71.1) | ||||
|     - React-jsiexecutor (= 0.71.1) | ||||
|     - React-perflogger (= 0.71.1) | ||||
|     - React-cxxreact (= 0.69.8) | ||||
|     - React-jsi (= 0.69.8) | ||||
|     - React-jsiexecutor (= 0.69.8) | ||||
|     - React-perflogger (= 0.69.8) | ||||
|     - Yoga | ||||
|   - React-Core/RCTTextHeaders (0.71.1): | ||||
|   - React-Core/RCTTextHeaders (0.69.8): | ||||
|     - glog | ||||
|     - RCT-Folly (= 2021.07.22.00) | ||||
|     - RCT-Folly (= 2021.06.28.00-v2) | ||||
|     - React-Core/Default | ||||
|     - React-cxxreact (= 0.71.1) | ||||
|     - React-jsi (= 0.71.1) | ||||
|     - React-jsiexecutor (= 0.71.1) | ||||
|     - React-perflogger (= 0.71.1) | ||||
|     - React-cxxreact (= 0.69.8) | ||||
|     - React-jsi (= 0.69.8) | ||||
|     - React-jsiexecutor (= 0.69.8) | ||||
|     - React-perflogger (= 0.69.8) | ||||
|     - Yoga | ||||
|   - React-Core/RCTVibrationHeaders (0.71.1): | ||||
|   - React-Core/RCTVibrationHeaders (0.69.8): | ||||
|     - glog | ||||
|     - RCT-Folly (= 2021.07.22.00) | ||||
|     - RCT-Folly (= 2021.06.28.00-v2) | ||||
|     - React-Core/Default | ||||
|     - React-cxxreact (= 0.71.1) | ||||
|     - React-jsi (= 0.71.1) | ||||
|     - React-jsiexecutor (= 0.71.1) | ||||
|     - React-perflogger (= 0.71.1) | ||||
|     - React-cxxreact (= 0.69.8) | ||||
|     - React-jsi (= 0.69.8) | ||||
|     - React-jsiexecutor (= 0.69.8) | ||||
|     - React-perflogger (= 0.69.8) | ||||
|     - Yoga | ||||
|   - React-Core/RCTWebSocket (0.71.1): | ||||
|   - React-Core/RCTWebSocket (0.69.8): | ||||
|     - glog | ||||
|     - RCT-Folly (= 2021.07.22.00) | ||||
|     - React-Core/Default (= 0.71.1) | ||||
|     - React-cxxreact (= 0.71.1) | ||||
|     - React-jsi (= 0.71.1) | ||||
|     - React-jsiexecutor (= 0.71.1) | ||||
|     - React-perflogger (= 0.71.1) | ||||
|     - RCT-Folly (= 2021.06.28.00-v2) | ||||
|     - React-Core/Default (= 0.69.8) | ||||
|     - React-cxxreact (= 0.69.8) | ||||
|     - React-jsi (= 0.69.8) | ||||
|     - React-jsiexecutor (= 0.69.8) | ||||
|     - React-perflogger (= 0.69.8) | ||||
|     - Yoga | ||||
|   - React-CoreModules (0.71.1): | ||||
|     - RCT-Folly (= 2021.07.22.00) | ||||
|     - RCTTypeSafety (= 0.71.1) | ||||
|     - React-Codegen (= 0.71.1) | ||||
|     - React-Core/CoreModulesHeaders (= 0.71.1) | ||||
|     - React-jsi (= 0.71.1) | ||||
|     - React-RCTImage (= 0.71.1) | ||||
|     - ReactCommon/turbomodule/core (= 0.71.1) | ||||
|   - React-cxxreact (0.71.1): | ||||
|   - React-CoreModules (0.69.8): | ||||
|     - RCT-Folly (= 2021.06.28.00-v2) | ||||
|     - RCTTypeSafety (= 0.69.8) | ||||
|     - React-Codegen (= 0.69.8) | ||||
|     - React-Core/CoreModulesHeaders (= 0.69.8) | ||||
|     - React-jsi (= 0.69.8) | ||||
|     - React-RCTImage (= 0.69.8) | ||||
|     - ReactCommon/turbomodule/core (= 0.69.8) | ||||
|   - React-cxxreact (0.69.8): | ||||
|     - boost (= 1.76.0) | ||||
|     - DoubleConversion | ||||
|     - glog | ||||
|     - RCT-Folly (= 2021.07.22.00) | ||||
|     - React-callinvoker (= 0.71.1) | ||||
|     - React-jsi (= 0.71.1) | ||||
|     - React-jsinspector (= 0.71.1) | ||||
|     - React-logger (= 0.71.1) | ||||
|     - React-perflogger (= 0.71.1) | ||||
|     - React-runtimeexecutor (= 0.71.1) | ||||
|   - React-hermes (0.71.1): | ||||
|     - DoubleConversion | ||||
|     - glog | ||||
|     - hermes-engine | ||||
|     - RCT-Folly (= 2021.07.22.00) | ||||
|     - RCT-Folly/Futures (= 2021.07.22.00) | ||||
|     - React-cxxreact (= 0.71.1) | ||||
|     - React-jsiexecutor (= 0.71.1) | ||||
|     - React-jsinspector (= 0.71.1) | ||||
|     - React-perflogger (= 0.71.1) | ||||
|   - React-jsi (0.71.1): | ||||
|     - RCT-Folly (= 2021.06.28.00-v2) | ||||
|     - React-callinvoker (= 0.69.8) | ||||
|     - React-jsi (= 0.69.8) | ||||
|     - React-jsinspector (= 0.69.8) | ||||
|     - React-logger (= 0.69.8) | ||||
|     - React-perflogger (= 0.69.8) | ||||
|     - React-runtimeexecutor (= 0.69.8) | ||||
|   - React-jsi (0.69.8): | ||||
|     - boost (= 1.76.0) | ||||
|     - DoubleConversion | ||||
|     - glog | ||||
|     - hermes-engine | ||||
|     - RCT-Folly (= 2021.07.22.00) | ||||
|   - React-jsiexecutor (0.71.1): | ||||
|     - RCT-Folly (= 2021.06.28.00-v2) | ||||
|     - React-jsi/Default (= 0.69.8) | ||||
|   - React-jsi/Default (0.69.8): | ||||
|     - boost (= 1.76.0) | ||||
|     - DoubleConversion | ||||
|     - glog | ||||
|     - RCT-Folly (= 2021.07.22.00) | ||||
|     - React-cxxreact (= 0.71.1) | ||||
|     - React-jsi (= 0.71.1) | ||||
|     - React-perflogger (= 0.71.1) | ||||
|   - React-jsinspector (0.71.1) | ||||
|   - React-logger (0.71.1): | ||||
|     - RCT-Folly (= 2021.06.28.00-v2) | ||||
|   - React-jsiexecutor (0.69.8): | ||||
|     - DoubleConversion | ||||
|     - glog | ||||
|     - RCT-Folly (= 2021.06.28.00-v2) | ||||
|     - React-cxxreact (= 0.69.8) | ||||
|     - React-jsi (= 0.69.8) | ||||
|     - React-perflogger (= 0.69.8) | ||||
|   - React-jsinspector (0.69.8) | ||||
|   - React-logger (0.69.8): | ||||
|     - glog | ||||
|   - react-native-update (9.0.0): | ||||
|     - React | ||||
| @@ -311,87 +298,72 @@ PODS: | ||||
|     - React | ||||
|     - React-Core | ||||
|     - SSZipArchive | ||||
|   - React-perflogger (0.71.1) | ||||
|   - React-RCTActionSheet (0.71.1): | ||||
|     - React-Core/RCTActionSheetHeaders (= 0.71.1) | ||||
|   - React-RCTAnimation (0.71.1): | ||||
|     - RCT-Folly (= 2021.07.22.00) | ||||
|     - RCTTypeSafety (= 0.71.1) | ||||
|     - React-Codegen (= 0.71.1) | ||||
|     - React-Core/RCTAnimationHeaders (= 0.71.1) | ||||
|     - React-jsi (= 0.71.1) | ||||
|     - ReactCommon/turbomodule/core (= 0.71.1) | ||||
|   - React-RCTAppDelegate (0.71.1): | ||||
|     - RCT-Folly | ||||
|     - RCTRequired | ||||
|     - RCTTypeSafety | ||||
|     - React-Core | ||||
|     - ReactCommon/turbomodule/core | ||||
|   - React-RCTBlob (0.71.1): | ||||
|     - RCT-Folly (= 2021.07.22.00) | ||||
|     - React-Codegen (= 0.71.1) | ||||
|     - React-Core/RCTBlobHeaders (= 0.71.1) | ||||
|     - React-Core/RCTWebSocket (= 0.71.1) | ||||
|     - React-jsi (= 0.71.1) | ||||
|     - React-RCTNetwork (= 0.71.1) | ||||
|     - ReactCommon/turbomodule/core (= 0.71.1) | ||||
|   - React-RCTImage (0.71.1): | ||||
|     - RCT-Folly (= 2021.07.22.00) | ||||
|     - RCTTypeSafety (= 0.71.1) | ||||
|     - React-Codegen (= 0.71.1) | ||||
|     - React-Core/RCTImageHeaders (= 0.71.1) | ||||
|     - React-jsi (= 0.71.1) | ||||
|     - React-RCTNetwork (= 0.71.1) | ||||
|     - ReactCommon/turbomodule/core (= 0.71.1) | ||||
|   - React-RCTLinking (0.71.1): | ||||
|     - React-Codegen (= 0.71.1) | ||||
|     - React-Core/RCTLinkingHeaders (= 0.71.1) | ||||
|     - React-jsi (= 0.71.1) | ||||
|     - ReactCommon/turbomodule/core (= 0.71.1) | ||||
|   - React-RCTNetwork (0.71.1): | ||||
|     - RCT-Folly (= 2021.07.22.00) | ||||
|     - RCTTypeSafety (= 0.71.1) | ||||
|     - React-Codegen (= 0.71.1) | ||||
|     - React-Core/RCTNetworkHeaders (= 0.71.1) | ||||
|     - React-jsi (= 0.71.1) | ||||
|     - ReactCommon/turbomodule/core (= 0.71.1) | ||||
|   - React-RCTSettings (0.71.1): | ||||
|     - RCT-Folly (= 2021.07.22.00) | ||||
|     - RCTTypeSafety (= 0.71.1) | ||||
|     - React-Codegen (= 0.71.1) | ||||
|     - React-Core/RCTSettingsHeaders (= 0.71.1) | ||||
|     - React-jsi (= 0.71.1) | ||||
|     - ReactCommon/turbomodule/core (= 0.71.1) | ||||
|   - React-RCTText (0.71.1): | ||||
|     - React-Core/RCTTextHeaders (= 0.71.1) | ||||
|   - React-RCTVibration (0.71.1): | ||||
|     - RCT-Folly (= 2021.07.22.00) | ||||
|     - React-Codegen (= 0.71.1) | ||||
|     - React-Core/RCTVibrationHeaders (= 0.71.1) | ||||
|     - React-jsi (= 0.71.1) | ||||
|     - ReactCommon/turbomodule/core (= 0.71.1) | ||||
|   - React-runtimeexecutor (0.71.1): | ||||
|     - React-jsi (= 0.71.1) | ||||
|   - ReactCommon/turbomodule/bridging (0.71.1): | ||||
|   - React-perflogger (0.69.8) | ||||
|   - React-RCTActionSheet (0.69.8): | ||||
|     - React-Core/RCTActionSheetHeaders (= 0.69.8) | ||||
|   - React-RCTAnimation (0.69.8): | ||||
|     - RCT-Folly (= 2021.06.28.00-v2) | ||||
|     - RCTTypeSafety (= 0.69.8) | ||||
|     - React-Codegen (= 0.69.8) | ||||
|     - React-Core/RCTAnimationHeaders (= 0.69.8) | ||||
|     - React-jsi (= 0.69.8) | ||||
|     - ReactCommon/turbomodule/core (= 0.69.8) | ||||
|   - React-RCTBlob (0.69.8): | ||||
|     - RCT-Folly (= 2021.06.28.00-v2) | ||||
|     - React-Codegen (= 0.69.8) | ||||
|     - React-Core/RCTBlobHeaders (= 0.69.8) | ||||
|     - React-Core/RCTWebSocket (= 0.69.8) | ||||
|     - React-jsi (= 0.69.8) | ||||
|     - React-RCTNetwork (= 0.69.8) | ||||
|     - ReactCommon/turbomodule/core (= 0.69.8) | ||||
|   - React-RCTImage (0.69.8): | ||||
|     - RCT-Folly (= 2021.06.28.00-v2) | ||||
|     - RCTTypeSafety (= 0.69.8) | ||||
|     - React-Codegen (= 0.69.8) | ||||
|     - React-Core/RCTImageHeaders (= 0.69.8) | ||||
|     - React-jsi (= 0.69.8) | ||||
|     - React-RCTNetwork (= 0.69.8) | ||||
|     - ReactCommon/turbomodule/core (= 0.69.8) | ||||
|   - React-RCTLinking (0.69.8): | ||||
|     - React-Codegen (= 0.69.8) | ||||
|     - React-Core/RCTLinkingHeaders (= 0.69.8) | ||||
|     - React-jsi (= 0.69.8) | ||||
|     - ReactCommon/turbomodule/core (= 0.69.8) | ||||
|   - React-RCTNetwork (0.69.8): | ||||
|     - RCT-Folly (= 2021.06.28.00-v2) | ||||
|     - RCTTypeSafety (= 0.69.8) | ||||
|     - React-Codegen (= 0.69.8) | ||||
|     - React-Core/RCTNetworkHeaders (= 0.69.8) | ||||
|     - React-jsi (= 0.69.8) | ||||
|     - ReactCommon/turbomodule/core (= 0.69.8) | ||||
|   - React-RCTSettings (0.69.8): | ||||
|     - RCT-Folly (= 2021.06.28.00-v2) | ||||
|     - RCTTypeSafety (= 0.69.8) | ||||
|     - React-Codegen (= 0.69.8) | ||||
|     - React-Core/RCTSettingsHeaders (= 0.69.8) | ||||
|     - React-jsi (= 0.69.8) | ||||
|     - ReactCommon/turbomodule/core (= 0.69.8) | ||||
|   - React-RCTText (0.69.8): | ||||
|     - React-Core/RCTTextHeaders (= 0.69.8) | ||||
|   - React-RCTVibration (0.69.8): | ||||
|     - RCT-Folly (= 2021.06.28.00-v2) | ||||
|     - React-Codegen (= 0.69.8) | ||||
|     - React-Core/RCTVibrationHeaders (= 0.69.8) | ||||
|     - React-jsi (= 0.69.8) | ||||
|     - ReactCommon/turbomodule/core (= 0.69.8) | ||||
|   - React-runtimeexecutor (0.69.8): | ||||
|     - React-jsi (= 0.69.8) | ||||
|   - ReactCommon/turbomodule/core (0.69.8): | ||||
|     - DoubleConversion | ||||
|     - glog | ||||
|     - RCT-Folly (= 2021.07.22.00) | ||||
|     - React-callinvoker (= 0.71.1) | ||||
|     - React-Core (= 0.71.1) | ||||
|     - React-cxxreact (= 0.71.1) | ||||
|     - React-jsi (= 0.71.1) | ||||
|     - React-logger (= 0.71.1) | ||||
|     - React-perflogger (= 0.71.1) | ||||
|   - ReactCommon/turbomodule/core (0.71.1): | ||||
|     - DoubleConversion | ||||
|     - glog | ||||
|     - RCT-Folly (= 2021.07.22.00) | ||||
|     - React-callinvoker (= 0.71.1) | ||||
|     - React-Core (= 0.71.1) | ||||
|     - React-cxxreact (= 0.71.1) | ||||
|     - React-jsi (= 0.71.1) | ||||
|     - React-logger (= 0.71.1) | ||||
|     - React-perflogger (= 0.71.1) | ||||
|     - RCT-Folly (= 2021.06.28.00-v2) | ||||
|     - React-bridging (= 0.69.8) | ||||
|     - React-callinvoker (= 0.69.8) | ||||
|     - React-Core (= 0.69.8) | ||||
|     - React-cxxreact (= 0.69.8) | ||||
|     - React-jsi (= 0.69.8) | ||||
|     - React-logger (= 0.69.8) | ||||
|     - React-perflogger (= 0.69.8) | ||||
|   - SocketRocket (0.6.0) | ||||
|   - SSZipArchive (2.4.3) | ||||
|   - Yoga (1.14.0) | ||||
| @@ -425,13 +397,12 @@ DEPENDENCIES: | ||||
|   - FlipperKit/FlipperKitUserDefaultsPlugin (= 0.125.0) | ||||
|   - FlipperKit/SKIOSNetworkPlugin (= 0.125.0) | ||||
|   - glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`) | ||||
|   - hermes-engine (from `../node_modules/react-native/sdks/hermes-engine/hermes-engine.podspec`) | ||||
|   - libevent (~> 2.1.12) | ||||
|   - OpenSSL-Universal (= 1.1.1100) | ||||
|   - RCT-Folly (from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`) | ||||
|   - RCTRequired (from `../node_modules/react-native/Libraries/RCTRequired`) | ||||
|   - RCTTypeSafety (from `../node_modules/react-native/Libraries/TypeSafety`) | ||||
|   - React (from `../node_modules/react-native/`) | ||||
|   - React-bridging (from `../node_modules/react-native/ReactCommon`) | ||||
|   - React-callinvoker (from `../node_modules/react-native/ReactCommon/callinvoker`) | ||||
|   - React-Codegen (from `build/generated/ios`) | ||||
|   - React-Core (from `../node_modules/react-native/`) | ||||
| @@ -439,7 +410,6 @@ DEPENDENCIES: | ||||
|   - React-Core/RCTWebSocket (from `../node_modules/react-native/`) | ||||
|   - React-CoreModules (from `../node_modules/react-native/React/CoreModules`) | ||||
|   - React-cxxreact (from `../node_modules/react-native/ReactCommon/cxxreact`) | ||||
|   - React-hermes (from `../node_modules/react-native/ReactCommon/hermes`) | ||||
|   - React-jsi (from `../node_modules/react-native/ReactCommon/jsi`) | ||||
|   - React-jsiexecutor (from `../node_modules/react-native/ReactCommon/jsiexecutor`) | ||||
|   - React-jsinspector (from `../node_modules/react-native/ReactCommon/jsinspector`) | ||||
| @@ -448,7 +418,6 @@ DEPENDENCIES: | ||||
|   - React-perflogger (from `../node_modules/react-native/ReactCommon/reactperflogger`) | ||||
|   - React-RCTActionSheet (from `../node_modules/react-native/Libraries/ActionSheetIOS`) | ||||
|   - React-RCTAnimation (from `../node_modules/react-native/Libraries/NativeAnimation`) | ||||
|   - React-RCTAppDelegate (from `../node_modules/react-native/Libraries/AppDelegate`) | ||||
|   - React-RCTBlob (from `../node_modules/react-native/Libraries/Blob`) | ||||
|   - React-RCTImage (from `../node_modules/react-native/Libraries/Image`) | ||||
|   - React-RCTLinking (from `../node_modules/react-native/Libraries/LinkingIOS`) | ||||
| @@ -490,8 +459,6 @@ EXTERNAL SOURCES: | ||||
|     :path: "../node_modules/react-native/React/FBReactNativeSpec" | ||||
|   glog: | ||||
|     :podspec: "../node_modules/react-native/third-party-podspecs/glog.podspec" | ||||
|   hermes-engine: | ||||
|     :podspec: "../node_modules/react-native/sdks/hermes-engine/hermes-engine.podspec" | ||||
|   RCT-Folly: | ||||
|     :podspec: "../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec" | ||||
|   RCTRequired: | ||||
| @@ -500,6 +467,8 @@ EXTERNAL SOURCES: | ||||
|     :path: "../node_modules/react-native/Libraries/TypeSafety" | ||||
|   React: | ||||
|     :path: "../node_modules/react-native/" | ||||
|   React-bridging: | ||||
|     :path: "../node_modules/react-native/ReactCommon" | ||||
|   React-callinvoker: | ||||
|     :path: "../node_modules/react-native/ReactCommon/callinvoker" | ||||
|   React-Codegen: | ||||
| @@ -510,8 +479,6 @@ EXTERNAL SOURCES: | ||||
|     :path: "../node_modules/react-native/React/CoreModules" | ||||
|   React-cxxreact: | ||||
|     :path: "../node_modules/react-native/ReactCommon/cxxreact" | ||||
|   React-hermes: | ||||
|     :path: "../node_modules/react-native/ReactCommon/hermes" | ||||
|   React-jsi: | ||||
|     :path: "../node_modules/react-native/ReactCommon/jsi" | ||||
|   React-jsiexecutor: | ||||
| @@ -528,8 +495,6 @@ EXTERNAL SOURCES: | ||||
|     :path: "../node_modules/react-native/Libraries/ActionSheetIOS" | ||||
|   React-RCTAnimation: | ||||
|     :path: "../node_modules/react-native/Libraries/NativeAnimation" | ||||
|   React-RCTAppDelegate: | ||||
|     :path: "../node_modules/react-native/Libraries/AppDelegate" | ||||
|   React-RCTBlob: | ||||
|     :path: "../node_modules/react-native/Libraries/Blob" | ||||
|   React-RCTImage: | ||||
| @@ -552,11 +517,11 @@ EXTERNAL SOURCES: | ||||
|     :path: "../node_modules/react-native/ReactCommon/yoga" | ||||
|  | ||||
| SPEC CHECKSUMS: | ||||
|   boost: 57d2868c099736d80fcd648bf211b4431e51a558 | ||||
|   boost: a7c83b31436843459a1961bfd74b96033dc77234 | ||||
|   CocoaAsyncSocket: 065fd1e645c7abab64f7a6a2007a48038fdc6a99 | ||||
|   DoubleConversion: 5189b271737e1565bdce30deb4a08d647e3f5f54 | ||||
|   FBLazyVector: ad72713385db5289b19f1ead07e8e4aa26dcb01d | ||||
|   FBReactNativeSpec: df2602c11e33d310433496e28a48b4b2be652a61 | ||||
|   FBLazyVector: c7b6997d41fffaaaf4d18c82bc93885df731e2d0 | ||||
|   FBReactNativeSpec: b1217c558a3ae84c2057d9c2ddce88af21379a68 | ||||
|   Flipper: 26fc4b7382499f1281eb8cb921e5c3ad6de91fe0 | ||||
|   Flipper-Boost-iOSX: fd1e2b8cbef7e662a122412d7ac5f5bea715403c | ||||
|   Flipper-DoubleConversion: 2dc99b02f658daf147069aad9dbd29d8feb06d30 | ||||
| @@ -567,43 +532,41 @@ SPEC CHECKSUMS: | ||||
|   Flipper-RSocket: d9d9ade67cbecf6ac10730304bf5607266dd2541 | ||||
|   FlipperKit: cbdee19bdd4e7f05472a66ce290f1b729ba3cb86 | ||||
|   fmt: ff9d55029c625d3757ed641535fd4a75fedc7ce9 | ||||
|   glog: 04b94705f318337d7ead9e6d17c019bd9b1f6b1b | ||||
|   hermes-engine: 922ccd744f50d9bfde09e9677bf0f3b562ea5fb9 | ||||
|   glog: 3d02b25ca00c2d456734d0bcff864cbc62f6ae1a | ||||
|   libevent: 4049cae6c81cdb3654a443be001fb9bdceff7913 | ||||
|   OpenSSL-Universal: ebc357f1e6bc71fa463ccb2fe676756aff50e88c | ||||
|   RCT-Folly: 424b8c9a7a0b9ab2886ffe9c3b041ef628fd4fb1 | ||||
|   RCTRequired: fd4d923b964658aa0c4091a32c8b2004c6d9e3a6 | ||||
|   RCTTypeSafety: c276d85975bde3d8448907235c70bf0da257adfd | ||||
|   React: e481a67971af1ce9639c9f746b753dd0e84ca108 | ||||
|   React-callinvoker: 1051c04a94fa9d243786b86380606bad701a3b31 | ||||
|   React-Codegen: 14b1e716d361d5ad95e0ce1a338f3fa0733a98b5 | ||||
|   React-Core: 698fc3baecb80d511d987475a16d036cec6d287f | ||||
|   React-CoreModules: 59245305f41ff0adfeac334acc0594dea4585a7c | ||||
|   React-cxxreact: 49accd2954b0f532805dbcd1918fa6962f32f247 | ||||
|   React-hermes: d068733294581a085e95b6024e8d951b005e26d3 | ||||
|   React-jsi: 122b9bce14f4c6c7cb58f28f87912cfe091885fa | ||||
|   React-jsiexecutor: 60cf272aababc5212410e4249d17cea14fc36caa | ||||
|   React-jsinspector: ff56004b0c974b688a6548c156d5830ad751ae07 | ||||
|   React-logger: 60a0b5f8bed667ecf9e24fecca1f30d125de6d75 | ||||
|   RCT-Folly: b9d9fe1fc70114b751c076104e52f3b1b5e5a95a | ||||
|   RCTRequired: 344fd6fb3c669da87e91294be7ee0199bf35c701 | ||||
|   RCTTypeSafety: ca608cc1d3a81229632bc0c1136b698b9337c1d8 | ||||
|   React: 1d76bae8d73113b202224075f0b0bd546996b328 | ||||
|   React-bridging: 2eb62dc8ba31194d285705cb62e24a15753aeaec | ||||
|   React-callinvoker: f3cfb045a0fb185445542555d88b6acf385cbedc | ||||
|   React-Codegen: 808e2d4d4201583ac89fb40d6862aaa26cb88999 | ||||
|   React-Core: 82c5392ab182252ce4ffbc16794e0e38b32ea9a1 | ||||
|   React-CoreModules: 4e891a6c0a59b01ca8406e041c7e49ab12e51d48 | ||||
|   React-cxxreact: 0dc4ba3d97839bd36d422592ddb0bdfa9940a990 | ||||
|   React-jsi: dcd936ff5e580dba0d8644ac9ee4ca47bb166df1 | ||||
|   React-jsiexecutor: 2cf8ea3753afb81dfcc386613dbbb0b5d155fb34 | ||||
|   React-jsinspector: 0eda09e9cf22bbb5dbb1d23143b03a31acf37d67 | ||||
|   React-logger: 5997ab008583826c10ffe4e1ff990363e975639d | ||||
|   react-native-update: 2b5ef06bfeaa668614c8deb7ec4d20dcf56f9278 | ||||
|   React-perflogger: ec8eef2a8f03ecfa6361c2c5fb9197ef4a29cc85 | ||||
|   React-RCTActionSheet: a0c023b86cf4c862fa9c4eb0f6f91fbe878fb2de | ||||
|   React-RCTAnimation: 168d53718c74153947c0109f55900faa64d79439 | ||||
|   React-RCTAppDelegate: a8efbab128b34aa07a9491c85a41401210b1bec5 | ||||
|   React-RCTBlob: 9bcbfc893bfda9f6b2eb016329d38c0f6366d31a | ||||
|   React-RCTImage: 3fcd4570b4b0f1ac2f4b4b6308dba33ce66c5b50 | ||||
|   React-RCTLinking: 1edb8e1bb3fc39bf9e13c63d6aaaa3f0c3d18683 | ||||
|   React-RCTNetwork: 500a79e0e0f67678077df727fabba87a55c043e1 | ||||
|   React-RCTSettings: cc4414eb84ad756d619076c3999fecbf12896d6f | ||||
|   React-RCTText: 2a34261f3da6e34f47a62154def657546ebfa5e1 | ||||
|   React-RCTVibration: 49d531ec8498e0afa2c9b22c2205784372e3d4f3 | ||||
|   React-runtimeexecutor: 311feb67600774723fe10eb8801d3138cae9ad67 | ||||
|   ReactCommon: 03be76588338a27a88d103b35c3c44a3fd43d136 | ||||
|   React-perflogger: ad1416a715d86b32f456e5d0aed99c3b52f1de37 | ||||
|   React-RCTActionSheet: cbf7c6a953982562418ee72a1084ff7b9447b558 | ||||
|   React-RCTAnimation: 33df3e25824dd7313edec28dded2745542f9352b | ||||
|   React-RCTBlob: 2434411df0d2d0e6567445a995f6678e2cc1d8e3 | ||||
|   React-RCTImage: 0b912ab4255ea5ec903d06c77f5a23cea9e9c988 | ||||
|   React-RCTLinking: eb239c24f4f5fe79c57a2fedf45f34f40481dda3 | ||||
|   React-RCTNetwork: db173a6c35c1212909944920a5aa03eb8b7b9cf4 | ||||
|   React-RCTSettings: 687fa7538972467d80cd7729b6f86598e1369813 | ||||
|   React-RCTText: 605ef414f8e72bd111945d3612cd0518de612b24 | ||||
|   React-RCTVibration: 5462287ee85304ba1a00474665ab292e63a41663 | ||||
|   React-runtimeexecutor: 9df680f18497367bcf5c15b6b6406c0f2dfa2b6a | ||||
|   ReactCommon: c10f046f3ef8561e7c8e7e9b9dae2ecc9ffc48ef | ||||
|   SocketRocket: fccef3f9c5cedea1353a9ef6ada904fde10d6608 | ||||
|   SSZipArchive: fe6a26b2a54d5a0890f2567b5cc6de5caa600aef | ||||
|   Yoga: 921eb014669cf9c718ada68b08d362517d564e0c | ||||
|   Yoga: d3820731e0ca3a4933f061ad29defaf7726e3251 | ||||
|   YogaKit: f782866e155069a2cca2517aafea43200b01fd5a | ||||
|  | ||||
| PODFILE CHECKSUM: 3a4760d7ec3a6ffc7497e8723f29129170c8dc0d | ||||
| PODFILE CHECKSUM: 618d17df10f335f1d113daac849a7997894646b2 | ||||
|  | ||||
| COCOAPODS: 1.11.3 | ||||
|   | ||||
										
											Binary file not shown.
										
									
								
							| Before Width: | Height: | Size: 696 B | 
										
											Binary file not shown.
										
									
								
							| Before Width: | Height: | Size: 1.2 KiB | 
										
											Binary file not shown.
										
									
								
							| Before Width: | Height: | Size: 1.8 KiB | 
| @@ -1,6 +0,0 @@ | ||||
| #import <RCTAppDelegate.h> | ||||
| #import <UIKit/UIKit.h> | ||||
|  | ||||
| @interface AppDelegate : RCTAppDelegate | ||||
|  | ||||
| @end | ||||
| @@ -1,38 +0,0 @@ | ||||
| #import "AppDelegate.h" | ||||
|  | ||||
| #import <React/RCTBundleURLProvider.h> | ||||
| #import "RCTPushy.h" | ||||
|  | ||||
| @implementation AppDelegate | ||||
|  | ||||
| - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions | ||||
| { | ||||
|   self.moduleName = @"testHotupdate"; | ||||
|   // You can add your custom initial props in the dictionary below. | ||||
|   // They will be passed down to the ViewController used by React Native. | ||||
|   self.initialProps = @{}; | ||||
|  | ||||
|   return [super application:application didFinishLaunchingWithOptions:launchOptions]; | ||||
| } | ||||
|  | ||||
| - (NSURL *)sourceURLForBridge:(RCTBridge *)bridge | ||||
| { | ||||
| #if DEBUG | ||||
|   return [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index"]; | ||||
| #else | ||||
|   // 非DEBUG情况下替换为热更新bundle | ||||
|   return [RCTPushy bundleURL]; | ||||
| #endif | ||||
| } | ||||
|  | ||||
| /// This method controls whether the `concurrentRoot`feature of React18 is turned on or off. | ||||
| /// | ||||
| /// @see: https://reactjs.org/blog/2022/03/29/react-v18.html | ||||
| /// @note: This requires to be rendering on Fabric (i.e. on the New Architecture). | ||||
| /// @return: `true` if the `concurrentRoot` feature is enabled. Otherwise, it returns `false`. | ||||
| - (BOOL)concurrentRootEnabled | ||||
| { | ||||
|   return true; | ||||
| } | ||||
|  | ||||
| @end | ||||
| @@ -1,5 +1,5 @@ | ||||
| { | ||||
|   "name": "testhotupdate", | ||||
|   "name": "testHotUpdate", | ||||
|   "version": "0.0.1", | ||||
|   "private": true, | ||||
|   "scripts": { | ||||
| @@ -7,35 +7,27 @@ | ||||
|     "ios": "react-native run-ios", | ||||
|     "start": "react-native start", | ||||
|     "test": "jest", | ||||
|     "lint": "eslint .", | ||||
|     "apk": "(cd android && ./gradlew aR)" | ||||
|     "test:e2e": "detox test --configuration android.emu.debug", | ||||
|     "lint": "eslint ." | ||||
|   }, | ||||
|   "dependencies": { | ||||
|     "react": "18.2.0", | ||||
|     "react-native": "0.71.1", | ||||
|     "patch-package": "^6.5.1", | ||||
|     "react": "18.0.0", | ||||
|     "react-native": "0.69.8", | ||||
|     "react-native-update": "link:../.." | ||||
|   }, | ||||
|   "devDependencies": { | ||||
|     "@babel/core": "^7.20.0", | ||||
|     "@babel/preset-env": "^7.20.0", | ||||
|     "@babel/runtime": "^7.20.0", | ||||
|     "@react-native-community/eslint-config": "^3.0.0", | ||||
|     "@tsconfig/react-native": "^2.0.2", | ||||
|     "@types/jest": "^29.2.1", | ||||
|     "@types/react": "^18.0.24", | ||||
|     "@types/react-test-renderer": "^18.0.0", | ||||
|     "babel-jest": "^29.2.1", | ||||
|     "@babel/core": "^7.21.0", | ||||
|     "@babel/runtime": "^7.21.0", | ||||
|     "@react-native-community/eslint-config": "^3.2.0", | ||||
|     "babel-jest": "^29.5.0", | ||||
|     "detox": "^20.5.0", | ||||
|     "eslint": "^8.19.0", | ||||
|     "fs-extra": "^11.1.0", | ||||
|     "jest": "^29.2.1", | ||||
|     "metro-react-native-babel-preset": "0.73.7", | ||||
|     "prettier": "^2.4.1", | ||||
|     "eslint": "^8.36.0", | ||||
|     "jest": "^29.5.0", | ||||
|     "metro-react-native-babel-preset": "^0.76.0", | ||||
|     "prettier": "^2.8.4", | ||||
|     "react-test-renderer": "18.2.0", | ||||
|     "ts-jest": "^29.0.5", | ||||
|     "typescript": "^4.9.5", | ||||
|     "nyc": "^15.0.1", | ||||
|     "pod-install": "^0.1.37" | ||||
|     "ts-jest": "^29.0.5" | ||||
|   }, | ||||
|   "jest": { | ||||
|     "preset": "react-native" | ||||
|   | ||||
							
								
								
									
										13
									
								
								Example/testHotUpdate/patches/react-native+0.69.8.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								Example/testHotUpdate/patches/react-native+0.69.8.patch
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,13 @@ | ||||
| diff --git a/node_modules/react-native/scripts/react_native_pods.rb b/node_modules/react-native/scripts/react_native_pods.rb | ||||
| index e7c59ad..1461d45 100644 | ||||
| --- a/node_modules/react-native/scripts/react_native_pods.rb | ||||
| +++ b/node_modules/react-native/scripts/react_native_pods.rb | ||||
| @@ -420,7 +420,7 @@ def get_react_codegen_spec(options={}) | ||||
|      'source' => { :git => '' }, | ||||
|      'header_mappings_dir' => './', | ||||
|      'platforms' => { | ||||
| -      'ios' => '11.0', | ||||
| +      'ios' => '12.0', | ||||
|      }, | ||||
|      'source_files' => "**/*.{h,mm,cpp}", | ||||
|      'pod_target_xcconfig' => { "HEADER_SEARCH_PATHS" => | ||||
| @@ -1,10 +0,0 @@ | ||||
| #!/usr/bin/env bash | ||||
|  | ||||
| trap 'kill $RN_PID' EXIT | ||||
|  | ||||
| PLATFORM=$1 | ||||
|  | ||||
| kill -9 $(lsof -i :8081 | awk '{print $2}' | tail -n +2) & npm start & | ||||
| RN_PID=$! | ||||
| sleep 2 && curl>/dev/null http://localhost:8081/index.bundle | ||||
| wait $RN_PID | ||||
| @@ -3,14 +3,12 @@ | ||||
| import {useCallback, useMemo, useState} from 'react'; | ||||
| import { | ||||
|   ActivityIndicator, | ||||
|   Alert, | ||||
|   Modal, | ||||
|   TextInput, | ||||
|   Button, | ||||
|   StyleSheet, | ||||
|   SafeAreaView, | ||||
|   Text, | ||||
|   ScrollView, | ||||
|   View, | ||||
|   TouchableOpacity, | ||||
| } from 'react-native'; | ||||
| @@ -19,11 +17,31 @@ import {PushyModule} from 'react-native-update'; | ||||
| const Hash = '9D5CE6EBA420717BE7E7D308B11F8207681B066C951D68F3994D19828F342474'; | ||||
| const UUID = '00000000-0000-0000-0000-000000000000'; | ||||
| const DownloadUrl = | ||||
|   'http://cos.pgyer.com/697913e94d7441f20c686e2b0996a1aa.apk?sign=363b035b7ef52c199c268abfacee3712&t=1678603669&response-content-disposition=attachment%3Bfilename%3DtestHotupdate_1.0.apk'; | ||||
|   'http://cos.pgyer.com/697913e94d7441f20c686e2b0996a1aa.apk?sign=7a8f11b1df82cba45c8ac30b1acec88c&t=1680404102&response-content-disposition=attachment%3Bfilename%3DtestHotupdate_1.0.apk'; | ||||
|  | ||||
|  | ||||
|   const CustomDialog = ({title, visible, onConfirm}) => { | ||||
|     if (!visible) { | ||||
|       return null; | ||||
|     } | ||||
|    | ||||
|     return ( | ||||
|       <View style={styles.overlay}> | ||||
|         <View style={styles.dialog}> | ||||
|           <Text style={styles.title}>{title}</Text> | ||||
|           <TouchableOpacity testID='done' style={styles.button} onLongPress={onConfirm}> | ||||
|             <Text style={styles.buttonText}>确认</Text> | ||||
|           </TouchableOpacity> | ||||
|         </View> | ||||
|       </View> | ||||
|     ); | ||||
|   }; | ||||
| export default function TestConsole({visible}) { | ||||
|   const [text, setText] = useState(''); | ||||
|   const [running, setRunning] = useState(false); | ||||
|   const [options, setOptions] = useState(); | ||||
|   const [alertVisible, setAlertVisible] = useState(false); | ||||
|   const [alertMsg, setAlertMsg] = useState(''); | ||||
|   const NativeTestMethod = useMemo(() => { | ||||
|     return [ | ||||
|       { | ||||
| @@ -71,6 +89,7 @@ export default function TestConsole({visible}) { | ||||
|         name: 'markSuccess', | ||||
|         invoke: () => { | ||||
|           setText('markSuccess'); | ||||
|           setOptions(undefined); | ||||
|         }, | ||||
|       }, | ||||
|       { | ||||
| @@ -111,11 +130,12 @@ export default function TestConsole({visible}) { | ||||
|         <TouchableOpacity | ||||
|           key={i} | ||||
|           testID={NativeTestMethod[i].name} | ||||
|           onPress={() => { | ||||
|           onLongPress={() => { | ||||
|             NativeTestMethod[i].invoke(); | ||||
|           }} | ||||
|           style={{width: 10, height: 10}} | ||||
|         />, | ||||
|         > | ||||
|         <Text>{NativeTestMethod[i].name}</Text> | ||||
|         </TouchableOpacity>, | ||||
|       ); | ||||
|     } | ||||
|     return <View>{views}</View>; | ||||
| @@ -143,10 +163,11 @@ export default function TestConsole({visible}) { | ||||
|           onChangeText={setText} | ||||
|         /> | ||||
|         {running && <ActivityIndicator />} | ||||
|         <Button | ||||
|           title="执行" | ||||
|         <TouchableOpacity | ||||
|         style={{backgroundColor:'rgb(0,140,237)', justifyContent: 'center', | ||||
|         alignItems: 'center',paddingTop:10,paddingBottom:10,marginBottom:5}} | ||||
|           testID="submit" | ||||
|           onPress={async () => { | ||||
|           onLongPress={async () => { | ||||
|             setRunning(true); | ||||
|             try { | ||||
|               const inputs = text.split('\n'); | ||||
| @@ -167,19 +188,65 @@ export default function TestConsole({visible}) { | ||||
|                 } | ||||
|                 await PushyModule[methodName](...params); | ||||
|               } | ||||
|               Alert.alert('done'); | ||||
|               setAlertVisible(true); | ||||
|               setAlertMsg('done'); | ||||
|             } catch (e) { | ||||
|               Alert.alert(e.message); | ||||
|               setAlertVisible(true); | ||||
|               setAlertMsg(e.message); | ||||
|             } | ||||
|             setRunning(false); | ||||
|           }} | ||||
|         /> | ||||
|         <ScrollView style={{marginTop: 15}}> | ||||
|         > | ||||
|           <Text style={{color:'white'}}>执行</Text> | ||||
|         </TouchableOpacity> | ||||
|          <Button title="重置" onPress={() => setText('')} /> | ||||
|  | ||||
|           {renderTestView()} | ||||
|         </ScrollView> | ||||
|           <CustomDialog | ||||
|             title={alertMsg} | ||||
|             visible={alertVisible} | ||||
|             onConfirm={()=>{setAlertVisible(false)}} | ||||
|       /> | ||||
|       </SafeAreaView> | ||||
|     </Modal> | ||||
|   ); | ||||
| } | ||||
|  | ||||
| const styles = StyleSheet.create({ | ||||
|   container: { | ||||
|     flex: 1, | ||||
|     justifyContent: 'center', | ||||
|     alignItems: 'center', | ||||
|   }, | ||||
|   overlay: { | ||||
|     position: 'absolute', | ||||
|     top: 0, | ||||
|     left: 0, | ||||
|     right: 0, | ||||
|     bottom: 0, | ||||
|     backgroundColor: 'rgba(0, 0, 0, 0.5)', | ||||
|     justifyContent: 'center', | ||||
|     alignItems: 'center', | ||||
|   }, | ||||
|   dialog: { | ||||
|     backgroundColor: 'white', | ||||
|     borderRadius: 10, | ||||
|     padding: 20, | ||||
|     width: '80%', | ||||
|     alignItems: 'center', | ||||
|   }, | ||||
|   title: { | ||||
|     fontSize: 18, | ||||
|     fontWeight: 'bold', | ||||
|     marginBottom: 20, | ||||
|   }, | ||||
|   button: { | ||||
|     backgroundColor: '#2196F3', | ||||
|     borderRadius: 5, | ||||
|     paddingVertical: 10, | ||||
|     paddingHorizontal: 20, | ||||
|   }, | ||||
|   buttonText: { | ||||
|     color: 'white', | ||||
|     fontWeight: 'bold', | ||||
|   }, | ||||
| }); | ||||
|   | ||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @@ -169,7 +169,7 @@ public class UpdateModule extends ReactContextBaseJavaModule { | ||||
|     } | ||||
|  | ||||
|     @ReactMethod | ||||
|     public void reloadUpdate(ReadableMap options) { | ||||
|     public void reloadUpdate(ReadableMap options, final Promise promise) { | ||||
|         final String hash = options.getString("hash"); | ||||
|  | ||||
|         UiThreadUtil.runOnUiThread(new Runnable() { | ||||
| @@ -191,6 +191,7 @@ public class UpdateModule extends ReactContextBaseJavaModule { | ||||
|                         loadField.setAccessible(true); | ||||
|                         loadField.set(instanceManager, loader); | ||||
|                     } catch (Throwable err) { | ||||
|                         promise.reject(err); | ||||
|                         Field jsBundleField = instanceManager.getClass().getDeclaredField("mJSBundleFile"); | ||||
|                         jsBundleField.setAccessible(true); | ||||
|                         jsBundleField.set(instanceManager, UpdateContext.getBundleUrl(application)); | ||||
| @@ -198,11 +199,14 @@ public class UpdateModule extends ReactContextBaseJavaModule { | ||||
|  | ||||
|                     try { | ||||
|                         instanceManager.recreateReactContextInBackground(); | ||||
|                         promise.resolve(null); | ||||
|                     } catch (Throwable err) { | ||||
|                         activity.recreate(); | ||||
|                         promise.reject(err); | ||||
|                     } | ||||
|  | ||||
|                 } catch (Throwable err) { | ||||
|                     promise.reject(err); | ||||
|                     Log.e("pushy", "switchVersion failed", err); | ||||
|                 } | ||||
|             } | ||||
|   | ||||
| @@ -1 +1 @@ | ||||
| 1680264885 | ||||
| 1680410620 | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 steven
					steven