ruvolof / anmap-wrapper

Nmap wrapper for Android
GNU General Public License v3.0
70 stars 17 forks source link

Add support to "x86" and "x86_64" #7

Closed xtianxian closed 1 month ago

xtianxian commented 2 months ago

Request to add support to "x86" and "x86_64" builds. Thanks!

ruvolof commented 2 months ago

Hi,

Turns out this now works out of the box and I have updated the build script to also build the executable for x86 and x86_64: https://github.com/ruvolof/anmap-wrapper/commit/65667853cf33699929efc9a866168fb82f461cbc

I need a few more days to polish some other changes I recently did and I'll publish a new release on the play store with x86 and x86_64 support.

Cheers

xtianxian commented 1 month ago

Thanks. but i'm actually encountering error for x86_64. What NDK version are you using if you dont mind?

/home/xtian/android-ndk/android-ndk-r25c/toolchains/llvm/prebuilt/linux-x86_64/bin/x86_64-linux-android31-clang -shared -Wl,-soname,libz.so.1,--version-script,zlib.map -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -o libz.so.1.3.1 adler32.lo crc32.lo deflate.lo infback.lo inffast.lo inflate.lo inftrees.lo trees.lo zutil.lo compress.lo uncompr.lo gzclose.lo gzlib.lo gzread.lo gzwrite.lo -lc rm -f libz.so libz.so.1 ln -s libz.so.1.3.1 libz.so ln -s libz.so.1.3.1 libz.so.1 /home/xtian/android-ndk/android-ndk-r25c/toolchains/llvm/prebuilt/linux-x86_64/bin/x86_64-linux-android31-clang -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -o examplesh example.o -L. libz.so.1.3.1 /home/xtian/android-ndk/android-ndk-r25c/toolchains/llvm/prebuilt/linux-x86_64/bin/clang: error while loading shared libraries: /lib/x86_64-linux-gnu/libc.so: invalid ELF header make[1]: [Makefile:291: examplesh] Error 127 make[1]: Leaving directory '/home/xtian/tmp/nmap-7.95/libz' make: [Makefile:148: build-zlib] Error 2 cp: cannot stat 'nmap': No such file or directory

xtianxian commented 1 month ago

Never mind, it got resolved with the latest ndk. Thanks!

ruvolof commented 1 month ago

Glad to hear you solved it!

The oldest NDK I used to compile this is 23.1.7779620.

xtianxian commented 1 month ago

Hello @ruvolof . question again. :P were you able to compile this with older api level? current api level is 31. the binary dont work with api level 21.

xtianxian commented 1 month ago

Just an update: I successfully compiled for arm64-v8a and x86_64 with API level 23 and below.

However, for armeabi-v7a and x86, I was only able to compile successfully when targeting API level 24 and above.

When targeting API level 23 for these architectures, I encountered the following error: liolib.c:720:37: error: call to undeclared function 'ftello64'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] 720 | lua_pushinteger(L, (lua_Integer)l_ftell(f));

This is likely due to missing support for large file handling functions (ftello64) in API level 23 for 32-bit architectures.

ruvolof commented 1 month ago

You definitely did a lot more attempts than me at this :D

From the repo history, I used API level 31 since I started.

ruvolof commented 1 month ago

I just released to the play store a version of the app that support x86 and x86_64 devices. I also created a new release here on Github so that people can download the pre-compiled binary if needed.

I'll wait for the update on google play to roll out and then consider this closed :)

Cheers