国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
Linux Android NDK
linux系統(tǒng)中,編譯c++的文件,當出現(xiàn)找不到/usr/include/c++文件夾下面的lib時,你可以在makefile文件里使用 cc= xxxx -i加入指定的路徑。
cc
-o      指定輸入文件名
-c      編譯成目標文件(.o)
-l    包含庫
-I      添加include的搜索路徑
-L      添加lib的搜索路徑

1、NDK是什么? 
NDK 的全稱是Native Development Kit,在JAVA里也有個JNI(Java Native Interface)的概念,可以在JAVA中訪問一些C/C++的代碼。大家知道在Android SDK里是無法編譯C/C++代碼的,NDK的作用就是實現(xiàn)C/C++代碼的編譯。但是Android也不希望開發(fā)者將自己的Native代碼直接運行, 所以NDK看來只能支持開發(fā)JNI代碼并打包到相應APK中。

NDK里提供了下面這些頭文件,當然也包含動態(tài)庫。OpenGL ES 1.1需要Android 1.6才支持,OpenGL ES 2.0需要2.0以上系統(tǒng)才支持。

  • libc (C library) headers
  • libm (math library) headers
  • JNI interface headers
  • libz (Zlib compression) headers
  • liblog (Android logging) header
  • OpenGL ES 1.1 and OpenGL ES 2.0 (3D graphics libraries) headers
  • A Minimal set of headers for C++ support


2、NDK安裝 
如果熟悉Linux,安裝起來相當?shù)暮唵巍?br>
NDK下載地址: 


下載完后解開:
$ unzip android-ndk-r3-linux-x86.zip

進入SDK目錄,安裝環(huán)境變量:
$ cd android-ndk-r3
$ build/host-setup.sh
Checking host development environment.
NDK Root   : /home/android/android-ndk-r3
GNU Make   : make (version 3.81)
Awk        : awk
Platform   : linux-x86
Generate   : out/host/config.mk
Toolchain  : Checking for arm-eabi-4.2.1 prebuilt binaries

Host setup complete. Please read docs/OVERVIEW.TXT if you don't know what to do.
安裝安成,這里不要用“. build/host-setup.sh”或“source build/host-setup.sh”,會直接退出當前shell會話。

3、 NDK示例程序 
在NDK目錄apps下有幾個示例程序:
$ ls apps
hello-gl2  hello-jni  san-angeles  two-libs  unit-tests

這里分析下hello-jni:
apps/hello-jni/
|-- Application.mk
`-- project
    |-- AndroidManifest.xml
    |-- default.properties
    |-- jni 
    |   |-- Android.mk 
    |   `-- hello-jni.c 
    |-- res
    |   `-- values
    |       `-- strings.xml
    |-- src
    |   `-- com
    |       `-- example
    |           `-- hellojni
    |               `-- HelloJni.java
    `-- tests
        |-- AndroidManifest.xml
        |-- default.properties
        `-- src
            `-- com
                `-- example
                    `-- HelloJni
                        `-- HelloJniTest.java

可以看到project、project/tests里是SDK支持的項目代 碼,project/jni里是JNI代碼。我們用Eclipse打開project,打開后項目名稱為“HelloJni”,編譯并運行,出現(xiàn)了以下問 題:


從日志中看出是加載JNI代碼未成功。編譯JNI代碼后刷新HelloJni工程,重新編譯運行成功,如圖。


編譯JNI的方法是回到NDK目錄,然后執(zhí)行make:
$ make APP=hello-jni
Android NDK: Building for application 'hello-jni'    
Compile thumb  : hello-jni <= apps/hello-jni/project/jni/hello-jni.c
SharedLibrary  : libhello-jni.so
Install        : libhello-jni.so => apps/hello-jni/project/libs/armeabi

生成JNI庫后,重新編譯的APK中已經(jīng)把libhello- jni.so打包了進來。安裝APK后JNI庫會一并安裝到/data/data /com.example.hellojni/lib/libhello-jni.so。

APP后面指定的名字需要同apps下的目錄名 和
 Android.mk 里的MODULE名一致,project/jni的目錄層次也是固定的。其實NDK并非只能編譯JNI,在project/jni下編譯可執(zhí)行文件也沒有問題,不過NDK里的頭文件和庫非常有限。

本站僅提供存儲服務,所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Linux下Android NDK環(huán)境配置以及配合eclipse使用NDK
Android NDK開發(fā)Crash錯誤定位
Android NDK安裝
ubuntu9.10安裝android SDK - 日志 - wuhua0904 - LUPA開源社區(qū) - Powered by LUPA
Android NDK 實戰(zhàn)入門指南
Android 基于NDK的JNI開發(fā) C調(diào)用java和java調(diào)用C
更多類似文章 >>
生活服務
分享 收藏 導長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服