In a different question I posted (I figured out the answer to that question by now), I noticed a mention of 'Landroid' in the logcat.
My original question: Android app starts slow, but works fine after that slow start
W/dalvikvm﹕ Link of class 'Landroid/support/v4/app/ActivityCompat21$SharedElementCallbackImpl;' failed
After searching on SO I noticed other people also have logcats with an L at the start of a URL (URI?) that doesn't seem to make sense.
Unable to resolve superclass of Lnet
W/dalvikvm(7116): Link of class 'Lnet/appcelent/commonlibrary/Lib_MailSender;' failed
WARN/dalvikvm(498): Link of class 'LShowMap/com/ShowmapActivity;' failed
So I wonder, does that letter L stand for something, or is that a typo somewhere in how the logcat is created? Or is it indicative of a mistake I made myself somewhere?
Also I don't understand what the logcat line means, so that didn't help with my original question either.
Internally Java represents type names as strings: (I don't know why these rules were chosen)
I
is int
, J
is long
, other primitive types have other single-letter names.L<classname>;
where <classname>
is the full class name with .
replaced by /
[
at the front gets you an array of that thing (can have multiple [
s for an array of arrays)Lnet/appcelent/commonlibrary/Lib_MailSender;
means the class net.appcelent.commonlibrary.Lib_MailSender
. The only bug here is that the message shows the internal name instead of the "user-friendly" class name.