0

Is there any way to determine what version of the NDK was used to compile an "aar" library? Either decompiling, or via code would be fine, just need to know.

I am trying to determine what version of the ndk one of my third party libraries was built using.

xceph
  • 1,036
  • 2
  • 13
  • 28

1 Answers1

2

An "aar" file is not compiled with NDK, you probably mean one of the c++ libraries inside that file. There is no simple way, but you can rule out new ndk versions according to the library date.

Also, you might be able to find out by getting the compiler version - see if something like this can help: How to retrieve the GCC version used to compile a given ELF executable

Community
  • 1
  • 1
yakobom
  • 2,681
  • 1
  • 25
  • 33
  • Sorry, you're right, the so files inside the aar would be what I am to look at in this case I assume? – xceph Jan 31 '17 at 13:47
  • Correct, the so files are the c++ libraries you need to examine. – yakobom Jan 31 '17 at 13:48
  • I'm able to see lots of mentions of the ndk from using "strings -a ", as well as a GCC version of 4.9.x 20150123, and Android clank version 3.8.256229, but nothing that relates this to a specific NDK version, at least in my understanding. Anything specific that may lead to to know if it was r12, vs r13 or other release? – xceph Jan 31 '17 at 14:30
  • So this is probably r11 - look here: https://developer.android.com/ndk/downloads/revision_history.html# – yakobom Jan 31 '17 at 14:35
  • based off the clang version it would seem it is either 12 or 13, as it was updated to 3.8.256229 in 12, but I dont see mention of it being updated again in 13. – xceph Jan 31 '17 at 14:57
  • 1
    Correct, clang was not updated in r13. The big thing that was updated in r13 was libc++, but I don't think that would have any good fingerprint to detect (and they didn't necessarily use libc++). – Dan Albert Jan 31 '17 at 18:33