1

I want to install python on an android phone (the phone is connected to a pi so I don't have any GUI or physical access to the device). I can connect to the phone via adb shell and run/install packages via apk files easily. I want to install python on the device so that I can run speedtest-cli remotely via adb shell. https://github.com/sivel/speedtest-cli Speedtest-cli requires python. So far I have tried the following based on online articles. 1. Installed termux app via APK. I can access the underlying files remotely. I tried install python using pkg command but could not error below.

1|:/data/data/com.termux/files/usr/bin # ./pkg install python                                                                                                                                               
This must NOT be run as root as it will break your environment (root will be required for nearly everything due to changed file permissions)
1|marlin:/data/data/com.termux/files/usr/bin # whoami
root

2. Installed Qpython on the device using adb. However the issue is that when I launch adb command to launch Qpython I see a prompt on the device - Allow Qpython to access media Options - Accept or Deny. Since I don't have access to device I can select either of the options. Is there a way to send command via ADB to select - Accept ?

Would appreciate any other ideas as well. My end goal is to run the speetest-cli utility via adb shell on a device that is not physcially accessible.

migrated from softwarerecs.stackexchange.com Aug 4 at 10:13

This question came from our site for people seeking specific software recommendations.

1

Solved this eventually. Here is what I did -

  1. Installed termux via downloading apk and performing adb install com.termux.apk
  2. Remotely launched the termux app via adb (monkey) (this is needed to complete install on the device) monkey -p com.termux -c android.intent.category.LAUNCHER

  3. once termux is installed I installed python and speedtest-cli on the device using adb input text and keyevents -

    • adb input text "pkg install python"
    • adb input keyevent "66"

    • adb input text "pip install speedtest-cli"

  4. Then navigate to /data/data/com.termux/files/usr/bin here you should have the speedtest-cli script that you can invoke from adb shell

    /data/data/com.termux/files/usr/bin # ./speedtest-cli
    Retrieving speedtest.net configuration... Testing from XXXXX Testing download speed................................................................................ Download: 20.18 Mbit/s Testing upload speed...................................................................................................... Upload: 3.98 Mbit/s

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.