allow creating profileable builds

This commit is contained in:
Samuel Newman
2026-01-30 15:13:29 +02:00
parent 45735144ee
commit ccb4890519
3 changed files with 34 additions and 0 deletions
+32
View File
@@ -0,0 +1,32 @@
const {withAndroidManifest} = require('@expo/config-plugins')
module.exports = function withProfileableAndroid(config) {
return withAndroidManifest(config, mod => {
if (process.env.BSKY_PROFILE !== '1') return mod
const manifest = mod.modResults.manifest
// Ensure <manifest xmlns:tools="...">
manifest.$ = manifest.$ || {}
manifest.$['xmlns:tools'] =
manifest.$['xmlns:tools'] || 'http://schemas.android.com/tools'
const app = manifest.application?.[0]
if (!app) return mod
app.profileable = app.profileable || []
const already = app.profileable.some(
p => p.$ && p.$['android:shell'] === 'true',
)
if (!already) {
app.profileable.push({
$: {
'android:shell': 'true',
'tools:targetApi': 'q',
},
})
}
return mod
})
}