安卓安裝apk檔案,應用版本號不能小於上一個版本的,否則無法覆蓋安裝。
在uniapp
打包的時候,版本號一般都是第一次打包的時候填,之後的打包都留空(讓它自增)。這樣的話,想要從manifest.json
中看出應用版本號是不可能的。
如果你接手了一個uniapp
的原始碼,如果沒有在Dcloud
後臺新增你為協作者,你就需要重新獲取應用的Dcloud appid
,當你修改完程式碼打包釋出以後,卻發現安裝不了,提示應用版本號過低?這種情況,如果可以找到一個以前版本的apk
安裝包,那麼就可以通過apktool
這個工具讀取出來以前的版本號。
方法如下:
- 安裝
jdk
,1.8+ - 下載
apktool.jar
詳細,在C
盤新建資料夾apktool
,然後把apktool.jar
複製到裡面。 - 建立
apktool.bat
檔案,裡面寫入@java -jar "%~dp0apktool.jar" %*
- 把[C:\apktool]加入電腦的環境變數(可選,方便在其他地方命令)。
- 把你的
apk
複製到apktool
目錄,重新命名為a.apk
(其他也行,如b.apk
)。 - 開啟
powershell
或CMD
,執行命令cd C:\apktool\
進入[C:\apktool], - 執行命令:
.\apktool d a.apk
,會報錯不用管,完成以後會在目錄裡生成一個a
的目錄. - 進入
a
目錄,開啟裡面的AndroidManifest.xml
檔案,在第一行中有類似的字串:
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:compileSdkVersion="23" android:compileSdkVersionCodename="6.0-2438415" package="xxx.aaa.com" platformBuildVersionCode="175" platformBuildVersionName="1.12.1">
package
:xxx.aaa.com
是包名,(所以如果不指定以前的包名,也可以用此方法)
platformBuildVersionCode
:175
就是這篇文章要找的【應用版本號】。
platformBuildVersionName
:1.12.1
是【應用版本號】,這個一般在manifest.json
中就能找到,語義化的版本名稱,不影響apk安裝,主要用於程式檢測版本升級。
找到【應用版本號】為175
,接下來,在manifest.json
填一個更大一些的數,比如176
,雲端打包一次。
然後再清空【應用版本號】,以後打包就會自動遞增了。
本作品採用《CC 協議》,轉載必須註明作者和本文連結