说来惭愧,好歹还是做了android应用这么久了,居然不知道这个事情。。。
参考:http://www.xmumu.com/post/2013-08-05/40052300660
http://blog.javia.org/android-package-name/
经过测试发现,android的java代码的包名,和apk的包名是完全不相干的。
apk的包名对应工程manifest里面的package字段。
apk的包名,是程序的唯一标识(还有个签名的问题,暂时不讨论)。改了apk包名之后,程序就会被认为是另外一个程序,否则相同包名的apk在手机里面会相互覆盖。
改apk包名的时候,只会影响到生成的R文件的包名。也就会影响且只会影响到代码里面所有用了R文件的地方,因为需要重新导入R文件的包。