$c) as proot-exec, as well as my proot-wrapper
u rt $c. The process check then shows two processes:
$cis executed. I would have expected the behavior at
*29.apkbut not at
*28.apk(in the manifest is compile/platform 28 but target still 29). Could you please create this version again?
Could you explain what should be changed in APK ? Everything I did is just changed the target SDK version and nothing more. All code is same, from https://github.com/termux/termux-app/pull/1427/files. As
TERMUX_ANDROID10=1 is set, the proot will be used regardless of SDK version.
I really can't understand why there should be difference in proot usage. Proot will be always used as soon as the compiled version is termux/termux-app#1427. The only difference you will see is SELinux behavior with non-proot'ed binaries.
I cant install anything dpkg error, I'm suggesting to reinstall Termux.
Thank you @xeffyr with this version (shot 2) I can check better than with the previous one from Jun 19 (shot 1) In the 3rd shot you can see how
Bad address in a 4th emulation with your new
*28.apk) and OTS ist possible too.
am patch I was able to install the current app (0.95) with Studio in api30 Emulator. Still impossible is:
s=storage; sd=/$s/emulated/0; a=Android/data/com.termux/files; [ ! -w $sd ]&& sd+=/$a; c=com.termux.app.reload_style; am broadcast --es $c $s -a $c com.termux
This is an extract from
termux-setup-storage that should ask/allow for access to
/$s and create 6-7 symlinks to 2-12 empty folders. First is important because otherwise
$(dirname /storage/*-*/. (sdcard) won't work. Do you have experience with shared sdcard (
*.img) with several emulators?
/$s access is apparently more complex with api30 and to my sdcard-question you obviously have no experience. Since in the last three weeks (without reboot) the same data was never in two emulators, but all data where lost several times on the sdcard, I give up the attempt.
Addition to the last shot (above): The
export action is mostly valid for one follow-up action and
sshd is a special case. I've done the following check with Q10 (
*95.apk process status is displayed twice and the ssh demon is referenced to
PPID 1 - as in P9 too) and the same with R11 (
*29.apk) with the following result:
[~]$ alias a pp; pp;sshd; a pp;sshd alias a='export TERMUX_ANDROID10;' alias pp='ps -eo pid,ppid,comm,etime' bash: /data/data/com.termux/files/usr/bin/ps: Bad address bash: /data/data/com.termux/files/usr/bin/sshd: Bad address PID PPID COMMAND ELAPSED 20045 16280 com.termux 24:42 # PID1 of OTS 20079 20045 bash 24:39 # PID2 of OTS (X11 service) 20144 20079 proot 24:36 20147 20144 Xwayland 24:36 # PID3 of OTS 20151 20079 bash 24:36 20159 20151 proot 24:36 20161 20159 fluxbox 24:36 # PID4 of OTS 20176 20161 fbset <defunct> 24:34 20344 20045 sh 22:45 # open by widget selection 20348 20344 mc 22:45 # to edit .bashrc (insert alias a) 20491 20045 bash 19:04 21105 20079 proot 00:01 21107 21105 ps 00:01 # here the SESSION 1 stalled until open a NEW SESSION and do there: [~]$ a pp; export TERMUX_ANDROID10; pkill sshd PID PPID COMMAND ELAPSED 20045 16280 com.termux 24:11 ... 21063 20491 bash 00:29 21064 21063 proot 00:29 21067 1 sshd 00:29 21094 20491 proot 00:01 21096 21094 ps 00:01 # next (pkill) relase stalled in SESSION 1 - here in .bashrc + Done [ -z "$f" ] && sshd
I have added comments above. In Q10 emulation
export is superfluous and R11 Termux in stalled mode cannot be ended even not with
ctrl+c. The only way is in a NEW SESSION with
pkill sshd (above) or
[-z "$f"] && sshd & in
bashrc. With R30 (
* 28.apk and the emulation
../sdk/system-images/android-30 should be identical to yours) I behaved the same.
Can you explain to me when
alias a is necessary and when not?
export TERMUX_ANDROID10=1. Not just
unset TERMUX_ANDROID10 TERMUX_ANDROID10_DEBUGand then
1but was only valid for one command and try
*=0and other values - always the same behavior!
sshdis no longer a problem! In my Studio-0.95-Version I have also inserted "DEX2OATBOOTCLASSPATH" (your last commit) is this necessary for the effect?
Ok! I've used my Studio-0.95-api30-emulator to check api28 (default termux) on it. Is
dalvikvm needed to extend it to the new versions and how can I do it?
This variable should be set by app. However I did export TERMUX_ANDROID10_DEBUG=1 instead.
[ -z "$TERMUX_ANDROID10_DEBUG" ]&& export TERMUX_ANDROID10_DEBUG=1 only in
.bashrc is not a solution but with
unset TERMUX_ANDROID10 it works.
/$saccess and ... how can I do it?). The debug output doesn't bother me, but the action:
IP=$(ip address|grep -m 1 /24|cut -d / -f1|sed -e 's/inet//' -e 's/\ //g')therefore fails! With
unsetof both variables in
.bashrcworks on api30/
*28.apkemulator as on real devices (without
proote.g. 20144, 20159 above). How do I turn back to proot-exec without the unwanted effects?
$IPis constant in all wifi networks
10.0.2.16(I was traveling) with you or @fornwall too?
*.29.apkemulator (also api30/R) and surprised got the same OTS process, although PID3-4 are not in
~/nl- why? To be sure, I have run successful two of my make-loops and checked again your
*29.apk(all versions are 29) - that shouldn't have happened?!
pkg in openssh(here an
amprocess): First I get the dialog: allow installation from other sources? Which is then ended with the message: not done. I usually have this effect when trying to install
*.apkwith different signatures. I previously unified all 4 plugins of the emulator with
apksigner, could be a keystore parameter a solution - what's your experience?
Ok! I've used my Studio-0.95-api30-emulator to check api28 (default termux) on it. Is dalvikvm needed to extend it to the new versions and how can I do it?
You don't need dalvikvm if you even didn't know what is it. (that is a small thing to execute *.dex files).
$IP is constant in all wifi networks10.0.2.16 (I was traveling) with you or @fornwall too?
Why it should differ? That is a NAT IP for emulator. As I don't think that virtual devices have shared network, IPs returned by DHCP should be same (in per-device scope).
that shouldn't have happened?!
Havent't you noticed that APKs are same with only exception of different target SDK affecting SELinux?
Which is then ended with the message: not done. I usually have this effect when trying to install *.apk with different signatures.
Did you expected something else? I do not use/have signature key of Fornwall.
why still missing in termux?
We removed it because it is not supported on devices with API lower than 26. As I wrote, our repository is Android 7.0 compatible.
unset TERMUX_ANDROID10unfortunately does not work. I did not find your
*_DEBUGthere and both work poorly. In addition to asking for a Studio-bundle the following three urgent questions:
getprop ro.build.version.releaseI only get the device/package versions and with
aaptI need the source. How can I determine the termux version and its targetSdk if I don't know the installation history or if it is supplemented/changed by plugins?
pkgI use both methods (
am) in my installation script, whereby
aptwith proot-exec is not a problem and
amis only possible for @fornwall. How is that solved?
can disrupt the APK-based packaging solution
Should this be the answer to my last question (
pkg)? With the full data access of the file-app to everything in termux I have no longer problems but with
*.qcow2 files in Emulators. @fornwall has at least read my post and is not out of the world :)
A Studio-bundle for your @xeffyr
*29.apk would help me mostly, so that I can increase my code-experience on it.
Should this be the answer to my last question (pkg)?
No. That change is not released in developer preview.
Technically it is possible to bypass it by re-implementing the APK solution to use intents and IPC, but I don't know what to do with $PREFIX. As in this case packages won't be copied to Termux prefix, each package will have to be compiled with its own. That will result in further degradation of Termux usability, probably
qemu-system + full blown Linux distro variant for solving SELinux issues will be more preferable even at the cost of performance.
I'm personally ok with in-APK packaging, but I'm against the case where packages will be sandboxed. If this going to happen, I'm voting for QEMU-based variant.
A Studio-bundle for your @xeffyr *29.apk would help me mostly
I will not provide any new builds as previous were sufficient.