Houdini ARM-x86: Library cannot started by Houdini - General Questions and Answers

Hello,
i searching and trying now since 2months to get my library to run. Im using the free emulator NOX, MEMU, LD to test it.
Current emulator (MEMU) starting the app (ARM) now alot of other libraries (x86 and also ARM) getting loaded, but as soon the library i use mylib.so (ARM) gets loaded by the x86 process
houdini is not catching it (yes it has the correct elf magic code in it so which is used for identifying the elf and everything should go over houdini) but instead i get e_machine 40 error for
not supporting ARM on x86. Houdini is ignoring my lib.
Is it not possible to start an ARM library from a x86 process by using houdini? is it not the purpose of it, to make it work?
i placed the mylib.so in [ /system/lib/ ] is it maybe the case i need to put it in [ /system/lib/arm ] ?
What i am doing wrong.
Thank you.

AFAIK MEMU can run in 64-bit mode ( means run a 64-bit Android image ).
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}

xXx yYy said:
AFAIK MEMU can run in 64-bit mode ( means run a 64-bit Android image ).
Click to expand...
Click to collapse
thank you for answering but what would be different it is still the same architecture (x86 system) and ARM lib and also Android64bit is using houdini.
maybe a few more words about your thoughts would help me to understand.

LIBHOUDINI.SO ( the Intel-ARM translator what isn't freely available , means it isn't open source ) only is used on x86/x86_64 emulators like MEMU, and only if "native-bridge" is enabled in Android's build.prop file, AFAIK.

Yes, and its also working for other ARM libs but simply not for mine, and i would just like to understand. Why houdini is not starting my mylib.so from a x86 compiled process.
the normal output from houdini is:
C++:
10-05 12:08:57.325 3744 3744 D houdini : [3744] Added shared library /data/app/com.test.me/lib/arm/libqop.so for ClassLoader by Native Bridge.
but only mylib.so is not recongnized by it.

Related

Howto: develop a native C app for Android

You can actually write C apps and compile them using the Android Toolchain to target the embedded Android linux system.
Code:
#include <stdio.h>
int main()
{
printf("Hello Google Android world!\nwww.pocketmagic.net\n");
return 1;
}
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
You need:
1) a linux box
2) the google source code
3) time and patience
A complete article here with detailed steps and tools:
http://www.pocketmagic.net/?p=682
Advantages:
- being able to implement new features that are not yet added to the SDK (eg. bluetooth)
- direct hardware access (eg. video memory)
- C vs Java
- etc
Hope this helps.
I guess technically, those are C apps for the G1, not really for android since they are not necessarily usable on other android devices.
MartinFick said:
I guess technically, those are C apps for the G1, not really for android since they are not necessarily usable on other android devices.
Click to expand...
Click to collapse
Well that would just be a generic C app compiled for armel. To do proper native on Android, one would have to use JNI. My understanding is that path also does not require root access. For more info:
http://groups.google.com/group/android-ndk
NDK = Native Development Kit
Jashsu, you are correct
That's just an arm binary, and will run on any linux distro on ARM with the libraries you include.
Android runs on-top of linux, and you will have to wait for the NDK to be able to code natively for it. But java is still a better idea for multi-platform support
Also, no root access is required to run code that doesn't require the access itself (raw i/o might need it for example)
Thanks for the feedback.
You might already know that using the Android toolchain libs, and the arm-eabi-gcc you can do direct-screen drawing, playing sounds etc. For those needing speed/hardware control the tools are already available.
Here's an update to this article:
A more convenient way to compile native C code, using the NDK. 3 steps and you can get the C code running on your Adnroid:
http://www.pocketmagic.net/?p=1462

Error trying to use SDK Win7 x64

Hi there,
I'm fairlyy knew to android. Since I updated my Phone before attempting to root, I can't root is so I cant exactly take screenshots any easier. ( I think ). My Desire HD is strugling to get recognized by the ddms Batch file. I downloaded the SDK thing. I am on Windows 7 64-Bit, So from what I know and learnt, I cant exactly install the USB drivers for ADB. I am getting an error code:
09:42:23 E/adb: Failed to get the adb version: Cannot run program "adb": CreateP
rocess error=2, The system cannot find the file specified
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Any more information you need I'll be more than happy to provide you with it. After all your trying to help
Anyone know where I went wrong? And If so I'd be grateful to be pointed in the right direction. Cheers.
Desire HD OTA 1.72.405.3
1.72 can't be rooted yet and which sdk are you using if its sdk r8 you need to take copy everything out of platform tools and move to tools folder
Sent from my leedroid v1.3a DhD via xda app
Download the zip file and extract, I face the same issue.
guys take a deep breath and follow these instruction
http://forum.xda-developers.com/showthread.php?t=502010
I use them instructions every time I format a pc, and did so on this my current 64bit windows 7 machine.
Its a whole world of pain however to get the signer for update.zip's to work 64bit machines because of the way java installs
leith51 said:
1.72 can't be rooted yet and which sdk are you using if its sdk r8 you need to take copy everything out of platform tools and move to tools folder
Sent from my leedroid v1.3a DhD via xda app
Click to expand...
Click to collapse
This solved my Problem. Thanks alot!

[GUIDE] Converting Armv7 Games to Armv6

