android 使用c 代码实现,JNI开发实现helloworld,调用自己的C代码实现(1)
JNI開發,實現自己的C代碼,helloworld
在這里實現一個簡單的demo,完成加載自己的C代碼
使用Android studio,一步一步教你實現在屏幕上顯示出helloworld
如下圖顯示,配置號NDK的路徑,沒有路徑的需要自己下載,在Android NDK location 下按提示下載ndk-bundle,下載完成后,則會自動配置好NDK路徑
來源于網絡
在gradle.properties 文件里面添'android.useDeprecatedNdk=true',如果不添加的話會在編譯的時候報錯,提示添加這段代碼,到時候按照提示進行添加也可。
來源于網絡
修改build.gradle配置。打開\app\build.gradle文件,在'defaultConfig'里面添加如下代碼
ndk{
moduleName "hello" //生成的so名字
abiFilters "armeabi", "armeabi-v7a", "x86" //輸出指定的三種abi體系下的so庫
}
如圖:
來源于網絡
下面是在Activity寫下的調用代碼:
package com.cxria.ndkapplication;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
private TextView mTextView;
static {
//加載需要的library
System.loadLibrary("hello");
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mTextView = (TextView) findViewById(R.id.textview);
mTextView.setText(getStringFromJNI());
}
//C語言實現的方法
public static native String getStringFromJNI();
}
全部代碼,我都粘貼出來了.
打開終端,在Android studio最下面的導航欄Terminal 輸入如下的命令
進入app/src/main目錄下新建jni目錄:cd app/src/main –> mkdir jni (也可以找到指定目錄手動創建)
然后進入app/src/main/java目錄下編譯:cd app/src/main/java –> javah -jni com.cxria.ndkapplication.MainActivity 注意一定要加上包路徑。
執行完上述操作后,會在java目錄下生成com_cxria_ndkapplication_MainActivity.h頭文件,我們在MainActivity中寫的本地方法的方法名已經在里邊了。
在之前的jni文件夾下面新建'hello.c',在里面編寫我們的C語言代碼
編譯運行,就能在屏幕上顯示出'helloworld'了
總結
以上是生活随笔為你收集整理的android 使用c 代码实现,JNI开发实现helloworld,调用自己的C代码实现(1)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android中按一个按钮弹出字,允许用
- 下一篇: android sqlite批量操作,A