没执行到这句吧?
之前有试过adt没发现有高版本的语句,结果adt照样给我生成apk了
只有在那句话执行的时候才会崩溃。

解决方案 »

  1.   


    VERSION.SDK_INT >= VERSION_CODES.JELLY_BEANif条件这个肯定得执行啊。if后面这个 VERSION_CODES.JELLY_BEAN  低版本手机上应该不存在,但是不报错。好奇怪
      

  2.   

    我的意思是你打断点调试下,看执行了没……
    有可能写了if但程序没运行到那里执行了啊测试加查了一下别人的回答,应该可以确定是因为编译时,那个VERSION_CODES.JELLY_BEAN转换成了int类型
    http://stackoverflow.com/questions/12416164/how-to-make-ics-app-api-15-compatible-with-jellybeanapi-16
    有说道:
    Just a note that those Build version codes are compile-time constants, so they are safe to use even on older version of Android 
    大概意思是是:编译时那些版本信息将变为常量,所以对低版本来说是安全的
    ————
    同时我也测试了一个例子,然后把结果反编译(虽然反编译并非一定是原本的意思),得到的结果是一个明显的int类型16
    所以……这样的静态变量是安全的,只要你能编译通过不过如果是高版本api的方法,那么应该毫无疑问会报错。