Well, I've been diving in the murky waters of low-level Android programming (native C/C++ using the CodeSourcery toolchain). I tried out the executable on an emulator and it worked. I'd like to try it out on a real device. So I plugged in my nexus and pushed the files on to the filesystem. Then I tried to execute the binary, and I got a permission error. It really doesn't matter how I mount it, or where I send it, I'm not root and it's not letting me execute it. Is there any way to run a program like this on a non-rooted phone?
Is it possible to run a native arm binary on a non-rooted android phone?
16k Views Asked by AnimatedRNG At
1
There are 1 best solutions below
Related Questions in ANDROID
- Creating global Class holder
- Flutter + Dart: Editing name of a tab shows up a black screen
- android-pdf-viewer Received status code 401 from server: Unauthorized
- Sdk 34 WRITE_EXTERNAL_STORAGE not working
- ussd reader in Recket Native module
- Incorrect display of LinearGradientBrush in IOS
- The Binary Version Of its metadata is 1.8.0, expected Version is 1.6.0 build error
- I can't make TextInput to auto expand properly in Android
- Creating multiple instances of a class with different initializing values in Flutter
- How to create a lottie animation
- making android analyze with coverity sast tool
- Flutter plugin development android src not opening after opening example
- I initialize my ViewModel in the Activity with several fragments as tabs, but the fragments(tabs) return null for the updated livedata
- Node.js Server + Socket.IO + Android Mobile Applicatoin XHR Polling Error...?
- How I can use the shared preferences class?
Related Questions in ANDROID-NDK
- android ndk application can not run macrobenchmark?
- How to enable echo-cancellation on Android Voip App?
- libcrypto.so: error adding symbols: File in wrong format clang++: error: linker command failed with exit code 1
- Andriod phone accelerometer reading: native code vs. Android API
- python - embed python into android - using c++ to call python source files
- Troubles with linking Rust lib when compiling as shared lib for Android using NDK
- Android ANR when calling OnPause in libc.so
- Android NDK: Linker Script .ld: OVERLAY : gives ld:4: malformed number: :
- I don't know how to solve "local reference table overflow" error in android JNI
- C++: Text was not handled properly, first \r\n was not parsed
- Error when using ndk-build in android studio
- ld.exe cannot find "-ldl, -lm, -landroid, etc" on Delphi
- Android AGDE Visual Studio plug-in breakpoints not working in other threads
- Why arm64 pass params throught register x8-x17?
- What is the exactly time that JNI release the LocalReference automatically?
Related Questions in ARM
- Jiobook flashing
- How to flush denormal numbers to zero for apple silicon?
- How to exploit Unified Memory in OpenCL with CL_MEM_ALLOC_HOST_PTR flag?
- ARM Assembly code is not executing in Vitis IDE
- Which version of ARM does the M1 chip run on?
- Vector by Scalar Division with -ffast-math
- Why veneer code generated by gcc for cortex-m0 seems 8-byte aligned?
- Getting almost random time stamp counter on ARM
- Portenta H7 Baremetal Development and a Little Guidance on Embedded System Learning Roadmap
- STM32 RTC3 Mixed Mode: Writing TR resets SSR
- Implementing Quick Sort Algorithm in Visual2 with armv7
- How can I create an Inline assembly command with a multi-variable register offset?
- Inquiry: ARM Compatibility for Puppeteer
- Confusion with thumb instructions while compiling recipe for cortexm4 CPU
- Difficulty understanding virtual LPIs in GICv3
Related Questions in ROOT
- Cannot locally connect to MySQL
- Is it possible for `sudo` to fail temporarily with the correct password? Hacking suspected
- editing pass option in /etc/fstab with ansible
- Pyroot: TGraph TypeError: none of the 12 overloaded methods succeeded
- Status read failed Too many links on Ream me 8 pro root device
- window overlay in tkinter python with switch function
- Where is the "root" of a Visual Studio project?
- Android's Google services error, something with Magisk and Zygote SIGABRT (SIGNAL 6)
- Laravel app inside Wordpress website run on app folder and not in app/public folder?
- web.config oldsite to newsite 301, domain/root to new page AND old pages to oldpages
- How can i get root permission only for application
- How to combine Tkinter with pygame (Tkinter window -> pygame screen -> another Tkinter window)
- save files on aws ec2 with vscode
- How to move app icons using script/commands on android?
- How can I execute a sudo command in a macOS app and persist root user privileges?
Related Questions in CODESOURCERY
- how can I make the links appear after the first <h3> heading on the targeted pages?
- Replacement for Sourcery CodeBench for Verifone DTK
- Segmented memory model in C cross compilers
- gcc compilation time increased due to a windows update
- OpenCV 3.1.0 cross compile error under codesourcery ARM toolchain
- CodeSourcery Lite Forcing Include Search Path to ARM9/
- shared library issues while migrating from CodeSourcery armel to Linaro armhf compiler
- Cross compile xalan-c 1.11, arm gcc, CodeSourcery 4.3.3, ./configure
- STM32 Large binary created when using malloc
- Unresolved inclusion < stdio.h>
- Programming ARM CM3 into ROM & RAM
- No header file check in arm-none-eabi
- Cross-compilation of rtl8192cu driver fails
- have troubles with Make files
- Statically linked binary requires shared library libnss
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular # Hahtags
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
After using the toolchain included in the Android NDK to compile your binaries, it is possible to package them with a typical Android app and have them spawn as subprocesses.
You'll have to include all the necessary files within the assets folder of your application. In order to run them, you have to have the program copy them from the assets folder to a runnable location like: /data/data/com.yourdomain.yourapp/nativeFolder
You can do this like so:
Keep in mind that the assetPath is not absolute but in respect to assets/.
IE: "assets/nativeFolder" is just "nativeFolder"
To then run your application and read its output you could do something like this: