導航:首頁 > 源碼編譯 > 模擬器的編譯

模擬器的編譯

發布時間:2023-06-12 04:04:38

『壹』 如何編譯android x86模擬器

首先你需要設置一下emulator工具的目錄之類的
要在.bashrc中新增環境變數,如下
ANDROID_PRODUCT_OUT=~/android/out/target/proct/generic
ANDROID_PRODUCT_OUT_bin=~/android/out/host/linux-x86/bin
這里是設置你的輸出文件的位置和bin工具目錄
然後在命令行輸入:
export path=${path}:${ANDROID_PRODUCT_OUT_bin}:${ANDROID_PRODUCT_OUT};
上面是導入了相關的配置,然後使之生效。
source ~/.bashrc
接著切換到輸出的system文件夾
cd ~/android/out/target/proct/generic
然後來創建模擬器
emulator -system system.img -data userdata.img -ramdisk ramdisk.img
如果你運氣夠好的話,也許現在已經在運行了,不過我運氣明顯不夠好。
提示一:
emulator: ERROR: You did not specify a virtual device name, and the system
directory could not be found.
If you are an Android sdk user, please use 『@<name>』 or 『-avd <name>』
to start a given virtual device (see -help-avd for details).
Otherwise, follow the instructions in -help-disk-images to start the emulator

既然人家提示了,那就按照步驟走吧,輸入命令:
emulator -help-avd
接著提示如下:
use 『-avd <name>』 to start the emulator program with a given Android
Virtual Device (a.k.a. AVD), where <name> must correspond to the name
of one of the existing AVDs available on your host machine.
See -help-virtual-device to learn how to create/list/manage AVDs.
As a special convenience, using 『@<name>』 is equivalent to using
『-avd <name>』.
跟著提示繼續走,輸入命令:
emulator -help-virtual-device
又是提示了:
An Android Virtual Device (AVD) models a single virtual
device running the Android platform that has, at least, its own
kernel, system image and data partition.
Only one emulator process can run a given AVD at a time, but
you can create several AVDs and run them concurrently.
You can invoke a given AVD at startup using either 『-avd <name>』
or 『@<name>』, both forms being equivalent. For example, to launch
the AVD named 『foo』, type:
emulator @foo
The 『android』 helper tool can be used to manage virtual devices.
For example:
android create avd -n <name> -t 1 # creates a new virtual device.
android list avd # list all virtual devices available.
Try 『android –help』 for more commands.
Each AVD really corresponds to a content directory which stores
persistent and writable disk images as well as configuration files.
Each AVD must be created against an existing sdk platform or add-on.
For more information on this topic, see -help-sdk-images.

延伸1):
Android x86模擬器Intel Atom x86 System Image配置與使用方法

大家現在開發使用的Android 模擬器模擬的是 arm 的體系結構(arm-eabi),因此模擬器並不是運行在x86上而是模擬的arm,所以我們調試程序的時候經常感覺到非常慢,大部分開發者應該都深有體會。
針對這種情況,前段時間intel推出了支持x86的Android模擬器,這將大大提高啟動速度和程序的運行速度,這將允許Android模擬器能夠以原始速度(真機運行速度)運行在使用intel x86處理器的電腦中,各位開發者有福了,下面將為大家展示使用方法。

一、首先下載intel提供的 intel® Hardware Accelerated Execution Manager 1.0.1(R2)

requirement:
1. requires the Android* SDK to be installed (version 17 or higher). SDK17或者以上
2.intel® processor with support for VT-x, EM64T, and Execute Disable (XD) bit functionality intel的cpu:並支持VT-X(虛擬化技術)、可擴展64位、Execute Disable bit。(均需要保證在bios中開啟Enable)
3. At least 1 gb of available ram 1G以上內存,否則安裝不了

滿足硬體和軟體要求之後,就可以開始安裝了,一直下一步至安裝成功。途中有個地方選擇分配給HAXM內存大小,一般默認就好,分太多會拖慢整機速度。

