一開使用 XE5 都好好的,直到 XE5 Upd2 與 XE6 出來後,重複安裝自己寫的 app 偶而就會遇到這個問題「發生衝突,安裝套件所使用的簽名與現有套件的簽名相同」,只知道跟 delphi 版本升級有關,但就是不知道怎麼解

老招還是求教 google 大師,不過找到的都是說先移除舊的 app 再安裝新的,這我也知道,問題是如果我想讓 app 可以自我更新的話呢?尤其之前不是寫過「輕鬆實用學習 delphi XE5 for Android app(二)App 自我更新機制」的分享文,如果這個問題不能解,那...自我更新不就自打嘴巴了?還要叫使用者先自行移除...那又怎麼自動下載讓使用者安裝新的?

發生的來龍去脈,還是先交代一下好了。其實粉簡單,隨便在 delphi XE5 的環境中寫一個 app ,然後在手機上安裝好這個 app,接下來把這個 app 的 source code 原封不動的轉移到另外一個 delphi 的開發環境(XE5、XE5 Upd2、XE6)均可,重新編譯,把編譯好的 apk 放到剛剛那台手機上安裝...就會出現「未安裝應用程式...發生衝突,安裝使用的簽名與...」

既然 google 沒給答案,只好求教這次 XE6 發表研討會來台灣的 Embarcadero Product Manager - Marco Cantu

 

既然是 Product Manager,這個問題應該易如反掌吧...果不其然,Marco Cantu 解釋說是因為簽名檔的關係,如果把簽名檔從第一個開發環境移到第二個,那麼編譯出來同名的 app 就不會發生衝突嚕...

那...簽名檔在哪呢?delphi 安裝好之後,預設有產生一個 debug 用的簽名檔,就在下述目錄(以 XE6 為例)

比賽結束!

 

to be continued..

arrow
arrow

    縹緲 發表在 痞客邦 留言(0) 人氣()