2

我成功製作一個小型私人Android應用程序(使用Appcelerator的,如果有差別),並安裝在我的裝置上從簽署apk文件。爲什麼我的Android應用程序的新版本的apk安裝了舊版本

我那麼做了一些改變,以我的應用程序,並與更新的版本號重新包裝,但使用相同的證書,當我遇到了我的問題簽署。

當我嘗試在Android設備上安裝此,預期它警告我說,但是「之前的所有應用程序的數據將被保存」,「您正在安裝會替換其他應用程序的應用」。我同意替換,並且安裝繼續執行出錯,直到獲取並說「未安裝應用程序」,而沒有任何其他細節。

在原始APK版本代碼和名稱是:

機器人:的versionCode = 「1」 機器人:的versionName = 「1.0」

並且在所述第二版本

機器人:的versionCode = 「2」機器人:

我被這個逼瘋=的versionName「1.1」,我缺少什麼?

+1

是您的應用程序的版本使用相同的密鑰簽署? – stefan 2011-12-15 23:24:01

+0

重做您的設備連接到DDMS你的所有行動,看看你是否可以從logcat的「未安裝應用程序」不是一個詳細的堆棧跟蹤。 – yorkw 2011-12-15 23:50:10

回答

6

首先,請嘗試使用ADB安裝你的應用程序:

adb install -r /path/to/your.apk 

如果沒有幫助,請嘗試:

adb shell pm uninstall -k com.your.package 
adb install /path/to/your.apk 

此卸載的APK,同時保持它的所有數據。然後再次重新安裝它。如果這也沒有幫助,adb至少會給你錯誤代碼,更容易排除故障。

2

如果密鑰簽名是不同的,那麼你可以有問題

1

雖然OP已經提到,他們比以前的版本中設置android:versionCode更高,所以這個答案不會解決他們的具體問題,我有發現在我的情況下,答案是增加android:versionCode比安裝版本更高。只有發現這個問題後想通了這一點/

0

你想與發佈APK使用相同的密鑰簽名,以檢查你的邏輯

startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("https://play.google.com/store/apps/details?id=your_package_name &hl=en"))); 

它會顯示在Play商店更新按鈕。

相關問題