My app uses the class android.view.ViewGroup, which when I develop in Eclipse(I know it's old) seem to come from android.jar. android.jar was downloaded by the SDK Manager. My project had a build target of Android 5.1.1, API Level 22.
The app is installed and run on a Samsung Galaxy Tab 2 running Android 7.0 Nougat API level 24. (Seems you can build to one API level and run against a different one.)
Where is the implementation of a class like android.view.ViewGroup on the tablet device? Decoding the .apk with apktool shows that then android.jar classes were not translated into dex and passed in the classes.dex file in the jar. So the implementation of these platform classes must already be on the phone/tablet. Looking around (with 'find' on a rooted device) I see some .jar files in /system/framework which don't look right. I don't see much in the way of .dex files.
I want to debug/trace some calls into ViewGroup and View and the source that I have for android.jar on the host doesn't match (the line numbers) of whatever is running on the tablet. I'd like to know where the code is on the tablet that matches the android.jar file I have in Eclipse (from the SDK manager). Perhaps I can find the source or decompile it or something.
getClassLoader() doesn't seem to help find it. In the debugger I looked at the expression ((View)vw).getClass() and vw.getClass().getClassLoader() The class object contained a 'dexCache' field with a 'location' subfield that refered to /system/framework/framework.jar -- which was just a stub of a jar (manifest entry, but no real content). I think the getClassLoader() was there for some degree of compatibility with Java, but not really used.