第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

Android Studio中NDK開發(fā)

標(biāo)簽:
Android

更新(2015.07.24):本文说的方法是针对Android Studio 1.3 之前的版本,从 AS 1.3 开始,官方支持了 NDK 的开发,可以参考这里


之前有人问到怎么使用Android Studio进行NDK开发,经过网上搜索,自己也尝试了一下,用Android Studio进行NDK开发比Eclipse更加灵活方便。

以下是翻译自NDK With Android Studio这篇文章。

在ADT中进行NDK开发非常简单,在Android Studio进行NDK开发也同样的容易。NDK开发主要有两中情况:一种是使用已经编译好的.so动态库;一种是使用c/c++源代码开发。下面分别介绍。

使用预编译好的.so动态库

你可以先用ndk-build工具先编译好.so,然后在Android Studio中引用。 这种情况比较件简单,只要把的.so文件放到相应的目录即可。如下所示:

  • [module_name]


    • [src]


    • [main]




    • [jniLibs]




    • [armeabi]





    • [armeabi-v7a]





    • [x86]





    • [mips]



注意jniLibs目录是放在module下面,在Android Studio中效果如下:jniLibsPath

现在就可以在代码中直接载入此库了,如下:

String libName = "helloNDK"; // 库名, 注意没有前缀lib和后缀.so  
System.loadLibrary( libName );

如果你不想把.so放在上面的默认路径,可以在buid.gradle中进行如下配置:

android {  
  // .. android settings ..  sourceSets.main {
      jniLibs.srcDir 'src/main/myCppLibraries' // <-- 你的.so库的实际路径      }}

在Android Studio编译C/C++源代码

如果你不想像上面那样,在终端中用ndk-build编译.so,然后回到Android Studio中写Java代码。可以直接让Android Studio帮你编译。配置方法如下:

1.配置ndk.dir

local.properties添加如下配置:

  sdk.dir=/path/to/android-sdk
  ndk.dir=/path/to/android-ndk

2.Gradle配置NDK模块

android {  
    compileSdkVersion 19
    buildToolsVersion "20.0.0"

    defaultConfig {
        applicationId "com.example.ndksample"
        minSdkVersion 9
        targetSdkVersion 19
        versionCode 1
        versionName "1.0"

        ndk {
            moduleName "helloNDK" // <-- This is the name of my C++ module!        }
    }
    // ... more gradle stuff here ...} // end of android section

ndk还可以配置更多选项,如下:

ndk {  
    moduleName "myEpicGameCode"
    cFlags "-DANDROID_NDK -D_DEBUG DNULL=0"   // Define some macros    ldLibs "EGL", "GLESv3", "dl", "log"       // Link with these libraries!    stl "stlport_shared"                      // Use shared stlport library}

3.添加C/C++源代码

默认情况下,你需要把C/C++源代码放在[module]/src/main/jni/路径下。效果如下图所示:jniSrcPath

当然,你也可以自定义源代码路径:

android {

  // .. android settings ..
  sourceSets.main {
      jni.srcDirs 'src/main/source'
  }}

4.分平台配置编译(可选)

这一步不是必须的,你可以根据需要,对各个平台进行不同的编译配置,可以设置覆盖前面的编译选项(例如cFlags)。例如你只想编译指定平台的.so,而不是所有的平台。如下:

android {

  // .. android settings ..
  productFlavors {
        x86 {
            ndk {
                abiFilter "x86"
            }
        }
        arm {
            ndk {
                abiFilter "armeabi-v7a"
            }
        }
        mips {
            ndk {
                abiFilter "mips"
            }
        }
    }} // android

原文链接:http://www.apkbus.com/blog-839902-61322.html

點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評(píng)論
  • 收藏
  • 共同學(xué)習(xí),寫下你的評(píng)論
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說(shuō)多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消