[Mono-bugs] [Bug 634068] Don't camelCase package names in Java code.

bugzilla_noreply at novell.com bugzilla_noreply at novell.com
Tue Sep 7 12:42:05 EDT 2010


https://bugzilla.novell.com/show_bug.cgi?id=634068

https://bugzilla.novell.com/show_bug.cgi?id=634068#c2


Jonathan Pryor <jpryor at novell.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|                            |WONTFIX

--- Comment #2 from Jonathan Pryor <jpryor at novell.com> 2010-09-07 16:42:04 UTC ---
<insert much gnashing of teeth here, plus cursing>

May I introduce android.content.pm.PackageParser.buildClassName():

        if (c >= 'a' && c <= 'z') {
            return cls.intern();
        }
        outError[0] = "Bad class name " + cls + " in package " + pkg;
        return null;

Yes, that's right: it asserts that //activity/@android:name attribute value
start with a lowercase character [0].  If it doesn't start with a lowercase
character, package installation fails with
INSTALL_PARSE_FAILED_MANIFEST_MALFORMED.

This means that we can't have PascalCased packages, which means the entire
point to this feature is negated. :-(

[0] Unless //activity/@android:name starts with a '.', in which case it's just
appended to the /manifest/package, which CAN be PascalCase, but this is (a)
likely a bug on their part and (b) I don't want to generate '.'-prefixed
//activity/@android:name values as it makes `monodroid.exe --package=PACKAGE`
impossible to support.

-- 
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.


More information about the mono-bugs mailing list