创建工程:结构如下

Android JNI编程
代码如下:
package com.tcl.testjni;public class MyJNI {public native void fun();}

package com.tcl.testjni;import android.R.integer;import android.app.Activity;import android.os.Bundle;import android.text.StaticLayout;public class TestJNIActivity extends Activity {static{System.loadLibrary("kang");}    /** Called when the activity is first created. */    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);       MyJNI jni = new MyJNI();       jni.fun();            }}


这样在工程的bin目录下就生成了.class文件,这时切换到src目录,用javah生成头文件:




根据头文件创建.c文件

/* DO NOT EDIT THIS FILE - it is machine generated */#include "com_tcl_testjni_MyJNI.h"JNIEXPORT void JNICALL Java_com_tcl_testjni_MyJNI_fun  (JNIEnv *, jobject){printf("%s","here is jni");}


创建 Android.mk文件

## Copyright (C) 2008 The Android Open Source Project## Licensed under the Apache License, Version 2.0 (the "License");# you may not use this file except in compliance with the License.# You may obtain a copy of the License at##      http://www.apache.org/licenses/LICENSE-2.0## Unless required by applicable law or agreed to in writing, software# distributed under the License is distributed on an "AS IS" BASIS,# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.# See the License for the specific language governing permissions and# limitations under the License.# LOCAL_PATH:= $(call my-dir)    include $(CLEAR_VARS)    LOCAL_SRC_FILES:= \   com_tcl_testjni_MyJNI.c   LOCAL_C_INCLUDES := \    $(JNI_H_INCLUDE)    LOCAL_SHARED_LIBRARIES := libutils    LOCAL_PRELINK_MODULE := false    LOCAL_MODULE := libkang   include $(BUILD_SHARED_LIBRARY)


将.h .c Android.mk文件放入一个文件夹,复制到Android源码 2.2source/external/XXX,然后编译下这个文件夹就会生成so库啦,将so放到工程的libs/armeabi下,再运行试试,可以了吧。

更多相关文章

  1. android WebView载入本地html及css文件
  2. [Android Pro] proguard.cfg 配置文件
  3. 记一次新建Android工程报错: Could not download appcompat.aar (
  4. Android 将文件保存到SD卡中
  5. 编译NotificationManagerService.java文件的方法
  6. Android studio gradle 无法获取 pom文件
  7. Android FTP客户端使用,快速上传文件
  8. Android学习:导入工程时报错The import android cannot be resolv
  9. Android N共享文件报错:android.os.FileUriExposedException

随机推荐

  1. Android修行之路——Android程序设计基础
  2. Android中使用httpclient等小结
  3. Android(安卓)7.0 自动安装APK及拍照崩溃
  4. 极光推送3分集成干货--Android
  5. MediaRecorder流程分析
  6. android:imeOptions 标签
  7. Android笔记1——Android(安卓)SDK自带的
  8. android与tomcat服务器交互实例
  9. VMware Workstation Pro 16 安装教程
  10. 异步请求、 npm 与 node模块的学习