INFORMATIONS:
This tutorial is only for educational
needs, I'm not responsible for using it
for other purposes
U can convert only Unity 3D games.
For now We don't know how convert
GLU games (based on unity) cuz libs
are in .obb files.
Not all games work after convert, for
example shadowgun.
REQUIREMENTS:
•Zip signer (for android device)
DOWNLOAD
•This tool (for pc)Tool Made By Me
•Libs from unity engineLibs Updated
•Any file manager
INSTRUCTIONS:
1. Check to see if game is based on
unity.
Open APK file (winrar etc.) and go to :
Apk->Libs->Armeabi-v7/ and check this
2 files:
-Libmono.so
-Libunity.so
If game has this two libs is based on
unity so we try convert.
2. Check the versions of the unity 3D.
Open your apk and go to:
Apk->assets->bin->Data here - you can
open so much file to get info, but we try
with file mainData - Open with some txt
editor.
Now u see this:
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
At first line u get info about version of
libs, just see this: 3.5.5f3 (Any game has
different versions)
Now delete armv7 libs from game:
Apk->lib-> here (armeabi-v7 )
And from Apk->assets->libs-> here
3. Replace with Armv6 libs
Just open file libs.zip and get libs with
your version (we have here 3.5.5f3)
And copy to apk->lib and
Apk->assets->libs
4.if u finish everything remember to sign
apk, you can use zipsigner for android or
tools by Me
CREDITS:-
•Doc.Who & Kondzio(Special Friends)
•NitroOxid For some steps
Buy me a Drink link on my signature
-Rik[Rittik]
You're awesome
Thanks
-Rik[Rittik]
lags after converting
I converted an armv7 game to armv6 game but it is lagging a lot. I use CH3D and Seeder but it still lagging.
When I converted a game by myself it lagging but when I play the same game that is converted from someone else its not lagging
can you give me some tips for reducing lag?

[Tool] [Windows] Makes flashing quick and easy!

With Google releasing monthly patches (which I believe is a good thing!), it's become a bit of a chore to install updates, especially so if, like me, you have a modified device stopping you installing OTA updates.
I wanted to do something to make it a bit quicker, so I made Nexus Flash! I guess you can think of it as minimal ADB & Fastboot packaged with a GUI.
I've decided I don't like the GUI layout, and I'm pretty sure most will agree, so I've already started working a new layout, bug fixes, and adding some extra features which I'm sure some may find helpful like an update manager (so you don't have to go to Github every time there's a new version), another example is a way to boot an image file too, for instance, Chainfire's CF-Auto-Root.
Currently, there isn't much validation of user input, so please only use it as intended for now. It shouldn't break your device if you don't use it correctly since ADB has built in measures to validate files to some degree at least.
However, I have to say, this program is provided without ANY warranty or guarantee. Using this program is at your own risk. I have tested this on my own Nexus 5X and it works perfectly.
The source code is released under the GNU GPL (General Public Licence) and can be found on Github.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Prerequisites for Windows:
You'll need the .Net framework 4.5.2 installed (Windows 10 already has this).
Prerequisites for Android device:
Your device must have an unlocked bootloader.
You must have USB debugging enabled.
You'll also need the Android ADB USB drivers installed too.
Guides can be easily found by searching for them, there's plenty of them around!
Links:
Binary - Github releases
Source code - Github
Issues or feature suggestions - please direct them to Github (preferred). Or simply create a comment on this thread.
Release notes
Version 1.0.0
Initial release!
I've had to delay writing the new update for this (because life gets in the way), but I promise I will get an update out ASAP!

[WINDOWS/LINUX/MacOSX][NodeJS] Android Debug Bridge Tool

Hello all!
I am back at it again with a new Android Debug Bridge GUI, now written in NodeJS!
Features:
Install APKs
Custom TWRP integration
Fastboot commands in one click!
Backup device via android or twrp backup methods
build.prop reader (soon to be editor)
Root checker (Soon to be root installer too for LineageOS devices)
Custom Commands
Multi-device support
It has the same basic features that my Older ADBGUI application had but with the added benefit that it will work on Windows, Linux, & Mac! (AndroidSDK needs to be installed on Mac in order to use, Minimal ADB installed on Windows in order to use, and android-tools installed on Linux in order to use)
Some features still do not work, but it is currently work-in-progress. It also can be used as a Kiosk in cell phone repair shops to quickly run diags on Android Devices.
This application is written in NodeJS and is built to run under Windows and Linux however it should (untested) be able to run under Mac as well.
This application should NOT - I REPEAT SHOULD NOT be run on a computer that can be directly accessed outside of the local network.
Downloads:
https://urgero.org/howto/linux/adbwui.md
Screenshots:
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Very interesting your project. Good job!!!
FernandoSilva said:
Very interesting your project. Good job!!!
Click to expand...
Click to collapse
Thank you! It's based on my adbgui idea from 2012.
Sent from my Moto G4 Play using XDA Labs
#bump (sorry)
Is this the same project as photo attached??
What do you mean by ""This application should NOT - I REPEAT SHOULD NOT be run on a computer that can be directly accessed outside of the local network."" ???
Why would you not have the computer connected to WIFI? Is this a licencing issue?
I cannot understand why no one adjusts the name slightly when reviving these projects (e.g. adbGUI v2 OR.... adbGUI for MAC, etc).
So Linux only support??
EDIT: Looks like the project is now "ADBWUI" @ https://github.com/mitchellurgero/ADBWUI
flipmode_11 said:
Is this the same project as photo attached??
What do you mean by ""This application should NOT - I REPEAT SHOULD NOT be run on a computer that can be directly accessed outside of the local network."" ???
Why would you not have the computer connected to WIFI? Is this a licencing issue?
I cannot understand why no one adjusts the name slightly when reviving these projects (e.g. adbGUI v2 OR.... adbGUI for MAC, etc).
So Linux only support??
EDIT: Looks like the project is now "ADBWUI" @ https://github.com/mitchellurgero/ADBWUI
Click to expand...
Click to collapse
This project is stale. I wouldn't use it. The warning is there because it runs a webserver without any authentication for the UI. This project runs on NodeJS - so supports any OS that supports node.

Categories

Resources