cordova-sqlite-evmax-build-free 0.0.10 → 0.0.11
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/CHANGES.md +4 -0
- package/package.json +1 -1
- package/plugin.xml +1 -1
- package/spec/ca.sh +113 -0
- package/src/deps/android/sqlc-evmax-ndk-driver.jar +0 -0
package/CHANGES.md
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "cordova-sqlite-evmax-build-free",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.11",
|
|
4
4
|
"description": "Cordova/PhoneGap sqlite storage - free evmax enterprise version with premium stability and performance improvements including workaround for super-large INSERT transactions & SELECT results on Android (version with external sqlite3 dependencies)",
|
|
5
5
|
"cordova": {
|
|
6
6
|
"id": "cordova-sqlite-evmax-build-free",
|
package/plugin.xml
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
<plugin xmlns="http://www.phonegap.com/ns/plugins/1.0"
|
|
3
3
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
|
4
4
|
id="cordova-sqlite-evmax-build-free"
|
|
5
|
-
version="0.0.
|
|
5
|
+
version="0.0.11">
|
|
6
6
|
|
|
7
7
|
<name>Cordova sqlite storage - free evmax common version branch with premium stability performance improvements including workaround for super-large INSERT transactions and SELECT results on Android (with external sqlite3 dependencies)</name>
|
|
8
8
|
|
package/spec/ca.sh
ADDED
|
@@ -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 "====================="
|
|
Binary file
|