首先在init.zygote32_64.rc裡面有這兩條開機啟動的服務
最終,可以發現這個值是由apk的native 庫決定的,可以得出乙個判斷邏輯:
如果apk中的native庫中含有arm64-v8a,則以64位的模式執行,fork zygote64
如果沒有,則看有沒有armeabi-v7a,armeabi這兩個,如果有,則以32位模式執行,fork zygote
如果apk中這三個庫都沒有,則預設以64位模式執行。
3、64位和32位執行環境的差異:
動態鏈結庫查詢路徑:
32位的環境是ld_library_path=/vendor/lib:/system/lib;
64位的環境是ld_library_path=/vendor/lib64:/system/lib64;
因此,在編寫native層**的時候,如果有一些**硬編碼了lib裡面的so路徑的時候,比如硬編碼了/system/lib/libc.so 這個路徑,在64位執行環境執行就會出錯
參考文章:
檢視系統原始碼
Android的一些詞彙
1 override override是偽 表示重寫 當然不寫也可以 不過寫上有如下好處 1 可以當注釋用,方便閱讀 2 編譯器可以給你驗證 override下面的方法名是否是你父類中所有的,如果沒有則報錯 比如你如果沒寫 override而你下面的方法名又寫錯了,這時你的編譯器是可以通過的 它以為...
Android 一些錯誤
android fragment裡面放viewpager 巢狀fragment 報錯 解決 在adapter的構造方法裡加上 super fragment.getchildfragmentmanager 把android專案變成lib的時候會在switch語句那裡報錯 解決 switch語句的cas...
android開發的一些概念
在安卓開發的時候,不可避免的需要同安卓開發人員進行交流,所以,這就要求我們對安卓開發的一些概念進行熟悉 以下是一些需要掌握的安卓開發概念。sdk software development kit 一般都是一些 軟體工程師 為特定的 軟體包 軟體框架 硬體平台 作業系統 等建立應用軟體時的 開發工具 ...