55 lines
1.7 KiB
Python
55 lines
1.7 KiB
Python
# Remote build helper — FL_SSH_PASS 或 fl_ssh_pass.txt
|
|
import os
|
|
import paramiko
|
|
import sys
|
|
|
|
from _gps_ssh_auth import ssh_password
|
|
|
|
HOST = "192.168.2.179"
|
|
USER = "eric"
|
|
GPS_ROOT = os.path.dirname(os.path.abspath(__file__))
|
|
|
|
SCRIPT = r"""set -e
|
|
cd /tmp
|
|
rm -rf rebuilt_app
|
|
tar xzf /home/eric/rebuilt_sync.tgz
|
|
rm -rf /home/eric/codex_apk_recovery/rebuilt_app
|
|
mv rebuilt_app /home/eric/codex_apk_recovery/rebuilt_app
|
|
chmod +x /home/eric/codex_apk_recovery/rebuilt_app/gradlew
|
|
export ANDROID_HOME=/home/eric/android-sdk
|
|
if test -d /usr/lib/jvm/java-17-openjdk-amd64; then
|
|
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
|
|
elif test -d /usr/lib/jvm/java-11-openjdk-amd64; then
|
|
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
|
|
else
|
|
export JAVA_HOME=$(dirname "$(dirname "$(readlink -f "$(which java)")")")
|
|
fi
|
|
cd /home/eric/codex_apk_recovery/rebuilt_app
|
|
echo "JAVA_HOME=$JAVA_HOME"
|
|
echo "ANDROID_HOME=$ANDROID_HOME"
|
|
./gradlew :app:assembleDebug :fl_xposed:assembleDebug --no-daemon
|
|
ls -la app/build/outputs/apk/debug/
|
|
ls -la fl_xposed/build/outputs/apk/debug/
|
|
"""
|
|
|
|
def main():
|
|
password = ssh_password(GPS_ROOT)
|
|
if not password:
|
|
print("Set FL_SSH_PASS or fl_ssh_pass.txt", file=sys.stderr)
|
|
sys.exit(2)
|
|
client = paramiko.SSHClient()
|
|
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
|
|
client.connect(HOST, username=USER, password=password, timeout=40)
|
|
stdin, stdout, stderr = client.exec_command(SCRIPT, get_pty=True, timeout=600)
|
|
for line in stdout:
|
|
sys.stdout.write(line)
|
|
err = stderr.read().decode()
|
|
if err:
|
|
sys.stderr.write(err)
|
|
code = stdout.channel.recv_exit_status()
|
|
client.close()
|
|
sys.exit(code)
|
|
|
|
if __name__ == "__main__":
|
|
main()
|