㈠ Android APK 32位和64位 的區別
32位 對應的就是32位的操作系統,那麼 64位 就是對應64位的操作系統。
armeabi: armv5架構和armv6架構(32位)
armeabi-v7a:armv7架構(32位)
armeabi-v8a:armv8架構(64位)
x86:x86架構(32位)
x86_64:x86_64架構(64位)
要確定應用是否包含 64位 庫,最簡單的方法就是檢查APK文件的結構。在編譯時,APK會與應用所需的所有原生庫打包在一起。原生庫會根據 ABI 而存儲在不同的文件夾中。應用無需支持所有的64位架構,但對於支持的每種原生 32位架構,則應用都必須包含相應的 64位 架構
第一步:在AndroidStudio中檢測APK
查看 lib 目錄下是否有支持64位架構的 .so 文件。如果沒有支持 32位 或者 64位 的就在 build.gradle — defaultConfig 中配置一下添加所需要的庫,重新打包。
感覺有用的同學,動動小手指給個贊,碼字不易。
㈡ 安卓NEXUS6手機下載軟體ARM64 X86 ARM這些都是什麼意思好復雜
arm:ARM處理器
arm64:ARM 64位處理器
x86:x86架構
㈢ 平板 安卓系統的 是X86架構好 還是ARM架構好
平板點最好看整體配置,這兩種架構來講,我個戚攜人更傾向X86架構的,因為那是Intel的老牌子。至於蘋果選擇ARM,我覺得是蘋果的軟體能力不需要太好的硬體以節約生產成本。
本人使用華碩ME302C平板電腦,因特爾處理器。據說速度和ipad4不相上下可是IPAD4用的是A6處理器,它的主頻比我的低得多。所以我認為,安卓系統還是選擇因特爾的X86.
同時我給您一點建議,您的安卓系統如果不想root的話推薦2G或以上內存,否則原裝軟體會高肆伏佔用很大內存,導致平板電腦卡頓現雹洞象。
Enjoy it !
㈣ 如何查看手機的cpu類型是x86還是arm
您好,很高興為您解答。
首先您可以先查詢一下自己的手機型號使用的是什麼型號的cpu,現在市面上高通的cpu使用的是自己的內核,而華為的海思,聯發科,獵戶座等等使用的是arm的內核,用x86內核的手機cpu已經很少見了,但是也不一定沒有。
您可以下載一個安兔兔評測,查看硬體配置,查看cpu可以看到架構上的顯示,就知道自己的cpu是什麼類型了。
希望可以幫助到您。
㈤ ARM 和 x86 架構相比,各自的發展前景怎麼樣
個人感覺,雖然win8宣布支派困持ARM架構,x86依然會把持PC絕大部分份額。
性能差距實在塵拿念有點大。ARM要在性能上接近x86,頻率必須比x86處理器高很多,但是頻率一高能耗就瘋漲,抵消了ARM的優點。更不要提Intel的製造工藝比那些生敏姿產ARM處理器的代工廠(如台積電和三星)領先一代。
簡介
更重要的,在PC上支持ARM的應用程序太少。以ARM的Win8舉例,幾乎所有的Windows程序都要為了ARM架構重新編譯才能使用,這個工作量又有多大。
同樣的,雖然,Android宣布支持x86架構(Intel的Atom),ARM依然會繼續佔領移動設備大部分領地。主要原因還是功耗相對差。移動設備重視的功耗而不是性能,因而x86不佔優勢。
㈥ Android中的armeabi、armeabi-v7a、arm64-v8a及x86的詳解
一. lib和libs
放在lib中的是被reference的,放在libs中的是被include的。
放在libs中的文件會自動被編輯器所include。所以不要把API放到libs里去。
lib的內容是不會被打包到APK中,libs中的內容是會被打包進APK中
二. .so庫
NDK編譯出來的動態鏈接庫。
一些重要的加密演算法或者核心協議一般都用c寫然後給java調用。這樣可以避免反編譯後查看到應用的源碼。
三. .so庫該如何存放
放置 .so 文件的正確姿勢其實就兩句話:
• 為了減小 apk 體積,只保留 armeabi 和 armeabi-v7a 兩個文件夾,並保證這兩個文件夾中 .so 數量一致
• 對只提供 armeabi 版本的第三方 .so,原樣復制一份到 armeabi-v7a 文件夾
存放so的規則:
你應該盡可能的提供專為每個ABI優化過的.so文件,但要麼全部支持,要麼都不支持:你不應該混合著使用。你應該為每個ABI目錄提供對應的.so文件。
四. libs下armeabi等的作用是什麼
存放.so庫,主要針對不同的設備兼容,也可以說是專門針對不同Android手機下CPU架構的兼容。
Android 設備的CPU類型(通常稱為」ABIs」)
早期的Android系統幾乎只支持ARMv5的CPU架構,後面發展到支持七種不同的CPU架構:ARMv5,ARMv7 (從2010年起),x86 (從2011年起),MIPS (從2012年起),ARMv8,MIPS64和x86_64 (從2014年起),每一種都關聯著一個相應的ABI。
應用程序二進制介面(Application Binary Interface)定義了二進制文件(尤其是.so文件)如何運行在相應的系統平台上,從使用的指令集,內存對齊到可用的系統函數庫。在Android 系統上,每一個CPU架構對應一個ABI:armeabi,armeabi-v7a,x86,mips,arm64- v8a,mips64,x86_64。
armeabi-v7a: 第7代及以上的 ARM 處理器。2011年以後生產的大部分Android設備都使用它.
arm64-v8a: 第8代、64位ARM處理器,很少設備,三星 Galaxy S6是其中之一。
armeabi: 第5代、第6代的ARM處理器,早期的手機用的比較多。
x86: 平板、模擬器用得比較多。
x86_64: 64位的平板。
如果項目只包含了 armeabi,那麼在所有Android設備都可以運行;
如果項目只包含了 armeabi-v7a,除armeabi架構的設備外都可以運行;
如果項目只包含了 x86,那麼armeabi架構和armeabi-v7a的Android設備是無法運行的; 如果同時包含了 armeabi, armeabi-v7a和x86,所有設備都可以運行,程序在運行的時候去載入不同平台對應的so,這是較為完美的一種解決方案,同時也會導致包變大。
最後,如果我們只想支持armeabi-v7a,那麼需要在gradle中配置
因為默認情況下,打包後會自動生成armeabi 到 x86的所有文件夾。這就有可能導致一些x86的設備因為在x86文件夾下找不到so文件而崩潰。
㈦ Android 的ARM架構和X86架構
Android開發中,在打包發布應用時會選擇應用適配的cpu架構平台,在引用第三方庫時也遇到根據不同cpu架構引入相應的so包。Android主要包括一下cpu架構:
在Android系統上,每一個CPU架構對應一個ABI:
ABI是Application Binary Interface的縮寫,常表示兩個程序模塊之間的介面,且其中一個模塊常為機器碼級別的library或操作系統。它定義了函數庫的調用、應用的二進制文件(尤其是.so)如何運行在相應的系統平台上等細節。其中mips及mips64極少用於手機,出發點是高性能,主要用於路由器、貓。
從CPU發明到現在,有非常多種架構,從我們熟悉的X86,ARM,到不太熟悉的MIPS,IA64,它們之間的差距都非常大。但是如果從最基本的邏輯角度來分類的話,它們可以被分為兩大類,即所謂的「復雜指令集(CISC)」與「精簡指令集(RISC)」系統。
Intel和ARM處理器的第一個區別是,前者使用復雜指令集(CISC),後者使用精簡指令集(RISC)。屬於這兩種類中的各種架構之間最大的區別,在於它們的設計者考慮問題方式的不同。
ARM架構是一個32位精簡指令集RISC(Reced Instruction Set Computing)處理器架構,其廣泛地使用在許多嵌入式系統設計。但在其他領域上也有很多作為,由於節能的特點,ARM處理器非常適用於移動通信領域,匹配其主要設計目標為低成本、高性能、低耗電的特性。
ARM的優勢不在於性能強大而在於效率,ARM採用RISC流水線指令集,在完成綜合性工作方面根本就處於劣勢,而在一些任務相對固定的應用場合其優勢就能發揮得淋漓盡致。ARM結構的電腦是通過專用的數據介面使CPU與數據存儲設備進行連接,所以ARM的存儲、內存等性能擴展難以進行(一般在產品設計時已經定好其內存及數據存儲的容量),所以採用ARM結構的系統,一般不考慮擴展。基本奉行「夠用就好」的原則。
x86 架構是一個復雜指令集CISC(Complex Instruction Set Computer)處理器架構。X86結構的電腦無論如何都比ARM結構的系統在性能方面要快得多、強得多。X86的CPU隨便就是1G以上、雙核、四核。X86結構的電腦採用「橋」的方式與擴展設備(如:硬碟、內存等)進行連接,而且x86結構的電腦出現了近30年,其配套擴展的設備種類多、價格也比較便宜,所以x86結構的電腦能很容易進行性能擴展,如增加內存、硬碟等。
㈧ pc的安卓模擬器怎麼都是x86的,怎麼沒有正常設備的arm架構的
x86運行快,arm的架構速度逗渣很慢。你用過eclipse上模擬器就知余大道了,run一個豎指豎hello world上去都要幾分鍾