Savage F. Morgan

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

As of ADT 14, resource fields cannot be used as switch cases. Invoke this fix to get more information. whats the reason this is used for?

Migrate

Take a look at the official blog post about this:

http://tools.android.com/recent/switchstatementconversion

http://tools.android.com/tips/non-constant-fields

Basically, resource constants in library projects are no longer "final". From the ADT Site:

In other words, the constants are not final in a library project. The reason for this is simple: When multiple library projects are combined, the actual values of the fields (which must be unique) could collide. Before ADT 14, all fields were final, so as a result, all libraries had to have all their resources and associated Java code recompiled along with the main project whenever they were used. This was bad for performance, since it made builds very slow. It also prevented distributing library projects that didn't include the source code, limiting the usage scope of library projects.

posted on 2013-02-05 02:11  罗斯摩根  阅读(2015)  评论(0编辑  收藏  举报