當前位置:首頁 » 安卓系統 » android兼容50

android兼容50

發布時間: 2022-06-22 15:34:08

1. android各版本之間軟體兼容嗎

有區別···· 有些軟體兼容 有些不兼容 要看具體的軟體哈

2. Android手機64位和32位的軟體存在兼容問題嗎

Android手機64位和32位的軟體存在兼容。

關於Android 64位系統兼容32位應用的實現的簡單分析:

Android 的zygote進程的實現不同於之前的版本,除了有zygote進程之外還有zygote64進程。

在init.zygote32_64.rc中有明確指出:

service zygote /system/bin/app_process32 -Xzygote /system/bin --zygote --start-system-server --socket-name=zygote

...

service zygote_secondary /system/bin/app_process64 -Xzygote /system/bin --zygote --socket-name=zygote_secondary

...

其中app_process32 和app_process64 就是zygote進程的可執行程序,啟動後會改名成zygote。

顧名思義,zygote32即app_process32是一個運行在32位的進程,它所連接的庫也都是32位的。而zygote64就是運行在64位的進程,它所連接的庫都是64位的。

在不考慮有32/64兼容庫的情況下,一個進程如果要正確運行,就必須從可執行程序入口開始到所有使用的庫都保持32/64位的一致性。

因為zygote進程是所有第三方應用程序的父進程,所以可以認為,如果應用程序是32位的,那沒他的父進程也肯定是32位,換句話說,如果需要啟動某個32位的應用,那麼肯定是通過32位的zygote進程fork出來的。

這個一點可以在ActivityManagerService上得到驗證。

ActivityManagerService中startProcessLocked方法實現啟動應用,主要通過Process中的startViaZygote方法

這個方法最終是向相應的zygote進程發出fork的請求 zygoteSendArgsAndGetResult(openZygoteSocketIfNeeded(abi), argsForZygote);

其中openZygoteSocketIfNeeded(abi)會根據abi的類型,選擇不同的zygote的socket監聽的埠

在之前的init文件中可以看到zygote32位監聽的埠就是–socket-name=zygote另外一個就是–socket-name=zygote_secondary

因此可以證實,之前的猜測,即32應用進由32位zygote進程fork出來,64位應用進程由64zygote進程fork出來。那麼之前說的abi參數就是決定應用是32還是64位的關鍵所在,跟蹤這個參數,發現這個參數在ApplicationInfo的primaryCpuAbi中決定

這個值由PackageManagerService在做scanPackageLI的時候決定,具體這個值的得出有一個公式化的過程,主要就是判斷這個apk有沒有使用native的庫

如果使用了,那就看使用了的是32位的還是64位的,另外還要看系統支持的是32位還是64位的。

在64位設備上,如果app的 lib 目錄下 存在armeabi,則以32位兼容方式運行。

如果存在arm64-v8a 則已64位運行。如果沒有任何 so,則 primaryCpuAbi 為空,按照系統的默認配置決定,也就是64位運行。

根據這些因素就可以決定這個apk是應該是32位的還是64位的。以上就是Android L 64位系統兼容32位應用的基本實現過程。另外記錄一點,在源碼環境下如果要PREBUILT第三方的so

如果是32位的需要專門標注 LOCAL_MULTILIB := 32以此告訴編譯系統so位32位,防止編譯到64位下去。

(2)android兼容50擴展閱讀:

64位和32位晶元的區別

其實手機處理器和PC處理器對於位數的概念是相同的,這里我就用PC的處理器來說明了。對CPU有些了解的人大概都知道Pentium 3和Pentium 4,了解更深的,還會知道是i386處理器在20幾年前把處理器從16位帶入32位時代。

處理器經過了近30多年的考驗後,到現在已經躍升到64位,這可不同1GHz到3GHz的頻率提升。如果說頻率的提升是把一條4車道高速公路的時速限制從120公里提升到了360公里的話

那麼從32位到64位的提升就是將這條提升了3倍時速限制的高速公路從4車道拓寬到了8車道,也就是說,這條公路的運力提升了一倍,這可是質的飛躍。

3. 關於android系統的兼容性問題(高手進!)

說說我的個人感覺,我在用MS三個月了,每天都泡google
market下載新應用。至今為止我遇到的不兼容ms的應用加起來不超過10個,基本上都是跟主題相關的應用。我認為完全沒必要擔心兼容性問題。

4. 現在Android上的應用一般支持的最低版本是多少

目前安卓的應用基本上都只兼容4.0以上的系統版本,因為4.0以下的設備都已經基本淘汰了,所以應用再考慮系統兼容性的時候,就舍掉了4.0以下的安卓版本兼容了

5. 怎麼做android各機型兼容性測試不會要買N多真機吧

你答對了,就是要准備很多樣機。不同品牌的手機是會有區別的,和api version無關。我們開發的軟體,光測試機就有50多台。目前碰到過的硬體問題主要有:1,一些奇怪的解析度,android無法識別為large-size。不過api version 7以後沒問題了,要是對應ver4的要注意。2,硬體參數不同。拿相機來說,有的沒有閃光燈,有的快門聲不能跟著手機模式設定。還有幾款手機保存圖片會偏轉90度,這個信息是保存在DB的。3,手機信息不同。這個沒什麼好解釋的,應該一台機器一個編號,通常用來做用戶識別。但就是有款手機,全部編號都是一個數字。。。4,未知。。。android的多機種對應真的很蛋疼,尤其是要用手機硬體的時候。

