日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

【Android 应用开发】Android 工程修改包名流程 ( 修改 applicationId | 修改 package | 修改 R 资源引用 | 修改 BuildConfig 引用 )

發布時間:2025/6/17 Android 13 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Android 应用开发】Android 工程修改包名流程 ( 修改 applicationId | 修改 package | 修改 R 资源引用 | 修改 BuildConfig 引用 ) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 一、 Android 工程修改包名流程
  • 二、 修改 applicationId
  • 三、 修改 package 包名
  • 四、 AndroidManifest.xml 清單文件組件
  • 五、 修改 R 資源引用、修改 BuildConfig 引用
  • 六、 修改 FileProvider
  • 七、 博客資源


需要將一份工程源碼編譯出的應用 , 在同一手機上運行多個 , 這里不修改源碼中的包名 , 僅修改當前工程配置中的包名 ;

如果當前工程中源碼數量較多 , 幾百個或幾千個的量級 , 不推薦修改代碼中的實際包名 ;

剛移植了一個幾千個源碼文件的工程 , 記錄下流程 ;





一、 Android 工程修改包名流程



Android 工程修改包名流程 :

  • ① 修改 applicationId : 修改 Module 下的 build.gradle 中的 applicationId ;
  • ② 修改 package : 修改 AndroidManifest.xml 清單文件中的 packge 包名 ;
  • ③ 修改 R 引用 : 修改 Java 代碼中的 package.R 引用 ;
  • ④ 修改 BuildConfig 引用 : 修改 Java 代碼中的 package.BuildConfig 引用 ;
  • ⑤ AndroidManifest.xml 清單文件修改 : 所有的組件都使用全路徑名稱 , FileProvider 的 authorities 也要進行相應修改 ;




二、 修改 applicationId



在 Module 下的 build.gradle 中 , 修改 applicationId , 該配置在 android / defaultConfig 層級下 ;


將 applicationId 修改為 “kim.hsl.package_change2” ;

( 修改后 )





三、 修改 package 包名



在 AndroidManifest.xml 清單文件中 , 修改 manifest 根節點的 package 包名屬性 ,


( 修改前 )

將其修改為與 applicationId 相同 , “kim.hsl.package_change2” ;


( 修改后 )





四、 AndroidManifest.xml 清單文件組件



AndroidManifest.xml 清單文件中注冊的所有 Activity , Service 等組件 , 其 android:name 屬性 , 都使用該組件的完整的包名類名 , 避免使用如下缺省包名的形式 :


包名缺省 , 如果修改根節點的 package 屬性 , 就無法找到對應的組件了 , 這里建議使用組件的全路徑名稱 ;


( 推薦使用方式 )





五、 修改 R 資源引用、修改 BuildConfig 引用



包名修改后 , 對應生成的資源類 R , 編譯配置類 BuildConfig 的包名也發生了相應的改變 ;

需要將

import kim.hsl.package_change.R; import kim.hsl.package_change.BuildConfig;

修改為

import kim.hsl.package_change2.R; import kim.hsl.package_change2.BuildConfig;

對于源碼中修改的 R 較多時 , 選中源碼目錄 src , 使用 " Ctrl + Shift + R " 快捷鍵 , 也可以右鍵點擊 src 目錄 , 選擇 " Replace in Path… " 選項 ,



修改 R 資源引用 : 在 " Replace in Path " 對話框中 ,

搜索 “import kim.hsl.package_change.R;
替換為 “import kim.hsl.package_change2.R;

直接點擊下方的 " Replace All " 按鈕 , 替換工程中所有的導入選項即可 ;



修改 BuildConfig 引用 : 在 " Replace in Path " 對話框中 ,

搜索 “import kim.hsl.package_change.BuildConfig;
替換為 “import kim.hsl.package_change2.BuildConfig;


( 在該示例中只有一個 , 如果是一個大型項目 , 會有幾百上千的匹配 )





六、 修改 FileProvider



由于忽略了該步驟 , 導致出錯 , 【錯誤記錄】Android 應用安裝報錯 ( The application could not be installed: INSTALL_FAILED_CONFLICTING_PROVIDER ) ;

如果在代碼中使用了 FileProvider , 需要修改 provider 標簽的 android:authorities 屬性 , 該屬性的屬性值是 包名.fileProvider , 這里的包名需要替換成修改后的包名 ;

修改前 :

修改后 :

<providerandroid:name="androidx.core.content.FileProvider"android:authorities="kim.hsl.package_change.fileProvider"android:grantUriPermissions="true"android:exported="false"><meta-dataandroid:name="android.support.FILE_PROVIDER_PATHS"android:resource="@xml/provider_path" /></provider>

對應的 provider_path 文件中的相關包名 , 也要進行相應修改 ;

<?xml version="1.0" encoding="utf-8"?> <paths xmlns:android="http://schemas.android.com/apk/res/android"><external-path path="Android/data/kim.hsl.package_change2/" name="files_root" /><files-path path="." name="files-path" /><cache-path path="." name="cache-path" /><external-files-path path="." name="external_file_path" /><external-cache-path path="." name="external_cache_path" /> </paths>



七、 博客資源



源碼 : Package_Change 是原始工程 , Package_Change_2 是修改后的工程 ;

https://download.csdn.net/download/han1202012/15712500

總結

以上是生活随笔為你收集整理的【Android 应用开发】Android 工程修改包名流程 ( 修改 applicationId | 修改 package | 修改 R 资源引用 | 修改 BuildConfig 引用 )的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。