安裝成功後命令行輸入sc query intelhaxm,查看運行狀態: state is: 「4 RUNNING」 ,即代表安裝成功。需要更改分配內存,重新運行一下安裝程序選擇change即可修改。
還可以使用以下指令手動開啟和關閉:
Stop: sc stop intelhaxm

Start:
sc start intelhaxm

滿足軟硬體條件,若提示如下Error:but intel Execute Disable bit (XD) is not turned on......
(需要開啟系統數據執行保護功能dep,下午糾結了好久才查到。官網原文:Windows* hosts may need to enable dep (Data Execution Prevention) in addition to intel XD)
命令行使用指令:bcdedit.exe /set nx optin 打開即可,需要重啟電腦

二、下載Intel Atom x86 System Image
1. 從SDK Manager下載:打開SDK Manager,展開至Android2.3.3(API10)(注意:目前只有2.3.3和4.0.3(Ice Cream Sandwich)有x86的Image),需要和2.3.3的SDK Platform配合使用。

2.使用avd Manager創建一個新的avd: Hardware Property裡面選擇gpu emulation yes 還有 Keyboard support yes

3.開始使用飛速的模擬器吧,各種爽歪歪
好的工具可以更有效率的開發APP,讓我們從此告別那龜速的模擬器吧

『貳』 Xcode 11.4 模擬器編譯報錯 Building for iOS Simulator was built for iOS

最近Xcode 升級到了Version 11.4 (11E146)版本。我也乘著工作間隙做了升級。

升級完成,選擇模擬器編譯,經過等待,沒有意外,出現了報錯。
Building for iOS Simulator, but the linked and embedded framework 'AipOcrSdk.framework' was built for iOS.
Building for iOS Simulator, but the linked and embedded framework 'AipBase.framework' was built for iOS.
Building for iOS Simulator, but the linked and embedded framework 'IdcardQuality.framework' was built for iOS.

讀一下內容,意思是引用的第三方庫是 build for iOS 的,不是build for iOS Simulator,這些庫還都是網路的AI識別的真機庫。

查了下蘋果論壇,看看是否有相應的解決方案,然後看到了這篇類似問題
https://forums.developer.apple.com/thread/130684

自己經過嘗試解決問題,然後總結出有2種解決方案。

猜測是Xcode 11.4 Debug模式下,對真機庫的引用做了檢查,我們在模擬器編譯的時候,可以選擇忽略這些文件,因為我們模擬器也不會真的使用這部分庫的功能。

以上,可以正常用模擬器編譯了。

『叄』 如何預編譯 Android 模擬器專用內核

Android源碼編譯之後生成的是ramdisk.img、system.img和userdata.img。而內核源碼編譯完成之後生成的是ZImage。在一般情況下Android源碼是不帶有內核源碼的,但是帶有一個鏡像,這樣在編譯完Android源碼之後就可以模擬器啟動了,如果要更換系統的內核,此時將高版本的內核源碼進行編譯生成ZImage然後替換Android系統的的鏡像。這樣使用模擬器啟動之後就可以查看內核是否已經被刷新。

『肆』 3DS模擬器著色器即時編譯什麼意思

模擬著色器正在高效運行。
絕大多數的Java實現都依賴即時編譯以提高代碼的運行效率。
即時編譯在運行時將代碼翻譯為機器碼,可以達到與靜態編譯語言相近的執行效率。Python的第三方實現PyPy通過即時編譯明顯改善了解釋器的性能。

『伍』 想給安卓模擬器編輯腳本,用什麼編譯好呢

如果單純是按鍵的話可以用按鍵精靈+bili圈重力大師寫重力腳本配合估計可以,重力腳本是模擬器本身自帶的功能

『陸』 如何在模擬器上運行自己編譯的android

Eclipse中對項目右鍵 Run As-->Android Application-->選擇對應模擬器

『柒』 mtk手機模擬器編譯相關問題

這是軟體的事情,有的軟體在過低的MTK中不支持遍歷目錄,就是不支持你隨便翻文件夾,只能讀取程序制定的文件夾,這沒辦法改變,除非你自己會編程,把默認目錄隨意改動。

『捌』 如何編譯 MTK 的模擬器

編譯命令

make custom=xxx gprs/gsm new/remake/update/clean mole_name
編譯時進入Dos下工程所在的目錄,然後輸入上面的命令語句即可開始編譯。
參數:
custom=xxx
xxx是不同的軟體版本,編譯時可忽略參數「custom=」,系統會自動判斷。
gprs/gsm是說明該軟體是否支持gprs的,如果不支持gprs,只輸入gsm即可;
mole_name:各個模塊的名字
new
功能:全部重新編譯
用途:第一次編譯時和修改了make文件夾中的文件必須得重新new一下
remake
功能:只重新編譯工程中更新過的部分
用途:remake是耗時最短的一個動作,也是仿運好最常用的動作。
resgen
功能:編備鉛譯資源
用途:如果更改了資源文件或新加了資源文件,則用此命令。
upadte
功能:先檢查,然後重新編譯更新部分,編譯時間較長。
用途:update是耗時較長的一個指令,
一般在增加或刪除一些驅動或應用情況下使用,在做開發時不推薦使用,此命令雖比new
的時間短,但比remake的時間長很多。
clean
功能:刪除對應的obj
用途:作為其它命令所依賴的指令,還有就是清除工程或者指定模塊對象的類庫。

也可以寫編譯腳本例寫一個new.bat 文件 文件內容為make custom=project_name new
則編譯時在cmd.exe下輸入new 即可 相對應的resgen.bat 內容為make custom=project_name resgen

編譯模擬器時 應注意:
gen_modis
gen_modis功能:產生VC工程文件
在new完成後需要運行此命令,其它情況如果模擬器出現異常時也可用此命令重新生成VC
工程文件。
codegen_modis
功能:產生modis需要的trace文件的datebase
用途:在new完成後需要運行此命令,在運行此命令前需先運行gen_modis命令,此命令在
new完成後一般只運行一次,執行像resgen或remake命令後都不需要運行此命令。
new_modis
功能:組合了gen_modis 和 codegen_modis
只是聽說悄蔽,沒具體試驗過呢我一般分開執行的簡化命令

工程new 一遍 模擬器不會自動生成一個新的模擬器
當改動工程中的make文件時 工程必須要new一遍 然後gen_modis codegen_modis 然後編譯VC
當改動的是源文件且源文件已經是工程中某些模塊的內容 則可以無須對工程進行操作 直接用VC編譯
當改動的是資源文件則工程要resgen remake 然後gen_modis codegen_modis 然後才用VC編

閱讀全文

與模擬器的編譯相關的資料

熱點內容
dvd光碟存儲漢子演算法 瀏覽:758
蘋果郵件無法連接伺服器地址 瀏覽:963
phpffmpeg轉碼 瀏覽:672
長沙好玩的解壓項目 瀏覽:145
專屬學情分析報告是什麼app 瀏覽:564
php工程部署 瀏覽:833
android全屏透明 瀏覽:737
阿里雲伺服器已開通怎麼辦 瀏覽:803
光遇為什麼登錄時伺服器已滿 瀏覽:302
PDF分析 瀏覽:486
h3c光纖全工半全工設置命令 瀏覽:143
公司法pdf下載 瀏覽:383
linuxmarkdown 瀏覽:350
華為手機怎麼多選文件夾 瀏覽:683
如何取消命令方塊指令 瀏覽:350
風翼app為什麼進不去了 瀏覽:779
im4java壓縮圖片 瀏覽:362
數據查詢網站源碼 瀏覽:151
伊克塞爾文檔怎麼進行加密 瀏覽:893
app轉賬是什麼 瀏覽:163