編譯so庫源碼,在Linux環(huán)境下要比windows環(huán)境下方便很多。出現(xiàn)問題的幾率也少。
如果你不知道如何安裝子系統(tǒng),可以參考我這篇文章。Windows 11 開啟 WSL2 運行Linux操作系統(tǒng)-Ubuntu (zinyan.com)
而在采用Linux環(huán)境進行編譯任何項目的時候,都會需要配置各種開發(fā)環(huán)境才行。
本篇就是記錄我的配置過程,希望能夠給大家一個參考。主要是依靠apt命令進行的安裝與更新。
sudo apt upgrade :更新全部安裝的軟件包。
sudo apt update : 查看可更新的包,同時它也進行了源鏈接地址的刷新。
安裝前,建議大家修改apt的源,改為國內鏡像源。下載速度將會得到飛速提高。
切換方法可以參考:Ubuntu apt下載源改為阿里云鏡像 (zinyan.com)
zinyan@LAPTOP-141OG4MA:~$ sudo apt-get install git make yasm
例如我的git 已經安裝了。后面安裝了make和yasm。
安裝完畢后可以通過命令查詢是否安裝,例如:apt-cache policy git 查詢git是否安裝
還有相同的 apt-cache policy yasm,apt-cache policy make。
如果沒有安裝的話,就會返回 :Unable to locate package xxxx。
這三個環(huán)境,你明白了才能進行安裝。
例如,我們打算安裝java jdk-8 版本。那么可以通過apt-cache search jdk-8 查詢一下當前源倉庫中的安裝包。
我們如果想安裝jdk 11 那么: apt-cache search jdk-11 也可以查詢一下。
我們根據(jù)左側的名稱,進行下載指定的jdk進行安裝。
zinyan@LAPTOP-141OG4MA:~$ sudo apt-get install openjdk-8-jdk
效果圖如下:
或者我們通過 java -version 也可以看到我們的jdk 版本等信息。
使用apt安裝的方式可以不用我們主動配置環(huán)境變量。如果你采用手動下載并解壓等操作。需要配置環(huán)境變量告訴系統(tǒng)你的jdk是在哪個地方。
搜索ndk 得到google-android-ndk-installer 安裝庫。
那么我們就安裝該庫: sudo apt-get install google-android-ndk-installer
然后會出現(xiàn)下面的界面。
然后讓我們選擇三個鏡像下載地址:分別是google 官網地址:dl.google.com, 微軟的鏡像地址, qq 。通常情況下,建議大家選擇第一個。
然后開始進行安裝。我安裝的版本是: https://dl.google.com/android/repository/android-ndk-r13b-linux-x86_64.zip 這個文件的大小為655MB的壓縮包。
如果不想用這種模式的話,我們也可以主動 直接通過wget命令+ HTTP地址進行安裝。
官網的NDK下載鏈接:NDK 下載 | Android NDK | Android Developers (google.cn)
我開始選擇了微軟的鏡像地址,結果一直連接超時 沒辦法,只能殺進程。重新安裝google-android-ndk-installer 并選擇了dl.google.com
安裝完畢后,通過ndk-build -v指令檢測。(該指令需要ndk路徑已經配置到環(huán)境變量之中了)
如果正常,就會出現(xiàn)版本信息等信息。如果不會就會出現(xiàn):ndk-build: command not found。
說明ndk 的路徑并沒有被配置上去。根據(jù)安裝邏輯最后輸出的結果
我在usr/lib 文件夾中找到了android-ndk文件。
說明ndk已經下載并解壓成功了。我們主動配置一下環(huán)境變量就可以了。
zinyan@LAPTOP-141OG4MA:~$ sudo vim /etc/profile
在打開的profile文件中的最后添加下:
export NDK_HOME=/var/lib/android-ndk //此處為你的ndk安裝路徑
export PATH=$PATH:$NDK_HOME
效果圖如下:
然后保存文檔,并關閉vim編輯模式。
然后為了讓配置生效,我們需要 執(zhí)行:source /etc/profile 然后該配置就生效了
我們再通過: ndk-build -v 就能看到ndk的相關信息了。效果如下圖。
source /etc/profile 只會在當前窗口中生效。你如果啟動了多個ubuntu窗口,那么其他窗口可能ndk-build -v 命令還是不能生效的。
你如果要都生效,需要reboot 重啟整個系統(tǒng)才能生效。
ndk安裝完畢后,下一步就是安裝sdk了Android SDK。簡單的安裝方法就是通過安裝Android Studio 實現(xiàn)安裝。而Linux版本Android Studio 可以在Android 官網中查詢到最新的版本信息。
Download Android Studio and SDK tools | Android Developers (google.cn)
而我們當前只是需要sdk ,并不需要Android Studio。那么我們可以繼續(xù)滑動頁面得到sdk工具的下載鏈接。
sudo wget https://dl.google.com/android/repository/commandlinetools-linux-8092744_latest.zip?hl=zh_cn
進行下載Android SDK。
文件大小約114M左右。然后我們可以通過mv命令對下載的文件夾對象進行重命名。
sudo mv commandlinetools-linux-8092744_latest.zip\?hl\=zh_cn androidtoolsss
例如我將下載的文件命名為了 androidtoolsss。
使用 sudo jar xvf androidtoolsss 進行解壓縮。
你就將得到cmdline-tools文件夾了,里面有android SDK 庫的管理工具。
如果你不給命令添加sudo,可能會出現(xiàn)下面的錯誤:
java.io.IOException: cmdline-tools/bin : could not create directory
at sun.tools.jar.Main.extractFile(Main.java:1064)
at sun.tools.jar.Main.extract(Main.java:981)
at sun.tools.jar.Main.run(Main.java:311)
at sun.tools.jar.Main.main(Main.java:1288)
那么大概率是因為你沒有權限在該文件目錄下創(chuàng)建文件夾權限。
我們解壓完畢后,如果要清理掉壓縮包文件對象。可以使用 :sudo rm -f xxx 刪除該文件
我們下載解壓的目錄結構為cmdline-tools/bin 。
而實際目錄結構需要改為:cmdline-tools/tools/bin
也就是說將cmdline-tools目錄下的全部內容移動到tools文件夾里面去。效果圖如下:
參考ndk的配置方式,將sdk路徑配置到/etc/profile 之中。
export ANDROID_SDK=/usr/lib/cmdline-tools
export PATH=${PATH}:$ANDROID_SDK/tools;$ANDROID_SDK/platform-tools
為了讓配置生效,我們需要 執(zhí)行:source /etc/profile 然后該配置就生效了。
下面開始啟動sdkmanager 工具進行下載操作。
我們在Linux中啟動的所有指令都要添加個sh才能操作,否則提示sdkmanager找不到。
例如:zinyan@LAPTOP-141OG4MA:/usr/lib/cmdline-tools/tools/bin# sh sdkmanager --list 才會有下面的命令輸出結果
更多的關于sdkManager 的指令可以參考:sdkmanager | Android 開發(fā)者 | Android Developers (google.cn)
到這里所有的環(huán)境配置就結束了。
按照上面的方法下載后,我們的platform存儲在了/usr/lib目錄下。如果sdk各種插件下載完畢后,都放在該目錄下就有點混亂了。
可以在下載路徑后面添加指定的存儲路徑。
示例:
然后下載的platform-tools就在我們指定的文件目錄下了。
我們如果要卸載不用在意存儲路徑可以直接卸載:
root@LAPTOP-141OG4MA:/usr/lib/cmdline-tools/tools/bin# sh sdkmanager --uninstall "platform-tools"
到這里,算是將整個環(huán)境都給配置好了。
配置完畢后,我們可以通過adb 等指令檢測sdk是否安裝完畢。
如果你安裝過程中出現(xiàn)了一些問題,以下指令可能會給你一點幫助吧。
三月份是屬于游戲的旺季。新款游戲大作《湯姆克西蘭:全境封鎖》于3月8日全面解鎖,接下來的《殺手》和《極品飛車19》也陸續(xù)在3月11日和15日上線,讓玩家們過足癮。在這些AAA級別大型游戲發(fā)布之際,NVIDIA推出了升級幅度不小的GeForce364.51驅動更新。此次更新除了修復上個版本已知的BUG,還對VulkanAPI提供了官方支持。更令玩家興奮的是增添了對3款新游戲以及2款老游戲的優(yōu)化效果。
《全境封鎖》(TomClancy'sTheDivision)
《全境封鎖》是一款NVIDIA的Theway合作游戲,在3月8日解鎖的當天就發(fā)布了專屬優(yōu)化驅動,給玩家最佳的游戲體驗。GeForce364.51支持對一鍵快速最優(yōu)化流暢設定,支持GameWorks畫質特效、G-Sync同步技術等等畫面優(yōu)化支持。更新最新顯卡驅動,游戲一發(fā)布就可以直接享受最佳優(yōu)化體驗。
《殺手》(Hitman)
馬上跟我們見面的《殺手》,將帶領玩家踏遍全球,成為有史以來最具野心《殺手》系列游戲。新版驅動對《殺手》提供了SLI支持,并且更新了相應的GeForceExperience優(yōu)化設置。等待游戲上線,玩家即可直接化身代號51殺人于無形。
《極品飛車19》(NeedforSpeed)
在《極品飛車19》發(fā)布之前,NVIDIA就提前做好了游戲相關的優(yōu)化驅動。使用GeForceGTX970以上級別顯卡,就可以在1080P,高畫面設置的情況下,享受60幀的完美飚車體驗。
《奇點灰燼》(AshesoftheSingularity)
《奇點灰燼》作為全球首批DX12游戲之一備受關注。NVIDIAGeForceGTX960以上顯卡對DX12的完美支持讓游戲如虎添翼,游戲畫面表現(xiàn)上有了很大提升,此次更新為該作帶來了大幅的優(yōu)化。NVIDIA在DX12時代將更多依靠硬件自身素質保持在顯卡界的領先地位。
《古墓麗影:崛起》(RiseoftheTombRaider)
此次驅動更新再次對《古墓麗影:崛起》做出了優(yōu)化。上個版本中的HBAO+環(huán)境光遮蔽陰影特效,雙路和三路SLI,4xSSAA超級采樣抗鋸齒都得到了加強,讓游戲在渲染量大的場景保持穩(wěn)定的畫面幀數(shù)。
除了游戲優(yōu)化之外GeForce364.51驅動同時還修復了以下13個已知問題,其中Windows10下包括:
-驅動安裝時系統(tǒng)失去響應。
-強制開啟AA后,DX9游戲卡頓。
-R353系列驅動開始,AdobeIllustratorCC2015中驅動停止響應并回復。
-無應用運行時,雙顯卡中的獨顯也默認開啟。
-開啟G-Sync后,克隆模式下筆記本屏幕閃爍。
-開啟ShadowPlay后,《刺客的信條:梟雄》游戲崩潰。
-《刺客的信條:梟雄》需要SLI配置檔案。
-Twitch游戲直播標題和游戲庫不符。
Windows8.1/8/7/Vista下則包括:
-強制開啟AA后,DX9游戲卡頓。
-《使命召喚:黑色行動3》體積光照畫面破損。
-《彩虹六號:圍攻》全屏模式切換到窗口模式后畫面破損。
-《泰坦隕落》中3DSurround無效。
-《刺客的信條:梟雄》需要SLI配置檔案。
NVIDIA在兩年前開始為游戲玩家啟動GameReady的驅動優(yōu)化支持,力求為每一款游戲發(fā)布前均提供搶先的優(yōu)化,令游戲玩家第一時間玩游戲的時候已經獲得最佳的游戲體驗。
GameReady不只是一個口號,這是對每個游戲玩家的承諾,NVIDIA將為每個使用GeForce游戲顯卡的玩家提供最佳的體驗游戲體驗。
GeForce游戲顯卡用戶可通過GeForceExperience提示的最新驅動進行更新,或者可通過下方地址根據(jù)對應的系統(tǒng)選擇下載更新。
GameReadyGeForce364.51NVIDIA官方下載:
Windows1064位桌面版:
Windows1032位桌面版:
WindowsVista/7/8/8.164位桌面版:
WindowsVista/7/8/8.132位桌面版:
Windows1064位移動版:
Windows1032位移動版:
Windows7/8/8.164位移動版: