2014-07-27 37 views
12

我知道.apk文件是zip文件,當我們解壓縮它們時可以解析清單文件以查找有關應用程序的一些信息。對於像我這樣打算創建應用商店的人來說,這非常有用。其實至少我可以找到應用程序的版本名稱和版本代碼。查找由android studio生成的apk的versionnumber和versioncode

但是在android-studio中,當我們構建一個已簽名的apk時,版本名稱和版本代碼沒有在清單文件中定義。我們應該在build.gradle文件中定義它們。因此,現在在我的應用程序商店中,當用戶上傳文件時,我如何找到版本代碼和版本名稱,並檢測到與舊版本不同?

+0

你能解釋更多的目錄? –

+0

@ Code-Apprentice正如我所說的,我有一個應用商店。我希望當用戶上傳apk文件時,我可以找到版本代碼和版本名稱,並確保它們與之前上傳的舊版本不一樣。 –

回答

34

只需使用AAPT從您的路徑/到/你/ Android的SDK /構建工具/你-API的版本可用/ ...

命令執行的例子:

aapt dump badging theuserapp.apk 

而且它會與一些模棱兩可的話:

package: name='com.blabla.theuserapp' versionCode='2000' versionName='2.0.0' 

當然,由於該工具是容易產生原始文本輸出可以腳本,並從您喜歡的腳本languaje解析的可執行文件。

+0

非常好。你可以解釋一下,我該如何編寫腳本? –

+0

你用什麼編程語言來編寫你的服務器應用程序? PHP,Python,Java,甚至Linux shell或Microsoft Powershell等語言都是很好的選擇。 –

+1

很感謝這幫助我確定了YouTube播放器的版本代碼,因爲我需要檢查它以防止舊版本啓動嵌入式播放器。 – JPM

-2

在GNU/Linux環境中,您可以進行bash搜索。

這些步驟: - >在Studio上選擇終端選項卡; - >將目錄更改爲項目的根目錄。 - >運行此命令$找到pwd -name * .apk文件 - >你的APK文件將在屏幕上列出,那麼你就可以看到他們託管你爲什麼要這麼做

相關問題