react-native-update 10.33.0 → 10.34.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.cursor/mcp.json +11 -0
- package/android/.project +28 -0
- package/android/bin/.project +34 -0
- package/android/bin/.settings/org.eclipse.buildship.core.prefs +13 -0
- package/android/lib/arm64-v8a/librnupdate.so +0 -0
- package/android/lib/armeabi-v7a/librnupdate.so +0 -0
- package/android/lib/x86/librnupdate.so +0 -0
- package/android/lib/x86_64/librnupdate.so +0 -0
- package/check_elf_alignment.sh +113 -0
- package/package.json +4 -3
package/.cursor/mcp.json
ADDED
package/android/.project
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<projectDescription>
|
|
3
|
+
<name>react-native-update</name>
|
|
4
|
+
<comment>Project react-native-update created by Buildship.</comment>
|
|
5
|
+
<projects>
|
|
6
|
+
</projects>
|
|
7
|
+
<buildSpec>
|
|
8
|
+
<buildCommand>
|
|
9
|
+
<name>org.eclipse.buildship.core.gradleprojectbuilder</name>
|
|
10
|
+
<arguments>
|
|
11
|
+
</arguments>
|
|
12
|
+
</buildCommand>
|
|
13
|
+
</buildSpec>
|
|
14
|
+
<natures>
|
|
15
|
+
<nature>org.eclipse.buildship.core.gradleprojectnature</nature>
|
|
16
|
+
</natures>
|
|
17
|
+
<filteredResources>
|
|
18
|
+
<filter>
|
|
19
|
+
<id>1727963310481</id>
|
|
20
|
+
<name></name>
|
|
21
|
+
<type>30</type>
|
|
22
|
+
<matcher>
|
|
23
|
+
<id>org.eclipse.core.resources.regexFilterMatcher</id>
|
|
24
|
+
<arguments>node_modules|\.git|__CREATED_BY_JAVA_LANGUAGE_SERVER__</arguments>
|
|
25
|
+
</matcher>
|
|
26
|
+
</filter>
|
|
27
|
+
</filteredResources>
|
|
28
|
+
</projectDescription>
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<projectDescription>
|
|
3
|
+
<name>react-native-update</name>
|
|
4
|
+
<comment>Project react-native-update created by Buildship.</comment>
|
|
5
|
+
<projects>
|
|
6
|
+
</projects>
|
|
7
|
+
<buildSpec>
|
|
8
|
+
<buildCommand>
|
|
9
|
+
<name>org.eclipse.jdt.core.javabuilder</name>
|
|
10
|
+
<arguments>
|
|
11
|
+
</arguments>
|
|
12
|
+
</buildCommand>
|
|
13
|
+
<buildCommand>
|
|
14
|
+
<name>org.eclipse.buildship.core.gradleprojectbuilder</name>
|
|
15
|
+
<arguments>
|
|
16
|
+
</arguments>
|
|
17
|
+
</buildCommand>
|
|
18
|
+
</buildSpec>
|
|
19
|
+
<natures>
|
|
20
|
+
<nature>org.eclipse.jdt.core.javanature</nature>
|
|
21
|
+
<nature>org.eclipse.buildship.core.gradleprojectnature</nature>
|
|
22
|
+
</natures>
|
|
23
|
+
<filteredResources>
|
|
24
|
+
<filter>
|
|
25
|
+
<id>1727963310481</id>
|
|
26
|
+
<name></name>
|
|
27
|
+
<type>30</type>
|
|
28
|
+
<matcher>
|
|
29
|
+
<id>org.eclipse.core.resources.regexFilterMatcher</id>
|
|
30
|
+
<arguments>node_modules|\.git|__CREATED_BY_JAVA_LANGUAGE_SERVER__</arguments>
|
|
31
|
+
</matcher>
|
|
32
|
+
</filter>
|
|
33
|
+
</filteredResources>
|
|
34
|
+
</projectDescription>
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
arguments=--init-script /var/folders/l6/0fn3x28s5s585ld3p04gsy1h0000gn/T/db3b08fc4a9ef609cb16b96b200fa13e563f396e9bb1ed0905fdab7bc3bc513b.gradle --init-script /var/folders/l6/0fn3x28s5s585ld3p04gsy1h0000gn/T/52cde0cfcf3e28b8b7510e992210d9614505e0911af0c190bd590d7158574963.gradle
|
|
2
|
+
auto.sync=false
|
|
3
|
+
build.scans.enabled=false
|
|
4
|
+
connection.gradle.distribution=GRADLE_DISTRIBUTION(VERSION(8.9))
|
|
5
|
+
connection.project.dir=
|
|
6
|
+
eclipse.preferences.version=1
|
|
7
|
+
gradle.user.home=
|
|
8
|
+
java.home=/Users/sunny/.sdkman/candidates/java/17.0.9-zulu/zulu-17.jdk/Contents/Home
|
|
9
|
+
jvm.arguments=
|
|
10
|
+
offline.mode=false
|
|
11
|
+
override.workspace.settings=true
|
|
12
|
+
show.console.view=true
|
|
13
|
+
show.executions.view=true
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
progname="${0##*/}"
|
|
3
|
+
progname="${progname%.sh}"
|
|
4
|
+
|
|
5
|
+
# usage: check_elf_alignment.sh [path to *.so files|path to *.apk]
|
|
6
|
+
|
|
7
|
+
cleanup_trap() {
|
|
8
|
+
if [ -n "${tmp}" -a -d "${tmp}" ]; then
|
|
9
|
+
rm -rf ${tmp}
|
|
10
|
+
fi
|
|
11
|
+
exit $1
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
usage() {
|
|
15
|
+
echo "Host side script to check the ELF alignment of shared libraries."
|
|
16
|
+
echo "Shared libraries are reported ALIGNED when their ELF regions are"
|
|
17
|
+
echo "16 KB or 64 KB aligned. Otherwise they are reported as UNALIGNED."
|
|
18
|
+
echo
|
|
19
|
+
echo "Usage: ${progname} [input-path|input-APK|input-APEX]"
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
if [ ${#} -ne 1 ]; then
|
|
23
|
+
usage
|
|
24
|
+
exit
|
|
25
|
+
fi
|
|
26
|
+
|
|
27
|
+
case ${1} in
|
|
28
|
+
--help | -h | -\?)
|
|
29
|
+
usage
|
|
30
|
+
exit
|
|
31
|
+
;;
|
|
32
|
+
|
|
33
|
+
*)
|
|
34
|
+
dir="${1}"
|
|
35
|
+
;;
|
|
36
|
+
esac
|
|
37
|
+
|
|
38
|
+
if ! [ -f "${dir}" -o -d "${dir}" ]; then
|
|
39
|
+
echo "Invalid file: ${dir}" >&2
|
|
40
|
+
exit 1
|
|
41
|
+
fi
|
|
42
|
+
|
|
43
|
+
if [[ "${dir}" == *.apk ]]; then
|
|
44
|
+
trap 'cleanup_trap' EXIT
|
|
45
|
+
|
|
46
|
+
echo
|
|
47
|
+
echo "Recursively analyzing $dir"
|
|
48
|
+
echo
|
|
49
|
+
|
|
50
|
+
if { zipalign --help 2>&1 | grep -q "\-P <pagesize_kb>"; }; then
|
|
51
|
+
echo "=== APK zip-alignment ==="
|
|
52
|
+
zipalign -v -c -P 16 4 "${dir}" | egrep 'lib/arm64-v8a|lib/x86_64|Verification'
|
|
53
|
+
echo "========================="
|
|
54
|
+
else
|
|
55
|
+
echo "NOTICE: Zip alignment check requires build-tools version 35.0.0-rc3 or higher."
|
|
56
|
+
echo " You can install the latest build-tools by running the below command"
|
|
57
|
+
echo " and updating your \$PATH:"
|
|
58
|
+
echo
|
|
59
|
+
echo " sdkmanager \"build-tools;35.0.0-rc3\""
|
|
60
|
+
fi
|
|
61
|
+
|
|
62
|
+
dir_filename=$(basename "${dir}")
|
|
63
|
+
tmp=$(mktemp -d -t "${dir_filename%.apk}_out_XXXXX")
|
|
64
|
+
unzip "${dir}" lib/* -d "${tmp}" >/dev/null 2>&1
|
|
65
|
+
dir="${tmp}"
|
|
66
|
+
fi
|
|
67
|
+
|
|
68
|
+
if [[ "${dir}" == *.apex ]]; then
|
|
69
|
+
trap 'cleanup_trap' EXIT
|
|
70
|
+
|
|
71
|
+
echo
|
|
72
|
+
echo "Recursively analyzing $dir"
|
|
73
|
+
echo
|
|
74
|
+
|
|
75
|
+
dir_filename=$(basename "${dir}")
|
|
76
|
+
tmp=$(mktemp -d -t "${dir_filename%.apex}_out_XXXXX")
|
|
77
|
+
deapexer extract "${dir}" "${tmp}" || { echo "Failed to deapex." && exit 1; }
|
|
78
|
+
dir="${tmp}"
|
|
79
|
+
fi
|
|
80
|
+
|
|
81
|
+
RED="\e[31m"
|
|
82
|
+
GREEN="\e[32m"
|
|
83
|
+
ENDCOLOR="\e[0m"
|
|
84
|
+
|
|
85
|
+
unaligned_libs=()
|
|
86
|
+
|
|
87
|
+
echo
|
|
88
|
+
echo "=== ELF alignment ==="
|
|
89
|
+
|
|
90
|
+
matches="$(find "${dir}" -type f)"
|
|
91
|
+
IFS=$'\n'
|
|
92
|
+
for match in $matches; do
|
|
93
|
+
# We could recursively call this script or rewrite it to though.
|
|
94
|
+
[[ "${match}" == *".apk" ]] && echo "WARNING: doesn't recursively inspect .apk file: ${match}"
|
|
95
|
+
[[ "${match}" == *".apex" ]] && echo "WARNING: doesn't recursively inspect .apex file: ${match}"
|
|
96
|
+
|
|
97
|
+
[[ $(file "${match}") == *"ELF"* ]] || continue
|
|
98
|
+
|
|
99
|
+
res="$(objdump -p "${match}" | grep LOAD | awk '{ print $NF }' | head -1)"
|
|
100
|
+
if [[ $res =~ 2\*\*(1[4-9]|[2-9][0-9]|[1-9][0-9]{2,}) ]]; then
|
|
101
|
+
echo -e "${match}: ${GREEN}ALIGNED${ENDCOLOR} ($res)"
|
|
102
|
+
else
|
|
103
|
+
echo -e "${match}: ${RED}UNALIGNED${ENDCOLOR} ($res)"
|
|
104
|
+
unaligned_libs+=("${match}")
|
|
105
|
+
fi
|
|
106
|
+
done
|
|
107
|
+
|
|
108
|
+
if [ ${#unaligned_libs[@]} -gt 0 ]; then
|
|
109
|
+
echo -e "${RED}Found ${#unaligned_libs[@]} unaligned libs (only arm64-v8a/x86_64 libs need to be aligned).${ENDCOLOR}"
|
|
110
|
+
elif [ -n "${dir_filename}" ]; then
|
|
111
|
+
echo -e "ELF Verification Successful"
|
|
112
|
+
fi
|
|
113
|
+
echo "====================="
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-update",
|
|
3
|
-
"version": "10.
|
|
3
|
+
"version": "10.34.0-beta.0",
|
|
4
4
|
"description": "react-native hot update",
|
|
5
5
|
"main": "src/index",
|
|
6
6
|
"scripts": {
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
"lint": "eslint \"src/*.@(ts|tsx|js|jsx)\" && tsc --noEmit",
|
|
10
10
|
"submodule": "git submodule update --init --recursive",
|
|
11
11
|
"test": "echo \"Error: no test specified\" && exit 1",
|
|
12
|
-
"build-lib": "bun submodule && $ANDROID_HOME/ndk/
|
|
12
|
+
"build-lib": "bun submodule && $ANDROID_HOME/ndk/28.2.13676358/ndk-build NDK_PROJECT_PATH=android APP_BUILD_SCRIPT=android/jni/Android.mk NDK_APPLICATION_MK=android/jni/Application.mk NDK_LIBS_OUT=android/lib",
|
|
13
13
|
"build:ios-debug": "cd Example/testHotUpdate && bun && detox build --configuration ios.sim.debug",
|
|
14
14
|
"build:ios-release": "cd Example/testHotUpdate && bun && detox build --configuration ios.sim.release",
|
|
15
15
|
"test:ios-debug": "cd Example/testHotUpdate && detox test --configuration ios.sim.debug",
|
|
@@ -72,5 +72,6 @@
|
|
|
72
72
|
"react-native": "0.73",
|
|
73
73
|
"ts-jest": "^29.3.2",
|
|
74
74
|
"typescript": "^5.6.3"
|
|
75
|
-
}
|
|
75
|
+
},
|
|
76
|
+
"packageManager": "yarn@1.22.21+sha1.1959a18351b811cdeedbd484a8f86c3cc3bbaf72"
|
|
76
77
|
}
|