導航:首頁 > 操作系統 > android應用內更新

android應用內更新

發布時間:2022-08-03 03:03:54

① 求教android。做了個android應用更新。

android 從4.0開始是需要用線程下載數據的,如果不存在上述問題,你可以在瀏覽器里輸入url看看數據是不是正常,正常就是你代碼哪塊沒改對,如果不正確就是伺服器的問題了。這樣就能找到根源了。

② android內置應用升級(更新)之後,升級包是替代了原來的程序還是直接

機在出廠的時候手機生產商總會固化一些程序在裡面,而這些程序沒有獲得root許可權是無法刪除的。而這些程序隨著時間的推移會出現新版本,這時候操作手機進行升級,就會覆蓋原來的版本,但並不是替換。當再打開手機應用管理,看到這個程序時就會...

安卓系統,應用寶下載的騰訊系游戲(免流范圍內),在進入游戲後在內部更新,是否免流

目前騰訊軟體『應用寶』手機用戶端只支持安卓系統,蘋果和塞班等其他系統的『應用寶』軟體均不是騰訊公司的,請注意下載使用。在聯通2/3/4G網路下,在『應用寶』手機用戶端內,下載應用專屬流量免費(包括非騰訊系應用)。

④ 我寫一個android應用程序,以前的應用程序版本更新沒有強制更新。 現在我想讓以前的版本強制更新。怎麼弄

一個好的應用程序,的更新操作。一般分為以下幾種類型:無更新、可選更新、強制更新。如果要實現對這3種的控制,方式有很多種。舉幾個例子,你自己選擇適合於你自己的應用。
1.可以再程序剛啟動的時候,從網路服務端,獲取有沒有更新,如果有更新,那麼是屬於「可選更新」還是「強制更新」。如果是強制更新,就不讓程序往下走,提示用戶強制更新。
2.可以通過所謂的「推送」小心,當一個更新操作的推送到達手機,同樣不讓程序往下走,提示用戶強制更新。
3.用戶自己檢測有無更新。
對於如果讓程序不網下運行,這個是很容易辦到的。
隨便補充一下,對於Android上的應用程序,所謂的更新,其實不像Window下面的更新。Android上的更新,就是一種「替換」而已。

⑤ 怎樣在線更新Android應用

