AnotherTerm-docs

Another Term documentation (wiki replacement)

View this documentation on GitHub View the described project on GitHub GitHub all releases Get it on Google Play Support Project

Bugs and issues

First of all

Please, don’t hesitate to post them here or:

or into the other linked repositories of this project.

From time to time I could see some strange “purely Android framework” crash reports on the Google Play Console.

For example: Someone tried to select something in a text edit field and Another Term crashed because there is a problem either within the spanned text in this field or the framework itself.

These crash reports are of no use for me as long as they contain nothing but function names / line numbers for a security reason and all of them are from the Android framework code.

Your bug reports seem the only way to help with it. (I think, it’s not a good case to use Google Analytics; you do probably, too.)

Known issues

The “Linux under PRoot” feature and Android 10

See solutions here.

termsh SSL handshake error on very old Androids

javax.net.ssl.SSLProtocolException: SSL handshake aborted: ssl=0x62633510: Failure in SSL library, usually a protocol error
error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure (external/openssl/ssl/s23_clnt.c:741 0x5b08cd5c:0x00000000)

Possible workarounds:

  1. Installing new certs into the user-added CA store on an Android device (Android 6.0 and lower at the moment).

  2. Using ready-to-use statically linked wget for Android.
    Details: https://android.stackexchange.com/a/246596/373188

  3. Using of some compatible proxy.

  4. Manual download by your preferred browser.

I’ll possibly create some better solution later.

Android 9 and UVC (USB_CLASS_VIDEO) external USB cameras (libusb helper feature)

<uses-permission android:name="android.permission.CAMERA" />

is required to connect to any USB_CLASS_VIDEO device since Android 9: https://developer.android.com/reference/android/hardware/usb/UsbManager.html#requestPermission(android.hardware.usb.UsbDevice,%20android.app.PendingIntent)

Also consider this Android 10 bug: https://issuetracker.google.com/issues/145082934

Fixed in MkIIIv53 and MkIV-dev20 by adding this permission request into oldgood and redist flavors.

Touch screen mouse

Not all Android deployments have the same touch event propagation logic and could improperly support android:windowEnableSplitTouch="true". As a result the touch screen mouse feature does not work properly on Samsung Galaxy Note II (SCH_I605) with Android 4.4.2 (the only known affected device at the moment).

The workaround looks relatively simple. Please, ask me if you think, you need it.

termsh segfault on Androids 4.0[.X]

Spotted in the only available test environment: Android API 15 x86 image from Android Studio.

Please, ask me if you think, you need it fixed.

termsh

It seems, access to /proc/self/fd/ is restricted for the Dalvik VM process on Samsung Galaxy Note II (SCH_I605) with Android 4.4.2 if it executes bytecode from a signed APK. It effectively blocks new files creation by termsh (as it interferes with the chrooted paths resolution logic). The debug version of the Another Term APK with the default Android Studio signature works correct though.

Fixed in MkIIIv.

USB UART dongles support

Due to an USB bug in Android itself, it’s highly recommended not to use the USB UART with devices running Android 5.1.1 Lollipop. See https://github.com/felHR85/UsbSerial/issues/142 for more details.

The workaround looks impossible.

Bluetooth UART dongles support

Alas, UART port settings (baud rate, data bits, stop bits, parity, flow control) cannot be applied to Bluetooth dongles using the Android Bluetooth stack. See https://stackoverflow.com/a/23888958/13020093 for the details.

The workaround looks impossible???
Need to check BluetoothDevice#createInsecureL2capChannel(int) and BluetoothDevice#createL2capChannel(int) newly added in Android 10 (API 29) as a possible solution…

Hardware input devices

Please, be aware, that key mapping of hardware input devices is provided by device vendors and it could make some troubles.

For example: ASUS ZenFone 4 Max has the hardware keyboard Home (KEYCODE_MOVE_HOME) key mapped as the Android middle (KEYCODE_HOME) button that makes it effectively invisible for applications.

Most vendors also maps mouse right and middle buttons in some unexpected ways. Fortunately, mouse buttons mapping can usually be worked around relatively simply. Most usual right mouse button mapping as the Android Back (KEYCODE_BACK) button is supported by this application.

There is also a possible general workaround by implementing own user-space HID device driver.

In case of rooted device the problem does not exist though because it’s possible to simply change appropriate mapping files.