欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種基于android容器的庫依賴解決方法與流程

文檔序號:11276029閱讀:440來源:國知局

本發(fā)明涉及android系統,尤其涉及一種基于android容器的庫依賴解決方法。



背景技術:

android系統使用bionicc庫,其他眾多c,c++庫也有許多不同;android底層是linuxkernel,linuxkernel一個應用很廣泛的操作系統內核,它有眾多的發(fā)行版,debian,gentoo等電腦桌面系統,meego等面向移動設備的系統。為了在android中支持這些系統中特有的功能,需要向android移植帶有特定功能的程序。而android系統使用了大量和其他系統不能完全兼容的庫,在移植一些幫助android開發(fā),調試,測試,特殊功能的軟件時,都需要修改大量代碼。



技術實現要素:

為了解決現有技術中的問題,本發(fā)明提供了一種基于android容器的庫依賴解決方法,力圖保證既能解決依賴問題,又能保證原有系統的安全。

本發(fā)明提供了一種基于android容器的庫依賴解決方法,在kernel(即操作系統內核)中開啟namespace(即“命名空間”)機制,通過在調用clone()系統調用時設置flag創(chuàng)建一個和原有環(huán)境隔離的新空間,然后在新空間中放置一套程序所依賴的庫。

作為本發(fā)明的進一步改進,在kernel中添加關于pid、ipc、mnt、user、utsnamespace相關配置屬性,kernel啟動過程中初始化pid、ipc、mnt、user、utsnamespace相關配置屬性。

作為本發(fā)明的進一步改進,開發(fā)一個nativedaemon,并將該程序稱之為space_mng,space_mng需傳入兩個參數,一個參數代表space的目錄路徑space_path,另一個參數是依賴這些庫的程序路徑及名稱bin/program_name.space_mng,先將當前進程的根目錄chroot到space_path下,然后執(zhí)行clone(),flag設置為創(chuàng)建新的pid、ipc、mnt、user、utsnamespace;最后當前進程fork一個新進程,加載傳入的程序bin/program_name。

本發(fā)明的有益效果是:在考慮安全性,隔離性的前提下,為android下各種不同的程序依賴不同的庫提供了一個解決方案。

附圖說明

圖1是本發(fā)明一種基于android容器的庫依賴解決方法的示意圖。

具體實施方式

下面結合附圖說明及具體實施方式對本發(fā)明作進一步說明。

通過在android系統中建立多套庫環(huán)境,將依賴不同庫的程序放入自己所需要的環(huán)境中。通過此技術來使android上支持不同的庫環(huán)境。

同時為了安全性考慮,需要保證這些環(huán)境之間盡可能隔離,不能產生互相干擾。

針對以上問題,本方案提出了以linuxkernel的namespace技術為基礎的隔離方案來建立多個獨立的庫環(huán)境。

如圖1所示,一種基于android容器的庫依賴解決方法,在linuxkernel中開啟namespace機制,通過在調用clone()系統調用時設置flag創(chuàng)建一個和原有環(huán)境隔離的新空間,然后在新空間中放置一套程序所依賴的庫,以此解決庫依賴問題;同時由于進程,進程間通訊、存儲、用戶等方面的隔離,移植的程序運行在一個不會干擾原系統的獨立環(huán)境中,保證原生系統的穩(wěn)定和安全。

目錄放置:

首先要確定用哪個文件目錄來存放庫和依賴這些庫的可執(zhí)行文件。為了方便描述,把該目錄稱之為space_path,然后可以在space_path下定制庫目錄,比如創(chuàng)建一個libs文件夾,里面放入庫文件;把依賴此庫的程序叫做program_name,放到space_path/bin下。

程序實現:

1.在kernel中添加關于pid,ipc,mnt,user,utsnamespace相關配置屬性,這樣kernel啟動過程中就會初始化這些機制。

2.開發(fā)一個nativedaemon,為了方便描述我們把該程序稱之為space_mng。

3.space_mng需傳入兩個參數,一個參數代表space的目錄路徑space_path,另一個參數是依賴這些庫的程序路徑及名稱bin/program_name.space_mng,先將當前進程的根目錄chroot到space_path下,然后執(zhí)行clone,flag設置為創(chuàng)建新的pid、ipc、mnt、user、utsnamespace;最后當前進程fork一個新進程,加載傳入的程序bin/program_name。

本發(fā)明提供的一種基于android容器的庫依賴解決方法,可以在android中可以支持多種不同類型的庫,使uclibc,eglibc,glibc可以與android原生的bionic有各自獨立的空間而不至于相互之間有所影響。在考慮安全性,隔離性的前提下,為android下各種不同的程序依賴不同的庫提供了一個解決方案。

以上內容是結合具體的優(yōu)選實施方式對本發(fā)明所作的進一步詳細說明,不能認定本發(fā)明的具體實施只局限于這些說明。對于本發(fā)明所屬技術領域的普通技術人員來說,在不脫離本發(fā)明構思的前提下,還可以做出若干簡單推演或替換,都應當視為屬于本發(fā)明的保護范圍。



技術特征:

技術總結
本發(fā)明提供了一種基于android容器的庫依賴解決方法,在kernel中開啟namespace機制,通過在調用clone()系統調用時設置flag創(chuàng)建一個和原有環(huán)境隔離的新空間,然后在新空間中放置一套程序所依賴的庫。本發(fā)明的有益效果是:在考慮安全性,隔離性的前提下,為android下各種不同的程序依賴不同的庫提供了一個解決方案。

技術研發(fā)人員:王曉華;張韻;江濱;鄧永德
受保護的技術使用者:深圳市海派通訊科技有限公司
技術研發(fā)日:2017.05.09
技術公布日:2017.09.26
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
正定县| 永平县| 龙海市| 涡阳县| 沾化县| 崇州市| 蒙城县| 顺昌县| 合川市| 和林格尔县| 玉山县| 称多县| 白银市| 清水河县| 浙江省| 二连浩特市| 万安县| 贺兰县| 乌鲁木齐县| 东莞市| 东宁县| 甘肃省| 公安县| 宜兰县| 海南省| 武宣县| 三河市| 惠安县| 南陵县| 资兴市| 分宜县| 明星| 雷山县| 云安县| 伊春市| 扎兰屯市| 时尚| 武宁县| 嘉善县| 富裕县| 温泉县|