在Android应用程序中更改包名,可以从文件的角度来解决这个问题。
原理:
- 包的存在理由之一是为了更好的管理项目文件;
- 文件中对包名的import,目的之一是为了更好、正确的找到目标文件;
根据上述原理,修改包名的问题就转化为更改文件中的对包名的引用和让文件处于正确的目录下的问题。下面根据一个具体例子来说明。
问题:需要把包名com.anhuioss.myproject改成com.mworks.MyProject。
具体操作如下:
- 查找并替换文件中的包名:find -type f | xargs perl -i -pe s%com.anhuioss.myproject%com.mworks.MyProject%g;
- 修改文件所在目录:A:mv src/com/anhuioss/ src/com/mworks B:mv src/com/mworks/myproject src/com/mworks/MyProject
附加说明:
- 替换文件中的包名时,如果使用了JNI,还需要替换以下划线连接的包名;
- A:修改anhuioss目录为mworks;
- B:修改myproject目录为MyProject;
- 其它情况,根据原理做相关处理;
希望对你有所帮助!:)