天天看點

一起Talk Android吧(第三百回:修改應用程式的包名)

看官們,我們在上一章回中介紹了Java中Timer的例子,本章回中我們将介紹Android中修改應用程式包名的例子,閑話休提,言歸正轉。讓我們一起Talk Android吧!

最近在AndroidStudio中運作一個比較老的工程時編譯正常,但是程式無法安裝到手機上,錯誤資訊為:INSTALL_FAILED_VERSION_DOWNGRADE網上搜尋相關資料後得知是目前應用程式的版本比已經安裝在手機上的應用程式版本低,但是手機上沒有此應用程式,可能是時間長了,此應用程式被删除或者覆寫了。折騰半天仍然無法解決。換個思路:解決不了就繞開它!

程式版本低是直接原因,根本原因是同一手機上不能安裝相同包名的應用程式,換個包名就可以安裝。于是我總結出修改程式包名的方法:

  • 1.在AST中切換到Packages視圖
  • 2.在包名上點選右鍵:選擇Refactor->Rename。在彈出視窗中填寫新的包名;
  • 3.搜尋完整個工程後點選done,确認替換,到此任務完成;

這個操作看似簡單,但是有以下内容還需要引起注意:

  • 1.隻能替換最後一個名稱,舉個例子:完整包名是com.tencent.qq,隻能替換成com.tencent.wechat,也就是最後一個段中的名字;
  • 2.替換後重點檢查兩個地方的值是否正确,

            第一個是AndroidManifest.xml中的首行:

<manifest xmlns:android="http://schemas.android.com/apk/res/android
"package="com.tencent.wechat"> //這個值是否正确
           

            第二個是app目錄下的build.gradle檔案中的

defaultConfig {

applicationId "com.tencent.wechat"//這個值是否正确

}
           
  • 3.修改包名的同時也會修改檔案目錄名稱;
  • 4.如果想把完整包名中所有的名稱都替換掉,那麼隻能手動修改檔案目錄名稱,接着再手動修改2中兩個地方的值;
  • 最後是手動修改程式檔案中import 包名的代碼,可以使用全工程replace的功能,不然修改起來很消耗時間;
  • 5.包名修改後程序名也會跟着變化,可以在AST上調試log時看到,因為此時運作的是debug版本,不過在正式的release版本中看不到程序名,而是顯示一個問号。

各位看官,關于Android中修改應用程式包名的例子咱們就介紹到這裡,欲知後面還有什麼例子,且聽下回分解!