1
0
mirror of https://github.com/danog/termux-api.git synced 2024-11-26 20:04:42 +01:00
Go to file
Fredrik Fornwall 8250000e56 Guard against possible leak pre android-24
From Android Studio lint:

On versions prior to Android N (24), initializing the WifiManager via
Context#getSystemService can cause a memory leak if the context is not
the application context.
In many cases, it's not obvious from the code where the Context is coming
from (e.g. it might be a parameter to a method, or a field initialized
from various method calls). It's possible that the context being passed in
is the application context, but to be on the safe side, you should consider
changing context.getSystemService(...) to
context.getApplicationContext().getSystemService(...).
2018-06-15 00:00:15 +02:00
.idea disableWrapperSourceDistributionNotification=true 2018-06-05 23:59:55 +02:00
app Guard against possible leak pre android-24 2018-06-15 00:00:15 +02:00
gradle/wrapper Update gradle configuration 2018-06-05 23:59:31 +02:00
.gitignore Update gitignore for Android Studio 3.1 2018-04-02 01:38:10 +02:00
build.gradle Update gradle configuration 2018-06-14 23:57:08 +02:00
gradle.properties Update gradle 2016-04-28 12:46:05 +02:00
gradlew Update gradle configuration 2017-09-24 22:54:15 +02:00
gradlew.bat Update gradle and Android Studio 2016-09-26 22:43:16 +02:00
README.md Remove implemented features from ideas in readme / fix typo (#163) 2018-04-12 01:21:28 +02:00
settings.gradle Initial push 2015-07-26 02:23:21 +02:00

Termux API

Join the chat at https://gitter.im/termux/termux

This is an app exposing Android API to command line usage and scripts or programs.

When developing or packaging, note that this app needs to be signed with the same key as the main Termux app for permissions to work (only the main Termux app are allowed to call the API methods in this app).

License

Released under the GPLv3 license.

How API calls are made through the termux-api helper binary

The termux-api client binary in the termux-api package generates two linux anonymous namespace sockets, and passes their address to the TermuxApiReceiver broadcast receiver as in:

/system/bin/am broadcast ${BROADCAST_RECEIVER} --es socket_input ${INPUT_SOCKET} --es socket_output ${OUTPUT_SOCKET}

The two sockets are used to forward stdin from termux-api to the relevant API class and output from the API class to the stdout of termux-api.

Client scripts

Client scripts which processes command line arguments before calling the termux-api helper binary are available in the termux-api package.

Ideas

  • Wifi network search and connect.
  • Add extra permissions to the app to (un)install apps, stop processes etc.