昨天,因爲項目需要對包名進行修改,經過一番折騰,項目正常使用,爲此,對修改包名涉及的東西進行總結。
1.修改,AndroidManifest.xml文件
搜索並找到”package”屬性,進行修改
package="com.project.xxx.xxx"
搜索並找到”application”標籤,查看name屬性,是否使用全包名引用,
如果是全包名,包名可能需要修改,
如果非全包名,改爲全包名引用
搜索並找到”activity”標籤,查看name屬性,是否使用全包名引用,
如果是全包名,包名可能需要修改,改爲最新包名
如果非全包名,改爲全包名引用
2.修改build.gradle文件
搜索並找到“applicationId”字段,替換爲最新包名
3.修改,google-services.json文件
搜索並找到”package_name”屬性,替換爲最新包名
4.修改命名空間
假設原來的包名:com.project.oldxxx
項目中命名空間:http://schemas.android.com/apk/res/com.project.oldxxx
搜索上面這個命名空間,查看否有被使用,將包名修改即可,替換後如下:
xmlns:app="http://schemas.android.com/apk/res/com.project.xxx.newxxx"
5.修改源文件
涉及到activity,fragment,部分自定義控件
假設原來的包名:com.project.oldxxx
1.全局搜索,import com.project.oldxxx.R,即,原來包名.R,找到所有源文件進行修改,全局替換爲新的包名,import com.project.newxxx.R
2.藉助build,build failed後,會有相應的R文件找不到錯誤信息,定位所有源文件進行修改
推薦第一種
以上是修改包名需要注意的幾點