6. 我的項目在android api17寫的,能運行安卓5.0以上的手機嗎安卓所謂的兼容是怎麼回事呢

可以運行的,前提是你的androidmanifest.xml文件中(用ecplise開發)或者Gradle文件中(用studio開發)沒做版本限制。兼容問題一般情況下是使用了某個功能(可能是某個類的某個方法),而這個功能是在某個版本的SDK中才增加的,那麼如果在這個版本一下的手機上運行,就會出問題,所以開發中都會先定好在什麼版本的SDK環境下運行,不要使用高於當前SDK的方法。
當然還有其他千奇百怪的兼容問題,某些品牌的手機都是自己封裝的系統,使用系統控制項的時候,在這些系統中就有可能出問題。比如以前遇到過:使用 系統自帶的截圖類,在其他手機中都好用,只有在華為手機(哪個型號忘了)中使用時,截圖完畢後,取不到返回的數據,最後沒辦法使用了自定義的截圖類。類似的問題還有很多,沒法說全的。
純手打~

7. 如何進行android兼容性測試cts

二、運行CTS的方法,步驟如下:
(1)進入目錄android-cts,該目錄是通過上面那兩種方法獲得的。在android-cts目錄下會有3個文件夾,其中一個是tools。
(2)進入tools目錄,輸入./startcts來啟動CTS。
(3)如果運行成功會出現Android CTS version 2.3_r1的字樣(我的android的版本是2.3的)。如果有連接設備到PC上還會出現Device(設備ID)connected的字樣。這里設備可以是連接PC的android的機器,也可以是模擬器。
三、CTS測試的方法:
(1)在cts_host>下敲入help,會顯示cts下的許多命令。ls –plan命令顯示google自帶的測試方案,如:Java、Signature、Android、CTS、VM、RefApp、Performance、AppSecurity。其中Performance這個方案是google暫不要求的。Java、Signature、Android、VM、RefApp、Appsecurity方案都是CTS方案的子集。
(2)用命令ls -d來查看已連接的設備,CTS測試之前我們必須保證至少有一個設備連接上。
(3)輸入命令start –plan CTS來執行CTS測試方案,該方案有兩萬多條測試項目,需要很長時間,因此除了第一次測試之外,不建議這么做。我做的都是針對某些包的測試。如果連接了多個設備的話需加上-d參數,後面跟上設備id來告訴CTS需要測試的設備。
(4)對單獨一個包進行測試的方法:start –plan CTS –p 包名;推薦用這種方法來進行針對性的測試。需要知道有哪些包名,可以輸入命令:ls –plan CTS
(5)也可以針對單獨一個case進行測試:start –plan CTS –test 類名#方法名
四、查看測試的結果:
測試生成的log在\android-cts\repository目錄下以log+測試時間.txt命名。測試報告在android-cts\repository\results目錄下,也是以測試時間命名。
五、注意事項:
(1)測試前需要安裝一個apk:adb install -r android-cts/repository/testcases/.apk 然後在設置裡面

8. 如何降低android系統版本要求,提高兼容性

方法/步驟

要改變android中項目的兼容版本,如圖所示。現在是4.3,我要改成2.2.

接下來在項目的名稱上右擊一下就,出現如圖所示的選項,作出如圖所示的選擇就可以了。如圖所示。

這個時候再作出如圖所示的選擇。如圖所示。這個時候你就可以改變android的版本了。如圖所示。

現在在這里我改選為2.2的版本。如圖所示。

5
最後,你會發現,成功的選擇了2.2的版本了,如圖年示。在項目中已經改過來了。

9. android程序如何設計成向下兼容或者兼容多個android版本系統

android程序不可能實現向下兼容,設計既是如此;高版本中底層的變化,新介面什麼的低版本是支持不了的;要想兼容多個android版本系統,你只能在低版本的系統上開發。

10. Android 手機版本兼容問題,低於做的apk版本不能運行,如何兼容

修改編譯sdk版本,注意低版本沒有的方法,類等

熱點內容
辦公室視頻劇本腳本 發布:2025-05-15 12:03:51 瀏覽:489
編譯失敗什麼意思 發布:2025-05-15 11:58:18 瀏覽:87
lcs腳本官網 發布:2025-05-15 11:56:15 瀏覽:88
三國志戰略版打9級礦什麼配置 發布:2025-05-15 11:41:29 瀏覽:953
安卓加速器怎麼關 發布:2025-05-15 11:38:16 瀏覽:465
密碼鎖壞了如何打開 發布:2025-05-15 11:30:19 瀏覽:837
怎樣增加共享文件夾連接數量 發布:2025-05-15 11:24:50 瀏覽:961
安卓如何關閉單應用音量 發布:2025-05-15 11:22:31 瀏覽:352
抖音電腦後台伺服器中斷 發布:2025-05-15 11:11:59 瀏覽:308
sql2008伺服器 發布:2025-05-15 11:03:27 瀏覽:307