本發(fā)明屬于涉及計(jì)算機(jī)軟件技術(shù)領(lǐng)域,尤其涉及一種基于安卓操作系統(tǒng)的so文件處理系統(tǒng)和方法。
背景技術(shù):
隨著社會(huì)的發(fā)展,各種智能設(shè)備已經(jīng)成為人們生活和工作中不可或缺的電子設(shè)備。現(xiàn)有的智能設(shè)備中廣泛使用安卓(Android)操作系統(tǒng),Androd系統(tǒng)是由Google公司和開放手機(jī)聯(lián)盟領(lǐng)導(dǎo)和開發(fā),其源代碼為開源,因此具有很高的使用率(2013年已達(dá)到78.1%)。OpenSSL是一個(gè)安全套接字層密碼庫,囊括主要的密碼算法、常用的密鑰和證書封裝管理功能及SSL協(xié)議,并提供豐富的應(yīng)用程序供測試或其它目的使用。
現(xiàn)有的很多基于安卓操作系統(tǒng)的軟件(也稱為App)在對安全性要求較高的業(yè)務(wù)場景中需要對數(shù)據(jù)進(jìn)行加密,其中OpenSSL加密算法是一中廣泛使用的開源的加密軟件。這些App需要將數(shù)據(jù)加密封裝到so文件中,需要引用到openssl的加密方法。
現(xiàn)有的安卓操作系統(tǒng)普遍已經(jīng)集成了OpenSSL源代碼,在App進(jìn)行開發(fā)、升級、修改等操作時(shí)需要將封裝的so文件導(dǎo)入開發(fā)設(shè)備(一般來說是計(jì)算機(jī))中?,F(xiàn)有技術(shù)中缺乏簡單有效的工作,能夠快速、準(zhǔn)確的將so文件導(dǎo)入開發(fā)設(shè)備,導(dǎo)致App的開發(fā)、升級、修改等操作效率低。
技術(shù)實(shí)現(xiàn)要素:
針對現(xiàn)有技術(shù)中基于安卓操作系統(tǒng)和OpenSSL加密算法的App進(jìn)行開發(fā)、升級、修改等操作時(shí)缺少有效工具導(dǎo)出so文件的問題,本發(fā)明實(shí)施例的目的是提供一種有效且高效的基于安卓操作系統(tǒng)的so文件處理系統(tǒng)和方法。
為了解決上述問題,本發(fā)明實(shí)施例提出了一種基于安卓操作系統(tǒng)的so文件處理方法,包括:
將開發(fā)設(shè)備連接基于安卓操作系統(tǒng)的智能終端;
利用開發(fā)設(shè)備打開所述智能終端中/system/lib文件夾,獲取其中的libssl.so文件和libcrypto.so文件。
其中,所述方法具體包括:獲取智能終端的ROOT權(quán)限;將開發(fā)設(shè)備連接到智能終端上,利用開發(fā)設(shè)備上的Android studio中的Android device Monitor工具中的File exporer,從智能終端/system/lib文件夾中獲取libssl.so文件和libcrypto.so文件。
其中,所述方法具體包括:
步驟1、在開發(fā)設(shè)備上創(chuàng)建并模擬器;并將模擬器的build.gradle配置文件中的platformVersion配置為與智能終端的so文件的版本相同;
步驟2、將開發(fā)設(shè)備的libssl.so文件和libcrypto.so文件、OpenSSL頭文件存儲在開發(fā)設(shè)備本地的預(yù)定目錄中。
其中,所述步驟2具體包括:
將OpenSSL頭文件拷貝到arch-arm/usr/include目錄和rch-x86/usr/include目錄下;
將armeabi架構(gòu)的libssl.so文件和libcrypto.so文件存儲在arch-arm/usr/lib目錄下,
將x86架構(gòu)的libssl.so文件和libcrypto.so文件存儲在arch-x86/usr/lib目錄下。
同時(shí),本發(fā)明實(shí)施例還提出了一種基于安卓操作系統(tǒng)的so文件處理系統(tǒng),包括:設(shè)置在開發(fā)設(shè)備中的文件提取模塊,所述文件提取模塊在開發(fā)設(shè)備連接基于安卓操作系統(tǒng)的智能終端后,打開所述智能終端中/system/lib文件夾,獲取其中的libssl.so文件和libcrypto.so文件。
其中,所述文件提取模塊用于執(zhí)行以下操作:
獲取智能終端的ROOT權(quán)限;將開發(fā)設(shè)備連接到智能終端上,利用開發(fā)設(shè)備上的Android studio中的Android device Monitor工具中的File exporer,從智能終端/system/lib文件夾中獲取libssl.so文件和libcrypto.so文件。
其中,所述文件提取模塊用于執(zhí)行以下操作:
步驟1、在開發(fā)設(shè)備上創(chuàng)建并模擬器;并將模擬器的build.gradle配置文件中的platformVersion配置為與智能終端的so文件的版本相同;
步驟2、將開發(fā)設(shè)備的libssl.so文件和libcrypto.so文件、OpenSSL頭文件存儲在開發(fā)設(shè)備本地的預(yù)定目錄中。
其中,所述步驟2具體包括:
將OpenSSL頭文件拷貝到arch-arm/usr/include目錄和rch-x86/usr/include目錄下;
將armeabi架構(gòu)的libssl.so文件和libcrypto.so文件存儲在arch-arm/usr/lib目錄下,
將x86架構(gòu)的libssl.so文件和libcrypto.so文件存儲在arch-x86/usr/lib目錄下。
本發(fā)明的上述技術(shù)方案的有益效果如下:上述的技術(shù)方案提出了一種基于安卓操作系統(tǒng)的so文件處理系統(tǒng)和方法,能夠在安卓系統(tǒng)App開發(fā)過程中快速集成OpenSSL加密方法,減少處理加密工作成本。
附圖說明
圖1是本發(fā)明實(shí)施例的基于安卓操作系統(tǒng)的so文件處理方法的流程圖。
具體實(shí)施方式
為使本發(fā)明要解決的技術(shù)問題、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖及具體實(shí)施例進(jìn)行詳細(xì)描述。
本發(fā)明實(shí)施例提出了一種如圖1所示的基于安卓操作系統(tǒng)的so文件處理系統(tǒng)和方法。
所述方法包括:
將開發(fā)設(shè)備連接基于安卓操作系統(tǒng)的智能終端;利用開發(fā)設(shè)備打開所述智能終端中/system/lib文件夾,獲取其中的libssl.so文件和libcrypto.so文件。
其中,所述方法具體包括:獲取智能終端的ROOT權(quán)限;將開發(fā)設(shè)備連接到智能終端上,利用開發(fā)設(shè)備上的Android studio中的Android deviceMonitor工具中的File exporer,從智能終端/system/lib文件夾中獲取libssl.so文件和libcrypto.so文件。
其中,所述方法具體包括:
步驟1、在開發(fā)設(shè)備上創(chuàng)建并模擬器;并將模擬器的build.gradle配置文件中的platformVersion配置為與智能終端的so文件的版本相同;
步驟2、將開發(fā)設(shè)備的libssl.so文件和libcrypto.so文件、OpenSSL頭文件存儲在開發(fā)設(shè)備本地的預(yù)定目錄中。
其中,所述步驟2具體包括:
將OpenSSL頭文件拷貝到arch-arm/usr/include目錄和rch-x86/usr/include目錄下;
將armeabi架構(gòu)的libssl.so文件和libcrypto.so文件存儲在arch-arm/usr/lib目錄下,
將x86架構(gòu)的libssl.so文件和libcrypto.so文件存儲在arch-x86/usr/lib目錄下。
Android studio
本地ndk目錄下放置openssl頭文件和so文件?!皀dk路徑/platforms/android-15/”(platformVersion使用的版本是15)。在“arch-arm/usr”下的“include”放openssl頭文件,在lib下放從armeabi架構(gòu)的“l(fā)ibssl.so”和“l(fā)ibcrypto.so”,在“arch-x86/usr”下的“include”放openssl頭文件,在lib下放從x86架構(gòu)的“l(fā)ibssl.so”和“l(fā)ibcrypto.so”。
需要注意的問題:openssl頭文件需要統(tǒng)一放到“openssl”文件里,在統(tǒng)一放在include路徑下,不同的cup架構(gòu)下的so文件必須對應(yīng),否則會(huì)出現(xiàn)link錯(cuò)誤。
以上所述是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明所述原理的前提下,還可以作出若干改進(jìn)和潤飾,這些改進(jìn)和潤飾也應(yīng)視為本發(fā)明的保護(hù)范圍。