編譯安卓so庫

一、部署ndk

 

在ubuntu下安裝配置android ndk

1.下載android-ndk64-r10b-linux-x86_64.tar.bz2

下載地址:http://dl.google.com/android/ndk/android-ndk64-r10b-linux-x86_64.tar.bz2

2. 把下載好的android-ndk64-r10b版本解壓($ sudo tar -xjvf  -xvf android-ndk64-r10b-linux-x86_64.tar.bz2 -c  /usr/lib )

3.配置環境變量命令:$sudo gedit ~/.bashrc

添加以下代碼:

export   NDK=/usr/lib/android-ndk-r10b

export   PATH=${PATH}:$NDK  保存關閉。

5.source  ~/.bashrc使其修改的文件生效。

6.ndk-build看看咱們配置環境變量成功沒,只要沒出command not found就證明環境變量配置成功,如果成功顯示如下,

 

二、 Android jni裏面編寫C++代碼的時候,我就寫了個goto語句,特麼也提示下面的錯誤

error: jump to label ‘XXXX’ [-fpermissive]
2、原因:使用goto的後面語句,有一些初始化變量,如果跳轉之後還有變量聲明的話,它認爲後面定義的變量在跳轉label定義時尚未初始化,故而編不過去

3、解決辦法:我們應該在goto之前把需要的變量先初始化,而不是在goto之後還有初始化變量。

4、總結:goto語句之前,先把所有需要的初始化變量寫完,不要到goto語句後面初始化變量,請保持這個習慣。
 

三、編譯權限問題

還有有個錯誤,還是有些文件的權限是不能訪問的.
索性直接將整個android-ndk的文件夾的權限全部給修改了

然後就正確的進行了編譯.所以如果在linux下編譯遇到這種錯誤的話,要有以下的幾點檢查:
1:檢查文件夾是否有屬性,因爲ndk-build與sudo是不能連用的
2:修改過文件夾如果還不能的話,那就去檢查文件,因爲如果源文件中出現一些中文空格等的話,這個時候也是會編譯報錯的
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章