2017年6月,英創(chuàng)公司在ESM6802+10.1"LCD的硬件平臺上成功運(yùn)行Android 7.1.1原生操作系統(tǒng)。2017年8月,ESM6802 Android 版可以支持GPIO、串口、以太網(wǎng)、U盤。后續(xù)將進(jìn)一步完善對CAN、SPI、I2C、WIFI、4G等接口的支持。
Google公司專門為開發(fā)Android應(yīng)用程序提供了集成開發(fā)環(huán)境Android Studio,涵蓋了所有Android應(yīng)用開發(fā)相關(guān)的功能。Android應(yīng)用程序主要使用Java語言編寫,要用到開發(fā)工具集SDK(Software Development Kit,提供java編譯工具、Android系統(tǒng)API等,可以直接在Android Studio中下載)。當(dāng)應(yīng)用程序中要直接訪問硬件,或者需要提高運(yùn)行效率時(shí),需要將訪問硬件、復(fù)雜邏輯部分使用C/C++實(shí)現(xiàn)。要在Android Studio中開發(fā)編譯C/C++代碼,需要用到工具集NDK(Native Development Kit,提供C/C++編譯工具、API、打包工具等,可直接在Android Studio中下載)。使用NDK可以將C/C++源碼編譯成動(dòng)態(tài)鏈接庫,供Java調(diào)用。由于Java語言要調(diào)用C/C++函數(shù)需要用到JNI(Java Native Interface)技術(shù),這就要求使用NDK開發(fā)C/C++時(shí),C/C++源碼要符合JNI規(guī)范要求。
圖1 ESM6802 Android版本工作分布圖
為方便Android用戶專注于Android 應(yīng)用層(Java語言)的開發(fā),英創(chuàng)公司對所支持的硬件接口均提供了符合JNI規(guī)范的C/C++動(dòng)態(tài)鏈接庫,用戶只需要加載英創(chuàng)的動(dòng)態(tài)鏈接庫,就可以在純Java語言環(huán)境中調(diào)用動(dòng)態(tài)鏈接庫中的函數(shù),達(dá)到訪問硬件資源的目的。如圖1所示,用戶的工作只是應(yīng)用層的java程序,英創(chuàng)已完成了其他部分工作。
更詳細(xì)的開發(fā)過程請參考用戶手冊《Android Studio應(yīng)用開發(fā)簡介》。在此手冊中,詳細(xì)介紹了Android Studio的環(huán)境搭建,并以Step2_SerialPort為例,介紹了使用Android Studio開發(fā)、調(diào)試、安裝應(yīng)用到ESM6802的過程。英創(chuàng)對已支持的硬件接口提供對應(yīng)的應(yīng)用程序示例,包括C/C++部分的so文件,供用戶參考。
Android應(yīng)用開發(fā)更詳細(xì)的資料請參考開發(fā)者網(wǎng)站學(xué)習(xí):https://developer.android.google.cn/index.html。
成都英創(chuàng)信息技術(shù)有限公司 028-8618 0660