mirror of
https://github.com/dragoonDorise/EmuDeck.git
synced 2025-05-05 16:02:48 +00:00
* new paths * / * EmuDeck/ * mv * no & * ESDE new location * ESDE new path * no symlink load * bigpemu new path * force move * global vars * oopsie * missing $emudeckBackend * better migration detection * Keep Appimages in Applications * Keep Appimages in Applications
115 lines
2.4 KiB
Bash
115 lines
2.4 KiB
Bash
#!/bin/bash
|
|
#https://dl.google.com/android/repository/platform-tools-latest-linux.zip
|
|
#https://dl.google.com/android/repository/platform-tools-latest-darwin.zip
|
|
#https://dl.google.com/android/repository/platform-tools-latest-windows.zip
|
|
|
|
|
|
function Android_ADB_isInstalled(){
|
|
if [ -e "$Android_ADB_path" ]; then
|
|
echo "true"
|
|
return 0
|
|
else
|
|
echo "false"
|
|
return 1
|
|
fi
|
|
}
|
|
|
|
function Android_ADB_install(){
|
|
local outFile="adb.zip"
|
|
local outDir="$emudeckFolder/android"
|
|
|
|
Android_download "$outFile" "$Android_ADB_url" && unzip -o "$outDir/$outFile" -d $outDir && rm -rf "$outDir/$outFile" && echo "true" && return 0
|
|
|
|
}
|
|
|
|
function Android_download(){
|
|
local outDir="$emudeckFolder/android/"
|
|
local outFile="$emudeckFolder/android/$1"
|
|
local url=$2
|
|
mkdir -p $outDir
|
|
|
|
request=$(curl -w $'\1'"%{response_code}" --fail -L "$url" -o "${outFile}.temp" 2>&1 && echo $'\2'0 || echo $'\2'$?)
|
|
|
|
returnCodes="${request#*$'\1'}"
|
|
httpCode="${returnCodes%$'\2'*}"
|
|
exitCode="${returnCodes#*$'\2'}"
|
|
|
|
if [ "$httpCode" = "200" ]; then
|
|
mv -v "$outFile.temp" "$outFile"
|
|
return 0
|
|
else
|
|
echo "false"
|
|
return 1
|
|
fi
|
|
|
|
}
|
|
|
|
function Android_ADB_connected(){
|
|
export PATH=$PATH:$Android_ADB_path
|
|
local output=$(adb devices)
|
|
local device_count=$(echo "$output" | grep -E "device\b" | wc -l)
|
|
|
|
if [ "$device_count" -gt 0 ]; then
|
|
echo "true"
|
|
return 0
|
|
else
|
|
echo "false"
|
|
return 1
|
|
fi
|
|
}
|
|
|
|
function Android_ADB_push(){
|
|
local origin=$1
|
|
local destination=$2
|
|
export PATH=$PATH:$Android_ADB_path
|
|
adb push $origin $destination
|
|
}
|
|
|
|
Android_ADB_installAPK(){
|
|
local apk=$1
|
|
export PATH=$PATH:$Android_ADB_path
|
|
adb install $apk && rm -rf $apk
|
|
}
|
|
|
|
Android_ADB_dl_installAPK(){
|
|
local temp_emu=$1
|
|
local temp_url=$2
|
|
Android_download "$temp_emu.apk" $temp_url
|
|
Android_ADB_installAPK "$emudeckFolder/android/$temp_emu.apk"
|
|
}
|
|
|
|
function Android_ADB_getSDCard(){
|
|
export PATH=$PATH:$Android_ADB_path
|
|
adb shell sm list-volumes public | perl -lane 'print $F[-1]'
|
|
}
|
|
function Android_ADB_setPath(){
|
|
export PATH=$PATH:$Android_ADB_path
|
|
}
|
|
function Android_ADB_init(){
|
|
|
|
if [ $(Android_ADB_isInstalled) == "false" ]; then
|
|
$(Android_ADB_install)
|
|
fi
|
|
|
|
|
|
local isConnected=$(Android_ADB_connected)
|
|
local SDCardName=$(Android_ADB_getSDCard)
|
|
local json='{
|
|
"isConnected": "'"$isConnected"'",
|
|
"SDCardName": "'"$SDCardName"'"
|
|
}'
|
|
|
|
echo $json;
|
|
|
|
}
|
|
|
|
|
|
function Android_ADB_appInstalled(){
|
|
test=$(adb shell pm list packages $1)
|
|
if [[ $test != "" ]]; then
|
|
echo "true"
|
|
else
|
|
echo "false"
|
|
fi
|
|
}
|