[發(fā)明專利]一種基于Android系統(tǒng)NDK的多文件編譯方法在審
| 申請?zhí)枺?/td> | 202010214969.4 | 申請日: | 2020-03-24 |
| 公開(公告)號: | CN111427553A | 公開(公告)日: | 2020-07-17 |
| 發(fā)明(設(shè)計)人: | 楊翔;艾武林 | 申請(專利權(quán))人: | 楊翔;艾武林 |
| 主分類號: | G06F8/30 | 分類號: | G06F8/30;G06F8/41;G06F8/73 |
| 代理公司: | 深圳市漢唐知識產(chǎn)權(quán)代理有限公司 44399 | 代理人: | 劉海軍 |
| 地址: | 537100 廣西壯族自治區(qū)貴港*** | 國省代碼: | 廣西;45 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 android 系統(tǒng) ndk 文件 編譯 方法 | ||
本發(fā)明涉及一種基于Android系統(tǒng)NDK的多文件編譯方法,包括:在Ubuntu環(huán)境下搭建Android工具鏈、配置不同CPU架構(gòu)的源碼、編譯不同CPU架構(gòu)的源碼產(chǎn)生靜態(tài)庫、將Ubuntu下產(chǎn)生的靜態(tài)庫集成到Android Studio不同架構(gòu)下、編譯Android Studio對靜態(tài)庫的調(diào)用代碼生成動態(tài)庫幾個步驟,該基于Android系統(tǒng)NDK的多文件編譯方法中,解決了關(guān)于復(fù)雜多層次文件的編譯方法,如含CPU架構(gòu)相關(guān)的,匯編相關(guān)的編譯,特別是源碼文件超過幾千個時,依賴關(guān)系復(fù)雜的適用于此類方法,大大減輕工作量。
技術(shù)領(lǐng)域
本發(fā)明涉及一種基于Android系統(tǒng)NDK的多文件編譯方法。
背景技術(shù)
隨著Android智能系統(tǒng)的普及,根據(jù)2018年最新的Android應(yīng)用白皮書,超過98%的應(yīng)用存在著安全風(fēng)險,包括App應(yīng)用中的核心技術(shù),核心算法,關(guān)鍵數(shù)據(jù)的泄露。因此對于核心數(shù)據(jù),關(guān)鍵算法的保護越來越高。隨著加密或者防止反編譯技術(shù)的安全呼聲越來越高,這時候往往會采用第三方開源算法或者使用自己的源碼編譯成動態(tài)鏈接庫。對于如何編譯第三方復(fù)雜源碼庫則在此情形下顯得異常關(guān)鍵。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題是:為了克服現(xiàn)有技術(shù)的不足,提供一種基于Android系統(tǒng)NDK的多文件編譯方法。
本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是:一種基于Android系統(tǒng)NDK的多文件編譯方法,包括以下步驟:
A、在Ubuntu環(huán)境下搭建Android工具鏈:利用Android-ndk-r20-linux工具,抽取編譯環(huán)境并且在Linux系統(tǒng)上搭建編譯工具鏈;
B、配置不同CPU架構(gòu)的源碼:將CLANG編譯器采用軟鏈接設(shè)置為GCC編譯器,同時配置GCC環(huán)境變量,指定host主機,將GMP編譯完后,采用相同原理再編譯PBC;
C、編譯不同CPU架構(gòu)的源碼產(chǎn)生靜態(tài)庫:分別編譯GMP算法和PBC算法,產(chǎn)生位置無關(guān)的靜態(tài)庫;
D、將Ubuntu下產(chǎn)生的靜態(tài)庫集成到Android Studio不同架構(gòu)下:利用AndroidStudio工具,設(shè)置不同架構(gòu)的編譯方式,集成GMP和PBC到不同架構(gòu)目錄下;
E、編譯Android Studio對靜態(tài)庫的調(diào)用代碼生成動態(tài)庫:再次集成編譯生成一個bls動態(tài)鏈接庫。
作為優(yōu)選,步驟A中,從網(wǎng)上下載的NDK工具,如:
android-ndk-r20-linux-x86_64.zip。
作為優(yōu)選,步驟B中,配置的GCC環(huán)境變量為臨時環(huán)境變量,這里采用絕對路徑。
本發(fā)明的有益效果是,該基于Android系統(tǒng)NDK的多文件編譯方法中,解決了關(guān)于復(fù)雜多層次文件的編譯方法,如含CPU架構(gòu)相關(guān)的,匯編相關(guān)的編譯,特別是源碼文件超過幾千個時,依賴關(guān)系復(fù)雜的適用于此類方法,大大減輕工作量。
具體實施方式
實施例1:
一種基于Android系統(tǒng)NDK的多文件編譯方法,包括以下步驟:
A、在Ubuntu環(huán)境下搭建Android工具鏈:利用Android-ndk-r20-linux工具,抽取編譯環(huán)境并且在Linux系統(tǒng)上搭建編譯工具鏈;
B、配置不同CPU架構(gòu)的源碼:將CLANG編譯器采用軟鏈接設(shè)置為GCC編譯器,同時配置GCC環(huán)境變量,指定host主機,將GMP編譯完后,采用相同原理再編譯PBC;
C、編譯不同CPU架構(gòu)的源碼產(chǎn)生靜態(tài)庫:分別編譯GMP算法和PBC算法,產(chǎn)生位置無關(guān)的靜態(tài)庫;
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于楊翔;艾武林,未經(jīng)楊翔;艾武林許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010214969.4/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 一種Android設(shè)備之間遠程桌面控制的方法
- 一種Android程序的執(zhí)行路徑的還原方法
- 基于ANCS協(xié)議兼容多平臺的通知消息獲取方法
- 基于字節(jié)碼插樁的Android程序監(jiān)控系統(tǒng)及方法
- 一種減少Android設(shè)備功耗的優(yōu)化方法及裝置
- 一種縮短無屏Android設(shè)備開機啟動時間的設(shè)置方法
- 一種基于Android雙系統(tǒng)的系統(tǒng)間通知同步方法
- 基于移動操作系統(tǒng)的Android兼容層實現(xiàn)方法和系統(tǒng)
- 一種Android智能設(shè)備APK安全管控方法
- 一種應(yīng)用程序開發(fā)中創(chuàng)建Android庫模塊依賴關(guān)系的方法及裝置
- 用于速率匹配的裝置和方法
- 基于本機開發(fā)程序包技術(shù)的多媒體系統(tǒng)及多媒體數(shù)據(jù)傳輸方法
- 一種應(yīng)用測試方法及裝置
- 晶片清洗機及一種晶片清洗的方法
- 晶片清洗機
- 業(yè)務(wù)數(shù)據(jù)處理方法、客戶端與計算機可讀存儲介質(zhì)
- 一種基于C6678的單核實現(xiàn)NDK通信與SRIO傳輸?shù)姆椒?/a>
- 基于移動應(yīng)用的數(shù)據(jù)傳輸加速方法、相關(guān)設(shè)備和加速系統(tǒng)
- 一種基于android系統(tǒng)的數(shù)據(jù)檢索方法
- 一種基于Android系統(tǒng)NDK的多文件編譯方法





