pelya / debian-noroot Goto Github PK
View Code? Open in Web Editor NEWDebian running on Android, without rooting your phone
Home Page: https://play.google.com/store/apps/details?id=com.cuntubuntu
Debian running on Android, without rooting your phone
Home Page: https://play.google.com/store/apps/details?id=com.cuntubuntu
I know that xfce is very light, but I'd like something even lighter to conserve my tablet resources, is it possible to use openbox with debian-noroot? I'd also like to be able to hop into CLI mode and get rid of X entirely sometimes. On a usual machine, just killing xfce and X should drop you into the command line, but I'd like to know how does that work with debian-noroot?
This is a great software, by the way 👍 .
I have an Android device with Android 5.1, one with 6.0 and one with 4.3; Debian-noroot runs well on 4.3 and 5.1, but on 6.0 (and by no means to I have any clue if it is the Android version or something else!) when running
sudo apt-get install i3
or
sudo dpgk --configure -a
it breaks with
error creating backup file /var/lib/dpkg/status-old
I am running as root, the directory is writable, I can create status-old like;
sudo touch /var/lib/dpkg/status-old
or
sudo mv /var/lib/dpkg/status-new /var/lib/dpkg/status-old
but after running
sudo dpkg --configure -a
it creates a new status-new, deletes status-old and then gives that same error message.
I have no clue why; I tried to remove/reinstall etc but it makes no difference. Google isn't very helpful either.
Normally I would install strace but I cannot do that (nor would it work I think if I could) .
Any idea?
Ping is not working its giving error
Ping:cannot open socket permission denied error
It keeps crashing for no reason.
Is there any way around this?, i remember installing this app a few years ago
and then i uninstalled it. is there any way to make it work again?
Could you please declare for opengles, and every other feature and permission android has in your manifest as used but not required so that libhybris can use all the avalible hardware.
This is not an error with libhybris i compiled it and ran test_sensors and test_gps and they both worked but test_vibrator failed and all test__GL_ binarys crash printing "Aborted" in the console with no information (most likely a failed gralloc() or cant aquire egl context)
None of the options in its section in Mouse Emulation work as expected. I am running the latest Debian Noroot under Android 5.1.
Hi,
First of all thank you for this awesome tool, it works well for me on all my ARM/Intel devices 🎉
I was thinking of building the core system with no apps or window manager in such a way that I could then package X11 apps as ready to run APKs (auto-launch the app within the xserver).
A bit like this works :
https://sourceforge.net/p/x11-basic/discussion/2447828/thread/8af1f9d8/#64d8
I know that for each app the installed size would be kinda large (and the need to download arch specific archives for app and run-time at first run).
Do you have any thoughts on this, or should I just try to build debian-noroot and then get dissecting ? 😉
Thanks again
After I did the apt-get upgrade of newly installed app ,after complete the upgrade then I exit the app , after start the debian noroot again , the desktop wallpaper is gone to solid color ,Icon on the desktop is white icon with red cross in the middle ,happened with all desktop's icon .In Thunar file manager .All folder icons and files are disappeared but in the window manager I can still change the style .I tried to change the icon form Tango to Adwaita and switch back but nothing was changed.
Device Specifications
Phone : Xperia X F5122
Android Version : 8.0.0
Architecture : Arm64
CPU:Snapdragon 650 MSM8956 , Hexa-core (4x1.4 GHz Cortex-A53 & 2x1.8 GHz Cortex-A72)
ROM :XGEN ROM for Xperia X
Based on stock version : 34.4.A.2.97 1 july patch (latest is 34.4.A.2.118)
Root Method : Magisk version 17.0
Selinux status : Permissive
Kernel version : 3.10.84
DRM : ok
Odex status : Deodexed
I will drop the screenshot soon.
Dear Pelia, doo you think, that you would look at The following log in attachment?
When I want to run X11vnc by typing The following command I get The errors attachet in to The log in attachment.
x11vnc -display :0 -bg -nopw -listen localhost -xkb -forever -ncache 10
Many other apps work and system is very stable. Orca work much more faster, speech responsiveness is 300 MS or 240 MS and before I have used yours library, The responsiveness was one Second or more. Between key press and Espeak speech. So shared memory really helped.
I AM also aware that it is complex C code. If you would have some time to debug it with x11vnc, it would be great.
x11-vnc-shmem.txt
Hi,
the desktop icon is there - however, clicking it gives a 'permission denied'
is there a way to grant permission from the android UI?
On Android 6.0 on my Google Nexus 5X, the link(2) system call is disabled; it always fails with EACCES (link). dpkg requires the ability to hard link in order to make an atomic backup of the status file (function atomic_file_backup
), and currently, packages cannot be installed because it cannot do so.
As a result, this package isn't very useful on Android 6.0. dpkg probably needs to be patched so that it can perform a copy when link(2) isn't available.
It appears that the latest commit will allow for the installation of new packages on Android >= 6. Would it be possible to publish a release that includes this fix?
I noticed that many applications break due to a BusyBox incompatibility. Is there any way to use GNU utils instead? I am willing to perform modifications on the OS after installation.
Thanks for any help!
May be, that The devewlopment of Debian no ROot have been stopped. But I will write you how to make sound available. It is possible to use PUlseaudio which run in Termux Shell. Or you can use Simple protocol Player.
More info about how to configurring Pulseaudio sound server is here.
https://kaytat.com/blog/?page_id=301
I will also try yours Shmem library to find out, that it will not increase The sound responsiveness while working with screen readers.
Proot is matured so much that it is really possible to run many Linux apps including VLC media player, Mate desktop environment or LXDE. The only one problem is that ANdroid newer than 7 have incorporatedsomething bad so Espeak responsiveness is much more slower than on Android 77.0.
I want to port a Linux app to Android using this.The problem is that I don't want a full desktop, I only want the single package
I have a Nexus 9 which is a 64-bit Android tablet.I would like to compile for ARM64 to speed it up
Your Android/Fire OS app (GIMP Inkscape) is very useful and works well with the default installed GNU/Linux image editors. It was good enough for me to write about it in a small blog post.
However, I couldn't get the recommended iceweasel or firefox-esr web browser to work on it, after following the install instructions from your Debian noroot Google Play Store page:
If you want to use web browser, open Terminal and run command
sudo apt-get update ; sudo apt-get install iceweasel
The application starts normally, connecting to the internet but after loading any website, the content of this page is invisible (a blank page is shown but things like hyperlinks still work). Maybe this is a problem with WebKit or the XServer XSDL display part of your app.
Using app version 2.8.14.27 on Amazon Fire OS (not rooted) so my Android version is 4.4 (KitKat) on Linux 3.4. Screenshots of the problem below. A problem that seems related is also occurring with the GNU/Linux package lxterminal that I installed.
Screenshot image 1 | Screenshot image 2 |
---|---|
![]() |
![]() |
Hi, first of all thanks for the great application, it really save my day!
I'd like to use other terminal emulators as the default one doesn't properly render CJK characters, however I encountered this error on XFCE Terminal. The program will still run but no content will be presented in the window.
According to Google this seems to be devpts filesystem related, I wonder how Proot handle this issue.
If I uninstall the application and then try to install it again on a Galaxy Note 2014 I get Unknown Error "-24".
This happens with both Debian noroot and Gimp on the same device.
I have a Galaxy S4 and uninstalling/reinstalling of both apps works as expected.
This project is amazing, I just hope I can install the app back again soon :)
Giving dpkg error on 7.0 .can u fix it can you make Kali noroot for Android.plz.plz
I removed the "-screenbuttons" parameter, worked once, until I restarted.
I honestly don't know what else to change, and the buttons are incredibly annoying.
Great app by the way, the only one working out-of-the-box
Hi everyone. I want to build own Ubuntu without root and I referenced by this repo.
I use following files proot, libdisableselinux.so, proot.sh and libandroid-shmem.so for my app.
I tried to use proot to make rootfs work, but it's not successful.
I got the error message : proot error: '/bin/sh' is not executable
Here is my code:
package demo.proot.lee.prootdemo;
import android.content.res.AssetManager;
import android.os.Environment;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.system.ErrnoException;
import android.system.Os;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import org.apache.commons.compress.archivers.tar.TarArchiveEntry;
import org.apache.commons.compress.archivers.tar.TarArchiveInputStream;
import org.apache.commons.io.IOUtils;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.lang.reflect.Field;
public class ProotActivity extends ActionBarActivity {
Button launchRootfs;
Button reinstallRootfs;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_proot);
try {
File srcFile = new File(getFilesDir().getPath() + "/ubuntu-core-14.04-core-armhf.tar");
File desDir = new File(Environment.getExternalStorageDirectory() + "/ubuntu-rootfs");
Log.e("desDir", String.valueOf(desDir.exists()));
// desDir.delete();
if(!desDir.exists()) {
desDir.mkdirs();
if(!srcFile.exists()) {
//copy tar file in assets folder to external folder
copyAssetsExternal("ubuntu-core-14.04-core-armhf.tar", getFilesDir().getPath());
doDecompress(srcFile, desDir);
}
}
} catch (IOException e) {
e.printStackTrace();
Log.e("status", e.getMessage().toString());
}
launchRootfs = (Button) findViewById(R.id.button);
reinstallRootfs = (Button) findViewById(R.id.button2);
launchRootfs.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//copy proot file and run proot shell
copyAssetsExecute("proot.mp2");
copyAssetsExecute("busybox");
copyAssetsExecute("bash");
copyAssetsExecute("libandroid-shmem.so");
copyAssetsExecute("libdisableselinux.so");
try {
File tempFile = new File(getFilesDir().getPath() + "/temp");
if(tempFile.exists() == false)
tempFile.mkdirs();
Os.setenv("LD_PRELOAD", getFilesDir().getPath() + "/libdisableselinux.so", true);
Os.setenv("PROOT_TMP_DIR", getFilesDir().getPath() + "/temp", true);
runProot(getFilesDir().getPath() + "/proot.mp2 -R " + Environment.getExternalStorageDirectory() + "/ubuntu-rootfs");
//./proot -r `pwd` -w / -b /dev -b /proc -b /sys -b /system $STORAGE "$@"
} catch (Exception e) {
e.printStackTrace();
}
}
});
reinstallRootfs.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
try {
File srcFile = new File(getFilesDir().getPath() + "/ubuntu-core-14.04-core-armhf.tar");
File desDir = new File(Environment.getExternalStorageDirectory() + "/ubuntu-rootfs");
if(desDir.exists())
desDir.delete();
if(!desDir.exists()) {
desDir.mkdirs();
Log.e("check-dir", String.valueOf(desDir.exists()));
}
if(!srcFile.exists()) {
//copy tar file in assets folder to external folder
//copyAssetsExternal("ubuntu-core-14.04-core-armhf.tar", Environment.getExternalStorageDirectory().toString());
copyAssetsExternal("ubuntu-core-14.04-core-armhf.tar", getFilesDir().getPath());
}
doDecompress(srcFile, desDir);
} catch (IOException e) {
e.printStackTrace();
}
}
});
}
private void runCmd(String cmd) {
try {
Process process = Runtime.getRuntime().exec(cmd);
BufferedReader reader = new BufferedReader(
new InputStreamReader(process.getInputStream()));
int read;
char[] buffer = new char[4096];
StringBuffer output = new StringBuffer();
while ((read = reader.read(buffer)) > 0) {
output.append(buffer, 0, read);
}
reader.close();
process.waitFor();
if (output.toString().length() != 0)
Log.e("output-msg", "output: " + output.toString());
else {
reader = new BufferedReader(
new InputStreamReader(process.getErrorStream()));
buffer = new char[4096];
output = new StringBuffer();
while ((read = reader.read(buffer)) > 0) {
output.append(buffer, 0, read);
}
reader.close();
Log.e("output-error-msg", output.toString());
}
} catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
private void runExecFile(String cmd, String fileName) {
File busyBox = new File(getFilesDir().getPath() + "/" + fileName);
if(busyBox.exists() == false) {
Log.e("error-" + fileName, "cannot find " + fileName);
}
else {
busyBox.setExecutable(true);
try {
Process process = Runtime.getRuntime().exec(cmd);
BufferedReader reader = new BufferedReader(
new InputStreamReader(process.getInputStream()));
int read;
char[] buffer = new char[4096];
StringBuffer output = new StringBuffer();
while ((read = reader.read(buffer)) > 0) {
output.append(buffer, 0, read);
}
reader.close();
process.waitFor();
if (output.toString().length() != 0)
Log.e("output-msg", "output: " + output.toString());
else {
reader = new BufferedReader(
new InputStreamReader(process.getErrorStream()));
buffer = new char[4096];
output = new StringBuffer();
while ((read = reader.read(buffer)) > 0) {
output.append(buffer, 0, read);
}
reader.close();
Log.e("output-error-msg", output.toString());
}
} catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
private void runProot(String cmd) {
File desDir = new File(Environment.getExternalStorageDirectory() + "/ubuntu-rootfs");
File checkProot = new File(getFilesDir().getPath() + "/proot.mp2");
if(desDir.exists() == false)
Log.e("file-error", "ubuntu-rootfs not found");
else if(checkProot.exists() == false) {
Log.e("file-error", "proot.mp2 not found");
}
else {
//run cmd
checkProot.setExecutable(true);
try {
Process process = Runtime.getRuntime().exec(cmd);
BufferedReader reader = new BufferedReader(
new InputStreamReader(process.getInputStream()));
int read;
char[] buffer = new char[4096];
StringBuffer output = new StringBuffer();
while ((read = reader.read(buffer)) > 0) {
output.append(buffer, 0, read);
}
reader.close();
process.waitFor();
if (output.toString().length() != 0)
Log.e("output-msg", "output: " + output.toString());
else {
reader = new BufferedReader(
new InputStreamReader(process.getErrorStream()));
buffer = new char[4096];
output = new StringBuffer();
while ((read = reader.read(buffer)) > 0) {
output.append(buffer, 0, read);
}
reader.close();
Log.e("output-error-msg", output.toString());
}
} catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
private void copyAssetsExecute(String fileName) {
String appFileDirectory = getFilesDir().getPath();
AssetManager assets = getAssets();
InputStream in;
OutputStream out;
try {
in = assets.open(fileName);
File outFile = new File(appFileDirectory, fileName);
out = new FileOutputStream(outFile);
//Apache common io libs jar https://commons.apache.org/proper/commons-io/
IOUtils.copy(in, out);
in.close();
out.flush();
out.close();
Log.e("copy-status", "Copy success: " + fileName);
} catch (IOException e) {
e.printStackTrace();
Log.e("error-copy", e.getMessage().toString());
}
}
private void copyAssetsExternal(String fileName, String appFileDirectory) {
AssetManager assetManager = getAssets();
InputStream in;
OutputStream out = null;
Log.e("copy-status", "Attempting to copy this file: " + fileName); // + " to: " + assetCopyDestination);
try {
in = assetManager.open(fileName);
Log.e("copy-status", "outDir: " + appFileDirectory);
File outFile = new File(appFileDirectory, fileName);
out = new FileOutputStream(outFile);
//Apache common io libs jar https://commons.apache.org/proper/commons-io/
IOUtils.copy(in, out);
in.close();
out.flush();
out.close();
Log.d("copy-status", "Copy success: " + fileName);
} catch(IOException e) {
Log.e("copy-status", "Failed to copy asset file: " + fileName, e);
} finally {
IOUtils.closeQuietly(out);
}
}
protected void doDecompress(File srcFile, File destDir) throws IOException {
TarArchiveInputStream is = null;
try {
is = new TarArchiveInputStream(new BufferedInputStream(new FileInputStream(srcFile), 4096));
TarArchiveEntry entry = null;
while ((entry = is.getNextTarEntry()) != null) {
if (entry.isDirectory()) {
Log.e("dir-name", entry.getName().toString());
File directory = new File(destDir, entry.getName());
directory.mkdirs();
}
else {
OutputStream os = null;
try {
os = new BufferedOutputStream(
new FileOutputStream(new File(destDir, entry.getName())), 4096);
IOUtils.copy(is, os);
} finally {
IOUtils.closeQuietly(os);
}
}
}
} finally {
IOUtils.closeQuietly(is);
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_proot, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}
Can anyone know my problems ? Thanks.
Because Proot and Xserver XSDL and its build in PUlseaudio sound server have reached The need maturity. it is possible to create single click app which would allow visually impaired users to run Orca screen reader with Debian. Based on this source code it would be even possible to run ArchLinux. Sure, with The permission of MR Rausty, The author of this comple script. I have tested yours latest XSERVER XSDL and I have been extremely pleasant thanks to its reliability, stability and thanks to refactored Pulseaudio sound server code so it work perfectly. Much more faster then while using VNC protocol. This is The reason, why I have given you 5 stars recense on GOogle Play.
So I have A kind plea to you.
Lets create one click app together. Visually impaired users would have The equal opportunity to run full functioning Linux distro on A top of Android OS.
The opportunities are neverendless. Thanks to yours really universal Androidshmem.so library, which is capable to emulate shared memory support even on A top of Android which is not rooted, it is even possible to run much more apps then before.
Many user with Basic knowledge do not have a intention to install packages themselves. They simply want to try some fully functioning and preconfigured Linux distribution.
The most important are apps for working with sound, simple text editing app, Seamonkey Internet suite.
I will try to understand yours source code to incorporate script to automatically install mate, Orca and other apps automatically.
In the readme as shown on github, there is a list of "limitations"
The first item seems strange, but the opposite would make sense, I assume, ie. "can mess up the device"
There are several limitations:
It cannot mess up your Android device.
Can you make install on external SD? On the img or loop file. Sorry my bad English!
when I was using the "shift" key from my pc keyboard to capitalize my input,the "shift" key kept "hold on" status although I had released the "shift" key.
I thought it was the soft keys on the screen messed my input up,so any idea?
When I try to debug any program, regardless it is the one I am developing or any other, I get the error mentioned after executing the command "run" in gdb.
Hi
Is there a way to run Linux in the background on non-rooted Android and have resources allocated to it.
We need to run a database server on it
Thanks
I am getting following error when I run
git submodule update --init --recursive
"Please make sure you have the correct access rights
and the repository exists."
A installation files of this app is too big,it will causes stressing free space of internal storage.
So I want you to correspond to external storage.
I wonder the version of SDL is old, is it wrong?
If it is so,please release a update which is updated SDL version on Play Store.
Apt-get doesn't work because my Debian cannot access network. Also I noticed that Synaptic doesn't open.
Tablet: Acer A1-810
Android 4.4.2
Kernel 3.4.67
I have a Chromebook and Love Debian Noroot I have it on my tablet too. But I installed it on my chromebook and it came up with all the stuff and the terminal didn't open. It came in with a error NOT FOUND it said all the other apps don't work at all. So I want to install the arm version to my Chromebook to then change to the I3 arch (a command I know).
Ping id not working its giving error
Ping:cannot open socket permission denied error
Is it possible to run another Desktop Environment? I'm thinking about Gnome-Shell which would be more ergonomic for tablet
PS : Easy and fully functionnal on Lenovo Yoga Tab 3 Pro. Debian Noroot is the ONLY working solution for instaling a linux. Thanks for the great work
I'm using a xoom 2. Do you know if tmux could work in debian-noroot. I tried but no work. Thanks.
What are the minimum specs to run this app?
I tried cloning the repository on my elementary OS laptop and I get this error
suici@HP-Pavilion-g7:/mnt/storage/princ/Documents$ git clone --recursive https://github.com/pelya/debian-noroot.git
Cloning into 'debian-noroot'...
remote: Counting objects: 1878, done.
remote: Total 1878 (delta 0), reused 0 (delta 0), pack-reused 1878
Receiving objects: 100% (1878/1878), 42.45 MiB | 200.00 KiB/s, done.
Resolving deltas: 100% (1004/1004), done.
Checking connectivity... done.
Submodule 'android-shmem' ([email protected]:pelya/android-shmem.git) registered for path 'android-shmem'
Submodule 'fakechroot' ([email protected]:pelya/fakechroot.git) registered for path 'fakechroot'
Submodule 'proot-src' ([email protected]:cedric-vincent/PRoot.git) registered for path 'proot-src'
Cloning into 'android-shmem'...
Warning: Permanently added the RSA host key for IP address '192.30.252.121' to the list of known hosts.
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
Clone of '[email protected]:pelya/android-shmem.git' into submodule path 'android-shmem' failed
I've tried to upgrade to Stretch or Buster, but the app crashes, and Jessie is nearing EOL.
The top of the main page links to Android Playstore, where it says:
Debian running on Android, without rooting your phone https://play.google.com/store/apps/details?id=com.cuntubuntu
But the link is broken. Can you provide the current working url?
If it is not in the playstore anymore, can you provide a link to a working .apk file?
Thanks
This same issue occurs on GNURoot, which I have reported at https://github.com/corbinlc/GNURootDebian/issues/164
I installed chromium-browser for jessie under using the following instructions (from http://raspberrypi.stackexchange.com/questions/41603/installing-chrome-on-raspbian/51633#51633 ). This is with the latest version of debian-noroot
sudo apt-get update
wget -qO - http://bintray.com/user/downloadSubjectPublicKey?username=bintray | sudo apt-key add -
echo "deb http://dl.bintray.com/kusti8/chromium-rpi jessie main" | sudo tee -a /etc/apt/sources.list
sudo apt-get update
sudo apt-get install chromium-browser
It segfaults when running:
u0_a200@localhost:/$ chromium-browser
/usr/bin/chromium-browser: line 88: /dev/fd/62: No such file or directory
Segmentation fault
Using an Acer B1-810 tablet on Android 4.4.4. Left it there for over an hour and nothing happened.
Hi and thanks for your fantastic work.
I'm trying to install mesa drivers: when I install normal opengl drivers there are no problems (ok, there are only very old drivers for my graphic card but they works even if they are really slow and glitched)
When I try to use the gles support, which has got modern drivers, it crashes.
Here the results of es2gears:
LLVM ERROR: Cannot select: intrinsic %llvm.x86.sse41.pblendvb
I've got an asus zenfone2 with intel x86
Well, there's actually more than this.
First, I tried gnuroot Debian with no luck connecting to xsdl.
Since x was working on Debian noroot, I thought to use it.
Lmms audio performance sucks, vlc won't either run and quod libet gives no sound.
Finally, Jack. I can't use it.
In my mind, I'd use blender and ardour with Jack, and nothing else.
When starting jack I get a no such file or directory error.
What can I do?
I have a Samsung Galaxy S5.
Why on earth is it called cuntubuntu?
Either you're trying to be deliberately offensive or you have no idea you're being offensive.
In either case, you should consider renaming it
First of all: thanks for this extremely nice piece of software. You really did a great job.
More a question than an issue:
I am using a (German) BT keyboard which works fine, but the layout does not really match. In the terminal, the "/" (shift-7) gives a "?", the umlauts are not reachable (okay, could live without), but the "|" and the "/" are not reachable at all and so are all F keys (I assume the F keys are caught by Android and there is little you can do about it). Is there any way to change the keyboard layout inside the app? I tried the settings from the start menu, but either the App crashes or the layout is completely rubbish.
Thanks again!!
Do you think, that it would be possible to write some native .so library, which would allow users on Android 7 and newer to access /proc folder?
There are some attempts to overcome that but those attemtps only contain some predefined info about processes, but not real data from running system. As A result, Libreoffice binary refuse to run on Android 8 and newer.
But I have heart, that this protection is too strong, that it is build deep in Android OS and can not be overcomed even from C running app or native .so binary.
Is it necessary to have Android device rooted to use yours
libandroid-shmem-disableselinux.so
Because if The words disableselinux are The part of The .so library name, it is very probably necessary to disable disable selinux. BUt I do not think, that it would be possible to do that as non root user on Android device.
Do I understand it well?
SO yours .so library can emulate shared memory support, but only on rooted Android device, where users are able to disable selinux?
Thank you very much for yours explanation.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.