一、部署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:修改過文件夾如果還不能的話,那就去檢查文件,因爲如果源文件中出現一些中文空格等的話,這個時候也是會編譯報錯的