最近在使用as的过程中遇到了一个比较不常见的问题。花了比较多时间才解决,网上的资料也比较少,所以这里留个记录,方便自己也方便他人。


首先是问题描述:

在android开发中我们一定厌倦了不停的findViewById和setOnClickListener(),所以寻找一个偷懒的办法也是必然的,这里我使用了比较著名的ButterKnife框架,具体的使用方法有很多我也就不详细说,我要说的是在我使用了这个框架后,android studio构建的时候竟然告诉我编译出错了。错误的日志如下:@Bind-annotated class incorrectly in Android framework package.(android.xxx.xxx...)当时就蒙了,搜了一大堆都没有找到答案,今天有幸找到一个帖子链接,终于让我解决了。这帖子主要说的就是我的包名命名出了问题,因为我的最外层包名命名成android了(不知道是不是as自动帮我加上去的),编译的时候,我们的应用是不允许用android.*或者java.*开头的包名的,所以包名改掉就能正常的运行你的app了。

说起对as中包名的重新命名,一开始还想Eclipse那样去Refactor-Rename貌似没办法做到随心所欲的修改包名,网上搜了搜找到as能方便修改包名的方法,这里就科普一下,已经懂得大牛可以跳过,飞船在此,去看吧Android Studio 修改包名