This commit is contained in:
eric
2026-03-25 13:56:34 -05:00
parent cc2f30b6e2
commit e1a7b1d2d7
24 changed files with 103 additions and 18 deletions

View File

@@ -33,6 +33,7 @@
"favicon": "./assets/images/favicon.png"
},
"plugins": [
"./plugins/with-portable-gradle-toolchain",
"expo-router",
[
"expo-camera",

View File

@@ -0,0 +1 @@
o/bundleLibRuntimeToDirDebug

View File

@@ -1 +1 @@
#Wed Mar 25 11:49:16 CDT 2026
#Wed Mar 25 12:15:20 CDT 2026

View File

@@ -1,2 +1,2 @@
<?xml version="1.0" encoding="utf-8"?>
<merger version="3"><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="main$Generated" generated="true" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\project\mobile\modules\expo-easytier-vpn\android\src\main\res"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="main" generated-set="main$Generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\project\mobile\modules\expo-easytier-vpn\android\src\main\res"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="debug$Generated" generated="true" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\project\mobile\modules\expo-easytier-vpn\android\src\debug\res"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="debug" generated-set="debug$Generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\project\mobile\modules\expo-easytier-vpn\android\src\debug\res"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="generated$Generated" generated="true" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\project\mobile\modules\expo-easytier-vpn\android\build\generated\res\resValues\debug"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="generated" generated-set="generated$Generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\project\mobile\modules\expo-easytier-vpn\android\build\generated\res\resValues\debug"/></dataSet><mergedItems/></merger>
<merger version="3"><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="main$Generated" generated="true" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\mobile\modules\expo-easytier-vpn\android\src\main\res"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="main" generated-set="main$Generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\mobile\modules\expo-easytier-vpn\android\src\main\res"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="debug$Generated" generated="true" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\mobile\modules\expo-easytier-vpn\android\src\debug\res"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="debug" generated-set="debug$Generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\mobile\modules\expo-easytier-vpn\android\src\debug\res"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="generated$Generated" generated="true" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\mobile\modules\expo-easytier-vpn\android\build\generated\res\resValues\debug"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="generated" generated-set="generated$Generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\mobile\modules\expo-easytier-vpn\android\build\generated\res\resValues\debug"/></dataSet><mergedItems/></merger>

View File

@@ -1,2 +1,2 @@
<?xml version="1.0" encoding="utf-8"?>
<merger version="3"><dataSet config="main" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\project\mobile\modules\expo-easytier-vpn\android\src\main\assets"/></dataSet><dataSet config="debug" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\project\mobile\modules\expo-easytier-vpn\android\src\debug\assets"/></dataSet><dataSet config="generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\project\mobile\modules\expo-easytier-vpn\android\build\intermediates\shader_assets\debug\compileDebugShaders\out"/></dataSet></merger>
<merger version="3"><dataSet config="main" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\Users\admin\Desktop\d2yapp\modules\expo-easytier-vpn\android\src\main\assets"/></dataSet><dataSet config="debug" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\Users\admin\Desktop\d2yapp\modules\expo-easytier-vpn\android\src\debug\assets"/></dataSet><dataSet config="generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\Users\admin\Desktop\d2yapp\modules\expo-easytier-vpn\android\build\intermediates\shader_assets\debug\compileDebugShaders\out"/></dataSet></merger>

View File

@@ -1,2 +1,2 @@
<?xml version="1.0" encoding="utf-8"?>
<merger version="3"><dataSet config="main" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\project\mobile\modules\expo-easytier-vpn\android\src\main\jniLibs"/></dataSet><dataSet config="debug" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\project\mobile\modules\expo-easytier-vpn\android\src\debug\jniLibs"/></dataSet></merger>
<merger version="3"><dataSet config="main" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\Users\admin\Desktop\d2yapp\modules\expo-easytier-vpn\android\src\main\jniLibs"/></dataSet><dataSet config="debug" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\Users\admin\Desktop\d2yapp\modules\expo-easytier-vpn\android\src\debug\jniLibs"/></dataSet></merger>

View File

@@ -1,2 +1,2 @@
<?xml version="1.0" encoding="utf-8"?>
<merger version="3"><dataSet config="main" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\project\mobile\modules\expo-easytier-vpn\android\src\main\shaders"/></dataSet><dataSet config="debug" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\project\mobile\modules\expo-easytier-vpn\android\src\debug\shaders"/></dataSet></merger>
<merger version="3"><dataSet config="main" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\Users\admin\Desktop\d2yapp\modules\expo-easytier-vpn\android\src\main\shaders"/></dataSet><dataSet config="debug" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\Users\admin\Desktop\d2yapp\modules\expo-easytier-vpn\android\src\debug\shaders"/></dataSet></merger>

View File

@@ -5,7 +5,7 @@
5 <uses-sdk android:minSdkVersion="24" />
6
7 <uses-permission android:name="android.permission.INTERNET" />
7-->C:\project\mobile\modules\expo-easytier-vpn\android\src\main\AndroidManifest.xml:2:3-65
7-->C:\project\mobile\modules\expo-easytier-vpn\android\src\main\AndroidManifest.xml:2:20-62
7-->C:\mobile\modules\expo-easytier-vpn\android\src\main\AndroidManifest.xml:2:3-65
7-->C:\mobile\modules\expo-easytier-vpn\android\src\main\AndroidManifest.xml:2:20-62
8
9</manifest>

View File

@@ -1,20 +1,20 @@
-- Merging decision tree log ---
manifest
ADDED from C:\project\mobile\modules\expo-easytier-vpn\android\src\main\AndroidManifest.xml:1:1-3:12
INJECTED from C:\project\mobile\modules\expo-easytier-vpn\android\src\main\AndroidManifest.xml:1:1-3:12
ADDED from C:\mobile\modules\expo-easytier-vpn\android\src\main\AndroidManifest.xml:1:1-3:12
INJECTED from C:\mobile\modules\expo-easytier-vpn\android\src\main\AndroidManifest.xml:1:1-3:12
package
INJECTED from C:\project\mobile\modules\expo-easytier-vpn\android\src\main\AndroidManifest.xml
INJECTED from C:\mobile\modules\expo-easytier-vpn\android\src\main\AndroidManifest.xml
xmlns:android
ADDED from C:\project\mobile\modules\expo-easytier-vpn\android\src\main\AndroidManifest.xml:1:11-69
ADDED from C:\mobile\modules\expo-easytier-vpn\android\src\main\AndroidManifest.xml:1:11-69
uses-permission#android.permission.INTERNET
ADDED from C:\project\mobile\modules\expo-easytier-vpn\android\src\main\AndroidManifest.xml:2:3-65
ADDED from C:\mobile\modules\expo-easytier-vpn\android\src\main\AndroidManifest.xml:2:3-65
android:name
ADDED from C:\project\mobile\modules\expo-easytier-vpn\android\src\main\AndroidManifest.xml:2:20-62
ADDED from C:\mobile\modules\expo-easytier-vpn\android\src\main\AndroidManifest.xml:2:20-62
uses-sdk
INJECTED from C:\project\mobile\modules\expo-easytier-vpn\android\src\main\AndroidManifest.xml reason: use-sdk injection requested
INJECTED from C:\project\mobile\modules\expo-easytier-vpn\android\src\main\AndroidManifest.xml
INJECTED from C:\project\mobile\modules\expo-easytier-vpn\android\src\main\AndroidManifest.xml
INJECTED from C:\mobile\modules\expo-easytier-vpn\android\src\main\AndroidManifest.xml reason: use-sdk injection requested
INJECTED from C:\mobile\modules\expo-easytier-vpn\android\src\main\AndroidManifest.xml
INJECTED from C:\mobile\modules\expo-easytier-vpn\android\src\main\AndroidManifest.xml
android:targetSdkVersion
INJECTED from C:\project\mobile\modules\expo-easytier-vpn\android\src\main\AndroidManifest.xml
INJECTED from C:\mobile\modules\expo-easytier-vpn\android\src\main\AndroidManifest.xml
android:minSdkVersion
INJECTED from C:\project\mobile\modules\expo-easytier-vpn\android\src\main\AndroidManifest.xml
INJECTED from C:\mobile\modules\expo-easytier-vpn\android\src\main\AndroidManifest.xml

15
package-lock.json generated
View File

@@ -16,9 +16,11 @@
"expo-camera": "~17.0.9",
"expo-clipboard": "~8.0.7",
"expo-constants": "~55.0.9",
"expo-easytier-vpn": "file:./modules/expo-easytier-vpn",
"expo-font": "~55.0.4",
"expo-linear-gradient": "~15.0.7",
"expo-linking": "~55.0.8",
"expo-modules-core": "~55.0.17",
"expo-router": "~55.0.7",
"expo-splash-screen": "~55.0.12",
"expo-status-bar": "~55.0.4",
@@ -38,6 +40,15 @@
"typescript": "~5.9.2"
}
},
"modules/expo-easytier-vpn": {
"version": "1.0.0",
"license": "MIT",
"peerDependencies": {
"expo": "*",
"react": "*",
"react-native": "*"
}
},
"node_modules/@babel/code-frame": {
"version": "7.29.0",
"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.0.tgz",
@@ -4391,6 +4402,10 @@
"react-native": "*"
}
},
"node_modules/expo-easytier-vpn": {
"resolved": "modules/expo-easytier-vpn",
"link": true
},
"node_modules/expo-file-system": {
"version": "55.0.11",
"resolved": "https://registry.npmjs.org/expo-file-system/-/expo-file-system-55.0.11.tgz",

View File

@@ -0,0 +1,67 @@
const {
withAppBuildGradle,
withGradleProperties,
} = require("expo/config-plugins");
const TARGET_KEYS = new Set([
"org.gradle.java.installations.auto-detect",
"org.gradle.java.installations.auto-download",
"org.gradle.java.installations.fromEnv",
"org.gradle.java.installations.paths",
]);
function upsertProperty(entries, key, value) {
const existing = entries.find(
(entry) => entry.type === "property" && entry.key === key
);
if (existing) {
existing.value = value;
return;
}
entries.push({ type: "property", key, value });
}
function addCppFlag(contents) {
const flag = 'cppFlags "-Wno-error=deprecated-declarations"';
if (contents.includes(flag)) {
return contents;
}
return contents.replace(
/(buildConfigField "String", "REACT_NATIVE_RELEASE_LEVEL", "[^\n]*"\n)/,
`$1 externalNativeBuild {\n cmake {\n ${flag}\n }\n }\n`
);
}
module.exports = function withPortableGradleToolchain(config) {
config = withGradleProperties(config, (config) => {
config.modResults = config.modResults.filter(
(entry) => !(entry.type === "property" && TARGET_KEYS.has(entry.key))
);
upsertProperty(
config.modResults,
"org.gradle.java.installations.auto-detect",
"false"
);
upsertProperty(
config.modResults,
"org.gradle.java.installations.auto-download",
"false"
);
upsertProperty(
config.modResults,
"org.gradle.java.installations.fromEnv",
"JAVA_HOME"
);
return config;
});
return withAppBuildGradle(config, (config) => {
config.modResults.contents = addCppFlag(config.modResults.contents);
return config;
});
};