Editing Octave for Android

Jump to navigation Jump to search
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.

Latest revision Your text
Line 1: Line 1:
== Termux ==
The Android app [https://play.google.com/store/apps/details?id=com.octave Octave] in Google play is built and maintained by Corbin Champion and not part of the GNU Octave project.


[https://termux.com Termux] is a Terminal Emulator for Android. You can install it from [https://f-droid.org/repository/browse/?fdid=com.termux F-Droid] (preferred) or [https://play.google.com/store/apps/details?id=com.termux Play store] (deprecated). You don't need a rooted device to use Octave with Termux.
The source and some build instructions for the installer can be found here
* https://github.com/corbinlc/octave4android/


=== Direct Octave installation ===
This link might have some other, perhaps now outdated, build instructions:
* http://octave.1599824.n4.nabble.com/Octave-on-Android-td4658392.html


You can directly install Octave in Termux using the repository by [https://github.com/its-pointless/gcc_termux its-pointless].
You are offered a choice of downloading the app, for which a donation is requested, or you can download the full source and build your own version for free. This will require the Octave sources, Corbin's GitHub repository, and the Android SDK.  


<syntaxhighlight lang="shell">
This implementation has been done in close cooperation with the Octave developers and makes use of the current Octave source essentially without any change. Thus, it is fully compatible with the versions of Octave on other platforms.
pkg install wget
wget https://its-pointless.github.io/setup-pointless-repo.sh
sh setup-pointless-repo.sh
pkg install octave
</syntaxhighlight>
 
[https://www.openblas.net/ OpenBLAS] is installed as a dependency, and this method provides much better performance compared to Octave installed inside a GNU/Linux distro running in Termux. By default, Octave only plots with ASCII characters in the terminal.
 
For graphical plots, [https://wiki.termux.com/wiki/Graphical_Environment#Desktop_environment_.28XFCE.29 install] a graphical environment like xfce, and use octave with a vnc server. Only the graphics toolkit "gnuplot" is known to work in this method.
 
[[File:Octave in Termux.png|thumb|GNU Octave running directly in Termux]]
 
 
=== Via some GNU/Linux distribution ===
 
Inside Termux in Android, you can install a GNU/Linux distribution like Debian, Ubuntu, Arch or Alpine. Note that Alpine consumes relatively less disk space.  Octave can be installed as described in [[Octave for GNU/Linux]] from the distribution's respective package manager.
 
To use Octave's graphical capabilities, one needs to install a desktop environment, and a VNC server in the GNU/Linux distro, and one also needs to install a separate VNC viewer app in the Android phone (can be installed from Play Store/F-Droid). On many android devices, only the graphics toolkit "gnuplot" is known to work.  Several apps (e.g. [https://github.com/EXALAB/AnLinux-App Anlinux], [https://andronix.app/ Andronix]) are available to easily install the Linux distribution of your choice, and setting up the desktop environment. Refer to the [https://docs.andronix.app/vnc/vnc-basics Andronix docs] for an overview of setting up the VNC server.
 
'''Optimizing performance''': Installing [https://github.com/xianyi/OpenBLAS/wiki/Precompiled-installation-packages/ OpenBLAS] (with the distribution's package manager) to replace the system's BLAS libraries may tremendously increase the performance of Octave.
 
== GNURoot Octave ==
 
The Android app [https://play.google.com/store/apps/details?id=com.gnuroot.octave GNURoot Octave] in the Google play store is built and maintained by Corbin Champion. However, note that these repositories have not been updated for several years. It is not part of the GNU Octave project. Thus please use the following GitHub pages for questions and bug reports:
 
* https://github.com/corbinlc/GNURootDebian
* https://github.com/corbinlc/octave4android
 
The implementation has been done in close cooperation with the Octave developers and makes use of the Octave source code without essential changes. Thus, it is fully compatible with the versions of Octave on other platforms.
 
Some probably outdated build instructions for the older "octave4android" app:
 
* https://lists.gnu.org/archive/html/octave-maintainers/2013-10/msg00406.html
 
== Octave app in Google Play==
 
'''Unlike the other methods, this requires buying an app (released under GPL-3) from Google Play'''.
 
The Octave app built and maintained by Userland Technologies [https://play.google.com/store/apps/details?id=tech.ula.octave] in the Google Play Store is the full featured and professionally supported GNU Octave running on your phone.  It runs off of their UserLAnd platform which does not require root to your device.  Userland Tech has pre-installed GNU Octave so the user has a seamless "desktop" experience on their phone.  The application is open source and any bug reports or questions can be posted at their github at: https://github.com/CypherpunkArmory/octave
 
 
[[Category:Installation]]
Please note that all contributions to Octave may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see Octave:Copyrights for details). Do not submit copyrighted work without permission!

To edit this page, please answer the question that appears below (more info):

Cancel Editing help (opens in new window)