test(android app): this is the start to the android app
This commit is contained in:
94
mobileLst/plugins/androidCustomizations.js
Normal file
94
mobileLst/plugins/androidCustomizations.js
Normal file
@@ -0,0 +1,94 @@
|
||||
const {
|
||||
withAndroidManifest,
|
||||
withDangerousMod,
|
||||
withGradleProperties,
|
||||
} = require("@expo/config-plugins");
|
||||
const fs = require("fs");
|
||||
const path = require("path");
|
||||
|
||||
function withCustomAndroidConfig(config) {
|
||||
// Copy cert files
|
||||
config = withDangerousMod(config, [
|
||||
"android",
|
||||
async (config) => {
|
||||
const projectRoot = config.modRequest.projectRoot;
|
||||
const certSourceDir = path.join(projectRoot, "certFiles");
|
||||
const rawDestDir = path.join(
|
||||
projectRoot,
|
||||
"android/app/src/main/res/raw"
|
||||
);
|
||||
const xmlDestDir = path.join(
|
||||
projectRoot,
|
||||
"android/app/src/main/res/xml"
|
||||
);
|
||||
|
||||
// Create directories if they don't exist
|
||||
if (!fs.existsSync(rawDestDir)) {
|
||||
fs.mkdirSync(rawDestDir, { recursive: true });
|
||||
}
|
||||
if (!fs.existsSync(xmlDestDir)) {
|
||||
fs.mkdirSync(xmlDestDir, { recursive: true });
|
||||
}
|
||||
|
||||
// Copy your cert files
|
||||
if (fs.existsSync(path.join(certSourceDir, "raw"))) {
|
||||
fs.cpSync(path.join(certSourceDir, "raw"), rawDestDir, {
|
||||
recursive: true,
|
||||
});
|
||||
}
|
||||
|
||||
if (fs.existsSync(path.join(certSourceDir, "xml"))) {
|
||||
fs.cpSync(path.join(certSourceDir, "xml"), xmlDestDir, {
|
||||
recursive: true,
|
||||
});
|
||||
}
|
||||
|
||||
console.log("✅ Copied cert files to android/app/src/main/res");
|
||||
return config;
|
||||
},
|
||||
]);
|
||||
|
||||
// Modify AndroidManifest
|
||||
config = withAndroidManifest(config, (config) => {
|
||||
const mainApplication = config.modResults.manifest.application[0];
|
||||
|
||||
// Add network security config if not already present
|
||||
if (!mainApplication.$["android:networkSecurityConfig"]) {
|
||||
mainApplication.$["android:networkSecurityConfig"] =
|
||||
"@xml/network_security_config";
|
||||
}
|
||||
|
||||
console.log("✅ Modified AndroidManifest.xml");
|
||||
return config;
|
||||
});
|
||||
|
||||
// Update gradle.properties for better performance
|
||||
config = withGradleProperties(config, (config) => {
|
||||
// Remove existing jvmargs if present
|
||||
config.modResults = config.modResults.filter(
|
||||
(item) =>
|
||||
!(item.type === "property" && item.key === "org.gradle.jvmargs")
|
||||
);
|
||||
|
||||
// Add your custom jvmargs
|
||||
config.modResults.push(
|
||||
{
|
||||
type: "property",
|
||||
key: "org.gradle.jvmargs",
|
||||
value: "-Xmx16384m -XX:MaxMetaspaceSize=2024m",
|
||||
},
|
||||
{
|
||||
type: "property",
|
||||
key: "org.gradle.daemon",
|
||||
value: "false",
|
||||
}
|
||||
);
|
||||
|
||||
console.log("✅ Updated gradle.properties with 16GB heap");
|
||||
return config;
|
||||
});
|
||||
|
||||
return config;
|
||||
}
|
||||
|
||||
module.exports = withCustomAndroidConfig;
|
||||
Reference in New Issue
Block a user