最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

從源碼編譯Android系統(tǒng)的Java類(lèi)庫(kù)和JNI動(dòng)態(tài)庫(kù)的方法

 更新時(shí)間:2016年02月24日 16:17:28   作者:喝醉的毛毛蟲(chóng)  
這篇文章主要介紹了從源碼編譯Android系統(tǒng)的Java類(lèi)庫(kù)和JNI動(dòng)態(tài)庫(kù)的方法,例子基于Linux系統(tǒng)環(huán)境下來(lái)講,需要的朋友可以參考下

利用源碼編譯Android系統(tǒng)Java類(lèi)庫(kù)
1、編寫(xiě)Java項(xiàng)目和Android.mk文件

  ├── Android.mk
  └── src
   └── com
     └── lhw
       └── framework
         └── led
           └── Led.java

Led.java文件

package com.lhw.framework.led; 
 
/** 
 * LED操作庫(kù) 
 * @author Micky Liu 
 */ 
public class Led { 
   
  public boolean turnOn() { 
    return true; 
  }   
   
  public boolean turnOff() { 
    return true; 
  }   
} 

 

Android.mk文件

LOCAL_PATH := $(call my-dir) 
 
LOCAL_SRC_FILES   := $(call all-java-files-under, src) 
LOCAL_MODULE    := framework_led 
LOCAL_MODULE_TAGS  := framework_led 
 
LOCAL_JAVA_LIBRARIES    := 
LOCAL_STATIC_JAVA_LIBRARIES := 
 
include $(BUILD_JAVA_LIBRARY) 

2、編譯

   mmm /home/administrator/workspace/android_test/framework_led

    編譯結(jié)果:

   Install: out/target/product/generic/system/framework/framework_led.jar    


利用源碼編譯Android系統(tǒng)JNI動(dòng)態(tài)庫(kù)
1、代碼和Android.mk編寫(xiě)

├── jni
│  ├── Android.mk
│  └── led.c


led.c

#include <jni.h> 
#include <stdio.h> 
 
jboolean Java_com_lhw_led_Led_turnOn(JNIEnv *env, jclass thiz) 
{ 
  return JNI_TRUE; 
} 
 
jboolean Java_com_lhw_led_LED_trunOff(JNIEnv *env, jclass thiz) 
{ 
  return JNI_TRUE; 
} 

注:方法名命名規(guī)則為:Java_包名_類(lèi)名_方法名,可以用javah 命令根據(jù)java文件生成所需要的.h頭文件。當(dāng)然更好的辦法是通過(guò)JNI_OnLoad和AndroidRuntime::registerNativeMethods實(shí)現(xiàn)動(dòng)態(tài)注冊(cè),這樣可以不用理會(huì)方法名規(guī)則。這里只是做個(gè)簡(jiǎn)單的例子,在后面會(huì)用一個(gè)例子實(shí)現(xiàn)動(dòng)態(tài)注冊(cè)。

Android.mk

LOCAL_PATH := $(call my-dir) 
 
LOCAL_SRC_FILES := led.c 
LOCAL_MODULE  := led_jni 
LOCAL_MODULE_TAGS    := led_jni 
 
LOCAL_PRELINK_MODULE  := false 
LOCAL_SHARED_LIBRARIES := libc 
 
include $(BUILD_SHARED_LIBRARY) 

2、編譯

  mmm /home/administrator/workspace/android_test/jni

    編譯結(jié)果:

  Install: out/target/product/generic/system/lib/led_jni.so

相關(guān)文章

最新評(píng)論

西峡县| 敦化市| 西昌市| 江阴市| 红原县| 邵东县| 东方市| 临湘市| 合肥市| 烟台市| 那坡县| 沅陵县| 洪雅县| 桂平市| 武川县| 屯留县| 喀喇沁旗| 鱼台县| 渭源县| 疏勒县| 综艺| 秀山| 两当县| 中方县| 彩票| 澄江县| 乃东县| 东方市| 呼伦贝尔市| 宾阳县| 兴城市| 连山| 哈巴河县| 长武县| 禹城市| 昌宁县| 博客| 昆山市| 兴安县| 噶尔县| 法库县|