V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
sisteryu100
V2EX  ›  Android

Android Studio 返回“代码过长”报错

  •  
  •   sisteryu100 · 2017-05-09 10:42:35 +08:00 · 6769 次点击
    这是一个创建于 2515 天前的主题,其中的信息可能已经有所发展或是发生改变。

    不好意思,Android 新手。 公司之前使用 eclipse 开发,但是后来发现 Android Studio 的一些新特性不错,所以把旧代码移植到 Android Studio 中。 但是导入过程中,有一个报错不知道怎么去掉。所以想问问大家。 代码过长

    13 条回复    2018-06-06 18:55:46 +08:00
    Gerhman
        2
    Gerhman  
       2017-05-09 12:02:51 +08:00
    那就弄短点啊
    GoBeyond
        3
    GoBeyond  
       2017-05-09 12:07:13 +08:00 via Android
    不应该啊。。感觉这种错误不只应该算 warning 么
    flyingghost
        4
    flyingghost  
       2017-05-09 12:49:17 +08:00   ❤️ 1
    大小限制是有,但很大,64k。一般不写成神经病的代码不会触及这个天花板。
    所以并不是这一行的长度问题。你得检查其他地方。
    codehz
        5
    codehz  
       2017-05-09 13:01:00 +08:00
    @flyingghost #4 静态初始化也是在同一个“函数”里完成的。。。同样受到 64K 的限制
    codehz
        6
    codehz  
       2017-05-09 13:12:04 +08:00   ❤️ 1
    java 对于数组的初始化在字节码层面是对每一个元素的执行赋值,类中所有的静态属性的赋值都在同一个函数中进行,java 对于单个函数的字节码限制是小于等于 64K,如果超出限制,javac 就会报错
    Eclipse 估计是在编译之前自动对源代码进行转换,将大数组的初始化操作移动到另一个静态函数中去了
    另外,这么大的数组(不是指这一行,前面肯定有更大的,这一行还不算太长)就不要直接写静态初始化了,直接内嵌资源更好。。。
    HmyBmny
        7
    HmyBmny  
       2017-05-09 14:22:10 +08:00 via Android
    估计是汉化翻译的问题,你换成英文看看?
    sisteryu100
        8
    sisteryu100  
    OP
       2017-05-09 15:18:45 +08:00
    @flyingghost
    @codehz
    谢谢帮忙,已经搞掂了。原来是撞到天花板了,这个类里面还有各种密钥数据,RSA 等等数据。所以超了 64K。
    codehz
        9
    codehz  
       2017-05-09 15:21:37 +08:00
    @HmyBmny #7 代码过长这个是中文系统下 javac 的输出,与 AS 没啥关系的。。。
    vjnjc
        10
    vjnjc  
       2017-05-09 15:21:52 +08:00
    长见识了!
    bjzhou1990
        11
    bjzhou1990  
       2017-05-09 16:05:41 +08:00
    活久见
    fy
        12
    fy  
       2017-05-09 17:28:45 +08:00
    64k,确实活久见
    gamexg
        13
    gamexg  
       2018-06-06 18:55:46 +08:00 via Android
    这个怎么跑到首页了?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1424 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 17:26 · PVG 01:26 · LAX 10:26 · JFK 13:26
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.