package name是Android系统中为每一个应用程序分配的一个标识,每个应用的标识都必须是不同的。在应用开发过程中,有时候可能需要对package name进行修改,这里主要总结修改package name的方式和常见问题及有效的解决办法。
在AndroidManifest.xml中的package字段明确指出了package的名称,但是仅仅通过修改package字段来修改应用的package name是不够的,因为package name直接和资源文件R相关,造成在每一个acitvity的文件中,都有这么一句话,import (package name).R;因此,要修改package name还需要同时将所有文件中的这句话的package name修改掉。Android的ADT中提供了统一替换的工具,如下图所示:
如果在使用rename application package的时候工程中存在某个java类文件被完全注释掉了,则会出现unexpected exception occured的错误提示,删除文件或者取消相应注释应该都可以解决这个问题,在http://coollast.blog.51cto.com/6319475/1323473和http://stackoverflow.com/questions/19680717/rename-package-name-inside-android-project/19681399#19681399中都有所提及。
但是如何发现这种完全被注释掉的类没有提到,特别是在工程比较大的时候,有效地发现完全被注释掉的类会更有帮助。最初我是想能不能通过看error log的具体提示来确认造成error的文件到底是哪一个来着,但是发现eclipse的error log下并没有相关文件信息。后来发现其实可以通过看import (package name).R这句话有没有被注释掉就可以。这样的话可以search->file->file search通过搜索package name的方式找出所有含有package name的文件,展开查询结果,并查看是否存在import (package name).R被注释的情况。