安卓package名不是不允许以数字开头么?这个SDK怎么做到违反这个的?
在android studio中,自己都无法创建数字开头的包名,因为java不允许数字开头的包名。这个我申请的顶象SDK为啥可以这样?(官方接入文档就是混日子的人写的,基本什么都没说,只能想着自己看API源码看怎么用。结果就突然发现这么奇怪的包名,咋做到的????)Android不是不允许,而是不建议。只不过有些IDE做了限制而已。
具体参考https://developer.android.com/guide/topics/manifest/manifest-element?hl=zh-cn
云在天 发表于 2023-10-8 13:03
Android不是不允许,而是不建议。只不过有些IDE做了限制而已。
具体参考https://developer.android.com/gu ...
从这个指南中,反而看到是强制的呀
Android 应用的 Java 语言样式的完整软件包名称。此名称可以包含大写或小写字母(从“A”到“Z”)、数字和下划线(“_”)。不过,各个软件包名称部分只能以字母开头。
而且,这是java的强制规则,即便不用IDE,数字开头的包名,都无法用javac编译的呀 还请各位大佬指点了 版主可以帮忙移到悬赏区么?如果我直接在悬赏区发同样这篇,是否违规? ilovecomputer66 发表于 2023-10-11 19:15
版主可以帮忙移到悬赏区么?如果我直接在悬赏区发同样这篇,是否违规?
你这帖子没挂悬赏没办法移动,你可以直接在悬赏区发,发完在这帖艾特或者回复我一下,我把这帖删了就行了 本帖最后由 hrh123 于 2023-10-15 20:36 编辑
ilovecomputer66 发表于 2023-10-11 19:15
版主可以帮忙移到悬赏区么?如果我直接在悬赏区发同样这篇,是否违规?
不是这里人少,你这发悬赏估计也没人接,关键文档里确实是说不允许的(仅限Java,安卓方面我不懂,也不知道有没有啥特殊的,但也应该八九不离十).
比如oracle的文档里有说
In some cases, the internet domain name may not be a valid package name. This can occur if the domain name contains a hyphen or other special character, if the package name begins with a digit or other character that is illegal to use as the beginning of a Java name, or if the package name contains a reserved Java keyword, such as "int". In this event, the suggested convention is to add an underscore.
If any of the resulting package name components start with a digit, or any other character that is not allowed as an initial character of an identifier, have an underscore prefixed to the component.
至于楼上总版说的确实不了解,可能需要大佬进一步解释.
总之你这个帖子里的现象确实挺怪的{:301_1009:} 本帖最后由 mlgmxyysd 于 2023-10-16 07:31 编辑
演示:编译 abc/abc 后手动改成 123/456
所以虽然是不能直接编译,但编译后是可以改成这样
页:
[1]