Skip to content
MankaranSingh edited this page Oct 27, 2022 · 43 revisions

Installation

Flowpilot can be installed either on a snapdragon based android phone (non-rooted or rooted) or a desktop pc with Ubuntu 20.04 / 18.04. In case of any issues, please report them in #installation-help channel of flowpilot discord.

Installation for android:

Setting up flowpilot will require you to have access to a desktop computer with linux/windows installed on it and a snapdragon based android phone. Installation consists of three parts:

  • Part 1: Setting up the the flowpilot environment in termux app.
  • Part 2: Installing the core flowpilot apk on your phone.
  • Part 3: Setting up panda.

Part 1 (Setting up termux)

  • Install termux app from fdroid on android. Download and open termux.

  • If further pkg commands error out: first make sure that date-time on your device is set correctly, secondly, try switching to a different termux repo by using termux-change-repo command.

  • (Optional) SSH into device for a better experience. In termux shell, type. SSH will allow you to type commands on a desktop machine and execute them on your phone which is more convinient than typing commands on phone.

    # Install openSSH
    pkg upgrade
    pkg install openssh
    
    # Setup a password
    passwd
    
    # get your usersname
    whoami
    
    # find your ip
    pkg install net-tools
    ifconfig 
    
    # Start ssh server in termux 
    sshd
    
    # Now install openSSH on your desktop and ssh into your phone. 
    ssh -p 8022 username@ip-addr
  • Setup ubuntu proot in termux

    pkg upgrade
    termux-setup-storage
    pkg install proot-distro termux-api
    proot-distro install ubuntu
  • Make proot default

    echo 'proot-distro login ubuntu' >> ~/.bashrc
  • Now finally login to proot

    proot-distro login ubuntu
    apt update
    apt install sudo git
  • work-around for using pip on termux proot.

    echo "export ANDROID_DATA=''" >> ~/.bashrc
    source ~/.bashrc
  • Install python3.9 and set as default

    sudo apt update
    sudo apt install software-properties-common
    
    sudo add-apt-repository ppa:deadsnakes/ppa # may error out on debian. no worries.
    sudo apt install python3.9 python3.9-dev python3.9-distutils 
    
    sudo apt install python-is-python3 python3-pip
    sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.9 1
    sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.9 1
    
    ### VERY IMPORTANT: ### 
    
    # make sure `python -V` and `pip -V` returns python version 3.9.x
    #
    # It might be possible that after following the commands given above, `python -V`
    # still does not return 3.9.x. In that case, execute another shell or just logout and login into termux again.
  • get flow-pilot

    cd ~/
    git clone https://github.com/flowdriveai/flowpilot.git
    cd flowpilot
    git submodule update --init
  • get dependencies

    cd flowpilot
    ./get_dependencies.sh
  • Build

    pip install -e . -v
    scons

Part 2 (Installing flowpilot apk on phone)

  • Download and install flowpilot apk from releases.
  • Enable developer options in your android phone for debugging.

Part 3 (Setting up panda)

If your device is rooted:

  • you are already done and do not need to follow further steps.

If your phone is NOT rooted:

  • You would need to flash panda from your PC from the panda folder provided in flowpilot.
  • Install termux-api apk.

Installing on Desktop

These steps are tested on ubuntu.

  • Install java and android tools

     # setup jdk and anndroid sdk. requires java 11
     sudo apt update
     sudo apt install openjdk-11-jdk
     wget https://dl.google.com/android/repository/commandlinetools-linux-8092744_latest.zip
     unzip commandlinetools-linux-8092744_latest.zip
     mkdir -p ~/Android/Sdk/cmdline-tools/latest
     mv cmdline-tools/* ~/Android/Sdk/cmdline-tools/latest/
     rm -rf cmdline-tools
     echo 'export ANDROID_SDK_ROOT=$HOME/Android/Sdk' >> ~/.bashrc
     echo 'export PATH=$PATH:$HOME/Android/Sdk/cmdline-tools/latest/bin' >> ~/.bashrc
     source ~/.bashrc
     sdkmanager --install "platform-tools"
     sdkmanager --install "build-tools;32.0.0"
  • Install some basic dependencies

     sudo apt install git
  • get flow-pilot

    cd ~/
    git clone https://github.com/flowdriveai/flowpilot.git
    cd flowpilot
    git submodule update --init
  • Install python3.9

    sudo apt install software-properties-common
    
    sudo add-apt-repository ppa:deadsnakes/ppa
    sudo apt install python3.9 python3.9-dev python3.9-distutils 
  • Create virtual env and source it

    pip install pipenv
    pipenv shell
  • get dependencies ./get_dependencies.sh

  • Build

    pip install -e . -v
    scons

Launching flowpilot

Once everything is installed, run following command to launch flowpilot. Note: On android, termux window needs to be in foreground before running this script to launch the app.

./launch_flowpilot.sh
Clone this wiki locally