android studio 手把手叫你NDK開發環境搭建及基礎使用

來源:互聯網
上載者:User

標籤:end   get   ++   his   this   沒有   string   調用函數   準備   

一、準備工作

下載NDK: http://dl.google.com/android/repository/android-ndk-r12b-windows-x86_64.zip

二、Android studio 環境配置

路徑: File->Setting->看圖,還有一個NDK要勾選上。

三、建立項目,看圖

四、配置NDK環境

上面三步,建完項目後,會給你建好了demo,demo裡有cpp,可以直接跑一邊,感受一下。然後,一臉懵逼,出錯了。。。。。。。。。。。。。。。。

看下面解決辦法

把步驟一種下載好的壓縮包解壓一下。我是放在AS目錄附近。隨便放,你能找到就好。

這就配置好環境了。

五、demo跑一跑,能行了。。。。。

總有一個不安分的心,不修改修改怎麼能行。

demo是讓返回string,我偏偏搞個返回int型,還要自己寫個函數體,跑一下。

然後,就直接在MainActivity中寫了個native方法。cpp中產生對應方法。然後,調用函數體。跑一下,立馬報錯

No implementation found for 。。。。。。。。。。。。。。。

這事什麼情況?函數體聲明過了。AS沒有報錯和警告,一運行就報錯。

然後給出正確代碼,你自己領悟:

#include <jni.h>#include <string>extern "C"{int count();JNIEXPORT jstring JNICALLJava_com_ailin_shoneworn_ndkdemo_MainActivity_stringFromJNI(        JNIEnv *env,        jobject /* this */) {    std::string hello = "Hello from C++";    return env->NewStringUTF(hello.c_str());}int count(){    int a =1;    int b=2;    return  a+b;}JNIEXPORT jint JNICALLJava_com_ailin_shoneworn_ndkdemo_MainActivity_intFromJni(JNIEnv *env, jobject instance, jint x,                                                         jint y) {    // TODO    return count();}}

 

 

總結: C++已經有太久沒用了,很多東西都遺忘了。哎!

上面,只需要在函數體外extend ”C"處加上{ },把兩個函數體都括起來就好了。

android studio 手把手叫你NDK開發環境搭建及基礎使用

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.