feat: Introduce swipe navigation between new Chat and Sidebar components and establish initial multi-platform project structure.
All checks were successful
Build and Release / build-and-release (push) Successful in 10m7s
All checks were successful
Build and Release / build-and-release (push) Successful in 10m7s
This commit is contained in:
@@ -79,6 +79,31 @@ jobs:
|
||||
npx cap add android
|
||||
echo "sdk.dir=${ANDROID_SDK_ROOT}" > android/local.properties
|
||||
|
||||
# Patch AndroidManifest.xml to add required permissions
|
||||
node -e "
|
||||
const fs = require('fs');
|
||||
const manifestPath = 'android/app/src/main/AndroidManifest.xml';
|
||||
let manifest = fs.readFileSync(manifestPath, 'utf8');
|
||||
|
||||
const permissions = [
|
||||
'<uses-permission android:name=\"android.permission.RECORD_AUDIO\" />',
|
||||
'<uses-permission android:name=\"android.permission.MODIFY_AUDIO_SETTINGS\" />',
|
||||
'<uses-permission android:name=\"android.permission.CAMERA\" />',
|
||||
'<uses-permission android:name=\"android.permission.BLUETOOTH\" android:maxSdkVersion=\"30\" />',
|
||||
'<uses-permission android:name=\"android.permission.BLUETOOTH_CONNECT\" />',
|
||||
'<uses-permission android:name=\"android.permission.REQUEST_INSTALL_PACKAGES\" />'
|
||||
];
|
||||
|
||||
const permBlock = permissions.join('\n ');
|
||||
manifest = manifest.replace(
|
||||
'</manifest>',
|
||||
' ' + permBlock + '\n</manifest>'
|
||||
);
|
||||
|
||||
fs.writeFileSync(manifestPath, manifest);
|
||||
console.log('Patched AndroidManifest.xml with permissions');
|
||||
"
|
||||
|
||||
# Append a merged android block with signingConfigs + buildTypes.release signing
|
||||
# Gradle merges multiple android {} blocks, and within one block signingConfigs
|
||||
# is evaluated before buildTypes, so the reference resolves correctly.
|
||||
|
||||
Reference in New Issue
Block a user