個案研究分享

Android APK安裝時出現「套件已毀損。未安裝應用程式」?

App not installed. The package appears to be corrupt.

前陣子,我將一個Eclipse的Android程式,轉換到Android Studio開發環境,在好不容易順利轉換到Android Studio,而且用AVD模擬器也能順利執行,程式方面完全正常,但正當我將專案匯出成APK檔,要實際拿到Android手機上來測試時,居然會出現「套件已毀損」的訊息,接著然後就安裝失敗了。

但我隨便在Android Studio產生一個新的專案,並且產生出APK來安裝,手機又完全都可以安裝,所以代表Android Studio在產生APK檔案時,這部份的功能是沒有問題,有問題的應該是我的專案才對。

為了這個問題,我搞了好幾個小時,也Google了很多資料,發現到有不少人也有這樣的情況,像是Android Studio開發環境重灌、API版本要提高…等等,但我怎麼試,就都還是解決不了這個問題。

最後發現問題時,可真是「恍然大悟」,而且同時覺得自己很蠢…

其實,問題出在你Android手機裡,原本就已經安裝了相同名稱的「Package」程式,例如我的保母題庫練習程式,它的Package Name就是「com.changyang319.babysitter」。

然後,你所要新安裝上去的APK檔的「versionCode」版本,又比目前在手機上的版本還要舊。

舉例來說,因為我新安裝上去的專案,是在Android Studio上的新專案,所以是以「1」開始,但已經安裝在我手機上的程式,它的versionCode早就超過「28」以上了。

所以在安裝這個「1」版本時,Android程式安裝程式就告訴你說,這一定有什麼東西損壞了,因為1是不可以蓋過28的。

因此,想要解決這個問題,不是先把手機上相同的程式先移除,就是去Android Studio,去更新該專案的versionCode數字到比較高的數值。

你可能對這些內容也有興趣: