mirror of
https://github.com/ReVanced/revanced-manager.git
synced 2024-11-10 01:01:56 +01:00
fix: Prevent crash by escaping string correctly
This commit is contained in:
parent
2ae8d49526
commit
8a1ab478a3
1 changed files with 12 additions and 5 deletions
|
@ -151,7 +151,7 @@ class RootAPI {
|
||||||
await Root.exec(
|
await Root.exec(
|
||||||
cmd: 'mkdir -p "$_serviceDDirPath"',
|
cmd: 'mkdir -p "$_serviceDDirPath"',
|
||||||
);
|
);
|
||||||
final String content = '''
|
final String mountScript = '''
|
||||||
#!/system/bin/sh
|
#!/system/bin/sh
|
||||||
MAGISKTMP="\$(magisk --path)" || MAGISKTMP=/sbin
|
MAGISKTMP="\$(magisk --path)" || MAGISKTMP=/sbin
|
||||||
MIRROR="\$MAGISKTMP/.magisk/mirror"
|
MIRROR="\$MAGISKTMP/.magisk/mirror"
|
||||||
|
@ -160,18 +160,18 @@ class RootAPI {
|
||||||
until [ -d "/sdcard/Android" ]; do sleep 1; done
|
until [ -d "/sdcard/Android" ]; do sleep 1; done
|
||||||
|
|
||||||
base_path=$_revancedDirPath/$packageName/base.apk
|
base_path=$_revancedDirPath/$packageName/base.apk
|
||||||
stock_path=\$(pm path $packageName | grep base | sed 's/package://g' )
|
stock_path=\$(pm path $packageName | grep base | sed "s/package://g" )
|
||||||
|
|
||||||
chcon u:object_r:apk_data_file:s0 \$base_path
|
chcon u:object_r:apk_data_file:s0 \$base_path
|
||||||
mount -o bind \$MIRROR\$base_path \$stock_path
|
mount -o bind \$MIRROR\$base_path \$stock_path
|
||||||
|
|
||||||
# Kill the app to force it to restart the mounted APK in case it's already running
|
# Kill the app to force it to restart the mounted APK in case it is already running
|
||||||
am force-stop $packageName
|
am force-stop $packageName
|
||||||
'''
|
'''
|
||||||
.trim();
|
.trimMultilineString();
|
||||||
final String scriptFilePath = '$_serviceDDirPath/$packageName.sh';
|
final String scriptFilePath = '$_serviceDDirPath/$packageName.sh';
|
||||||
await Root.exec(
|
await Root.exec(
|
||||||
cmd: 'echo \'$content\' > "$scriptFilePath"',
|
cmd: 'echo \'$mountScript\' > "$scriptFilePath"',
|
||||||
);
|
);
|
||||||
await setPermissions('0744', '', '', scriptFilePath);
|
await setPermissions('0744', '', '', scriptFilePath);
|
||||||
}
|
}
|
||||||
|
@ -215,3 +215,10 @@ class RootAPI {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Remove leading spaces manually until
|
||||||
|
// https://github.com/dart-lang/language/issues/559 is closed
|
||||||
|
extension StringExtension on String {
|
||||||
|
String trimMultilineString() =>
|
||||||
|
split('\n').map((line) => line.trim()).join('\n').trim();
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in a new issue