在Android培訓學習中我們看到很多Android開發應用都具有自動更新功能,用戶一鍵就可以完成軟體的升級更新。這一功能實現起來相當簡單,下面就來實踐一下。1. 准備知識在AndroidManifest.xml里定義了每個Android apk的版本標識:<manifest xmlns:android="http://schemas.android.com/apk/res/android"package="com.myapp"android:versionCode="1"android:versionName="1.0.0">< application></application>< /manifest>復制代碼其中,android:versionCode和android:versionName兩個欄位分別表示版本代碼,版本名稱。versionCode是整型數字,versionName是字元串。由於version是給用戶看的,不太容易比較大小,升級檢查時,可以以檢查versionCode為主,方便比較出版本的前後大小。那麼,在應用中如何讀取AndroidManifest.xml中的versionCode和versionName呢?可以使用PackageManager的API,參考以下代碼:public static int getVerCode(Context context) {int verCode = -1;try {verCode = context.getPackageManager().getPackageInfo("com.myapp", 0).versionCode;} catch (NameNotFoundException e) {Log.e(TAG, e.getMessage());}return verCode;}public static String getVerName(Context context) {String verName = "";try {verName = context.getPackageManager().getPackageInfo("com.myapp", 0).versionName;} catch (NameNotFoundException e) {Log.e(TAG, e.getMessage());}return verName;}if (getServerVerCode()) {int vercode = Config.getVerCode(this); //

用到前面第一節寫的方法if (newVerCode > vercode) {doNewVersionUpdate(); // 更新新版本} else {notNewVersionShow(); // 提示當前為最新版本}}復制代碼詳細方法:private void notNewVersionShow() {int verCode = Config.getVerCode(this);String verName = Config.getVerName(this);StringBuffer sb = new StringBuffer();sb.append("當前版本:");sb.append(verName);sb.append(" Code:");sb.append(verCode);sb.append(",/n已是最新版,無需更新!");Dialog dialog = new AlertDialog.Builder(Update.this).setTitle("軟體更新").setMessage(sb.toString())// 設置內容.setPositiveButton("確定",// 設置確定按鈕new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog,int which) {finish();}}).create();// 創建// 顯示對話框dialog.show();}private void doNewVersionUpdate() {int verCode = Config.getVerCode(this);String verName = Config.getVerName(this);StringBuffer sb = new StringBuffer();sb.append("當前版本:");sb.append(verName);sb.append(" Code:");sb.append(verCode);sb.append(", 發現新版本:");sb.append(newVerName);sb.append(" Code:");sb.append(newVerCode);sb.append(", 是否更新?");Dialog dialog = new AlertDialog.Builder(Update.this).setTitle("軟體更新").setMessage(sb.toString())// 設置內容.setPositiveButton("更新",// 設置確定按鈕new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog,int which) {pBar = new ProgressDialog(Update.this);pBar.setTitle("正在下載");pBar.setMessage("請稍候...");pBar.setProgressStyle(ProgressDialog.STYLE_SPINNER);downFile(Config.UPDATE_SERVER + Config.UPDATE_APKNAME);}}).setNegativeButton("暫不更新",new DialogInterface.OnClickListener() {public void onClick(DialogInterface dialog,int whichButton) {// 點擊"取消"按鈕之後退出程序finish();}}).create();// 創建// 顯示對話框dialog.show();}復制代碼4. 下載模塊注,本部分參考了前人的相關實現,http://www.apkbus.com/android-14576-1-1.htmlvoid downFile(final String url) {pBar.show();new Thread() {public void run() {HttpClient client = new DefaultHttpClient();HttpGet get = new HttpGet(url);HttpResponse response;try {response = client.execute(get);HttpEntity entity = response.getEntity();long length = entity.getContentLength();InputStream is = entity.getContent();FileOutputStream fileOutputStream = null;if (is != null) {File file = new File(Environment.getExternalStorageDirectory(),Config.UPDATE_SAVENAME);fileOutputStream = new FileOutputStream(file);byte[] buf = new byte[1024];int ch = -1;int count = 0;while ((ch = is.read(buf)) != -1) {fileOutputStream.write(buf, 0, ch);count += ch;if (length > 0) {}}}fileOutputStream.flush();if (fileOutputStream != null) {fileOutputStream.close();}down();} catch (ClientProtocolException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}}}.start();}復制代碼下載完成,通過handler通知主ui線程將下載對話框取消。

復制代碼或者在AndroidManifest中將android:versionName="1.2.0"寫成android:versionName="@string/app_versionName",然後在values/strings.xml中添加對應字元串,這樣實現之後,就可以使用如下代碼獲得版本名稱:public static String getVerName(Context context) {String verName = context.getResources().getText(R.string.app_versionName).toString();return verName;}復制代碼同理,apk的應用名稱可以這樣獲得:public static String getAppName(Context context) {String verName = context.getResources().getText(R.string.app_name).toString();return verName;}復制代碼2. 流程框架3. 版本檢查在服務端放置最新版本的apk文件,如:http://localhost/myapp/myapp.apk同時,在服務端放置對應此apk的版本信息調用介面或者文件,如:http://localhost/myapp/ver.jsonver.json中的內容為:[{"appname":"jtapp12","apkname":"jtapp-12-updateapksamples.apk","verName":1.0.1,"verCode":2}]復制代碼然後,在手機客戶端上進行版本讀取和檢查:private boolean getServerVer () {try {String verjson = NetworkTool.getContent(Config.UPDATE_SERVER+ Config.UPDATE_VERJSON);JSONArray array = new JSONArray(verjson);if (array.length() > 0) {JSONObject obj = array.getJSONObject(0);try {newVerCode = Integer.parseInt(obj.getString("verCode"));newVerName = obj.getString("verName");} catch (Exception e) {newVerCode = -1;newVerName = "";return false;}}} catch (Exception e) {Log.e(TAG, e.getMessage());return false;}return true;}復制代碼比較伺服器和客戶端的版本,並進行更新操作。void down() {handler.post(new Runnable() {public void run() {pBar.cancel();update();}});}復制代碼5. 安裝應用void update() {Intent intent = new Intent(Intent.ACTION_VIEW);intent.setDataAndType(Uri.fromFile(new File(Environment.getExternalStorageDirectory(), Config.UPDATE_SAVENAME)),"application/vnd.android.package-archive");startActivity(intent);}復制代碼果你將apk應用發布到market上,那麼,你會發現market內建了類似的模塊,可以自動更新或者提醒你是否更新應用。那麼,對於你自己的應用需要自動更新的話,自己內建一個是不是更加方便了呢?本文提到的代碼大多是在UpdateActivity.java中實現,為了能夠使更新過程更加友好,可以在最初launcher的Activity中建立一個線程,用來檢查服務端是否有更新。

有更新的時候就啟動UpdateActivity,這樣的使用體驗更加平滑。年輕是我們唯一擁有權利去編織夢想的時光,把握現在,把握每一分的學習機會。

⑥ Android app和IOS app 更新機制的區別

Android 和 iOS 應用的更新都可以不用做,可以讓第三方應用商店來幫你做,你只需更改應用的版本就行了。目前 Android 的通用做法是,在應用內檢查版本號,通過跟伺服器的版本號來對比,版本號不同就更新,具體的做法是可以在應用內寫個下載程序,也可以在彈出瀏覽器來下載。iOS 應用如果要上傳到 app store,是不允許在應用內檢查更新的,否則不讓上架,iOS 的更新更簡單,讓蘋果 app store 來做就行了,你在 build 的時候,改變版本號就行,希望對你有幫助。

⑦ 什麼是Google Play應用內更新

應用內更新功能介紹

Google Play應用內更新是Play Core庫的一項功能,它引入了新的請求流,以提示活躍用戶更新開發者的應用。

這里需要注意的是,應用內更新僅適用於運行Android 5.0(API級別21)或更高版本的設備,並且要求開發者使用Play Core庫 1.5.0或更高版本。滿足這些條件後,開發者即可使用這項功能。

兩種可選擇的更新方式

1.靈活更新

在這種方式下,如果用戶選擇更新,應用程序即使在使用過程中也不會受到影響,可以繼續使用,會由後台會下載並安裝最新的版本,當版本安裝完成後會出現重啟提示。用戶選擇重啟即可完成整體的更新流程。這種更新方式適用於非核心功能的更新。

⑧ 王者怎麼更新

IOS和安卓都是一樣的,進入游戲就顯示有更新的,游戲一般是進入登錄界面就會自動更新,IOS如果還不行的話,一般在AppStore中會有更新提示,安卓各大應用商店也都會有應用更新提示。

王者榮耀更新方法:

1、游戲內提示更新,點擊更新即可。

2、IOS應用更新,找到蘋果商店右下角的更新,在待更新項目中直接更新。

3、安卓應用商店內更新重新安裝。

王者榮耀
(2015年騰訊天美發行的MOBA手游)

《王者榮耀》是由騰訊游戲天美工作室群開發並運行的一款運營在Android、IOS、NS平台上的MOBA類手機游戲,於2015年11月26日在Android、IOS平台上正式公測,游戲前期使用名稱有《英雄戰跡》、《王者聯盟》。《Arena Of Valor》,即《王者榮耀》的歐美版本於2018年在任天堂Switch平台發售。

游戲是類dota手游,游戲中的玩法以競技對戰為主,玩家之間進行1V1、3V3、5V5等多種方式的PVP對戰,還可以參加游戲的冒險模式,進行PVE的闖關模式,在滿足條件後可以參加游戲排位賽等。

⑨ 為什麼Android系統應用更新不是讓新apk替換進入/system分區

這里涉及到兩個問題:odex和第三方製作的Gapps刷機包

買來一個android設備,沒有root前都是這樣子的:

只要不是內地的android設備基本都會搭載google提供的一系列android手機的應用,大家會叫它Gapps,GMS什麼的。這一批應用包含了表面的從gmail到youtube到play service到背後的公共用途的軟體包,以及很多framework和本地代碼動態運行庫及其它內容。

當然其中大部分可執行代碼都以dex這種可以由dalvik這個java虛擬機執行的的形式存在,具體的說,是以odex的形式存在。

dalvik在運行dex之前,需要做一系列驗證,確保dex里頭的代碼是符合規范,是能安全執行的,dalvik做完檢查後,將dex做一些處理(比如調整,加校驗位等),就變成了odex。實際上在dalvik里頭運行的是odex。

所以,正式發售的設備的內置應用程序,都是以***.apk加上同名的***.odex存在的。

因為這種機制,把一對apk/odex放到另一台不同(具體)型號的設備里是沒法運行的。

而google不允許包括CM在內的第三方rom里內置Gapps。Gapps是收費的私有軟體。

所以,目前想到的辦法是藉助smali等開源工具做deodex,將odex轉化成可以通用的dex。這樣重新打包了Gapps後,才能作為刷機包塞到別的設備中

-----------------------------------
google會不會對gapps進行升級?

顯然是的,一部分的升級會通過play store進行,比如更新play store本身,裝一個google play service(這個apk實際上是一個供第三方應用程序的API合集,有了它才能在第三方應用中使用google maps的矢量地圖,通過google+登陸等項目)

另外一部分則要通過設備的OTA做,因為這個更新實在太大了,同一個手機,從android4.0升級到android4.1時,可能每一個Gapps的文件都需要替換,而且android安裝應用程序的機制說到底只能改變apk文件,但它動不了framework,library,所以這些東西的更新需要藉助OTA等通過bootloader許可直接修改system分區的手段

在第三方打包好的gapps里就能發現,gapps有很多很多的版本

我覺得刷gapps的原則是,首先gapps要適配設備當前android的大版本,給4.1用的gapps就不應該刷到4.0系統里,使用intel處理器的尤其要注意,這個gapps是不是給x86設備的,Z24x0/27x0隻能有限度地翻譯arm代碼,把arm設備的gapps給x86設備用,可能會導致系統根本無法啟動;然後越新打包出來的gapps問題可能會越少。

閱讀全文

與android應用內更新相關的資料

熱點內容
為什麼安卓手機藍牙耳機不會彈窗 瀏覽:540
linuxf77編譯器安裝教程 瀏覽:947
android本地錄音許可權 瀏覽:442
加密u盤內容怎麼拷貝 瀏覽:281
安卓手機為什麼看不到iso文件 瀏覽:578
用圖片做文件夾圖標 瀏覽:693
java正則表達式語法 瀏覽:865
美圖秀在線壓縮圖片 瀏覽:184
蘋果自帶控制app是什麼 瀏覽:907
孩子學編程怎麼樣 瀏覽:589
網路編程經典書籍 瀏覽:612
曲靖創建網站java程序員 瀏覽:690
256位加密中是什麼意思 瀏覽:97
php多維數組去重 瀏覽:308
做程序員這一行儲備人才怎麼看 瀏覽:460
參加密逃文 瀏覽:327
蘋果編程語言ios 瀏覽:763
求解病態系統常用的演算法 瀏覽:994
駕校用的app叫什麼 瀏覽:219
數控編程線的纏繞方法 瀏覽:972