- 浏览: 513143 次
- 性别:
- 来自: 惠州
文章分类
- 全部博客 (255)
- ant (1)
- springMVC (2)
- ajax (4)
- oracle (12)
- SSH (13)
- struts1 (2)
- Hibernate (14)
- spring (5)
- jstl (1)
- 连接池 (1)
- acegi (4)
- java (17)
- jquery (11)
- div+css (4)
- drupal (1)
- php (8)
- freemaker调模板生成静态页面 (1)
- xml (1)
- json (2)
- javascript (9)
- 正则表达式 (4)
- Ext (8)
- jdbc (1)
- sql server (2)
- perl (5)
- db4o (1)
- webservice (4)
- flex (13)
- it资讯 (1)
- joomla (0)
- 设计模式 (1)
- struts2 (4)
- s2sh (8)
- linux (3)
- ejb (2)
- android旅途 (24)
- android (36)
- C/C++ (16)
- mysql (1)
最新评论
-
fengyuxing168:
IBelyService bs = IBelyService. ...
为 Android 添加 Java 层服务也就是添加自定义的aidl服务到serviceManager 通过ServiceManager.getService取 -
dengzhangtao:
"由于ActivityManagerService是 ...
binder理解 -
yzyspy:
ActivityManagerService:startHom ...
Android的Launcher成为系统中第一个启动的,也是唯一的 -
Matchstick:
使用SELECT DISTINCT alias FROM Po ...
hibernate 一对多表查询时fetchMode.join 生成left outer join 出来数据重复问题 -
dlheart:
没看懂你什么意思啊,我遇到的问题是一对多,设了fetch = ...
hibernate 一对多表查询时fetchMode.join 生成left outer join 出来数据重复问题
转自:http://blogold.chinaunix.net/u4/123238/showart_2513848.html 非常感谢
一个打通jni,java framework,application三层的练习 |
||||
2. JNI 层:对编译的修改配置 2.1修改/Android/android-1.6_r2/frameworks/base/core/jni目录下的Android.mk
文件,在LOCAL_SRC_FILES:= \
下面加上
3. Javaframework 层:在 /Android/android-1.6_r2/frameworks/base/core/java/android/ 新建文件目录 mytest ,在该目录下新建文件 hellojni.java 声明接口。内容如下:(可以参考 android-1.6_r2/frameworks/base/core/java/android/debug 目录下的 JNITest.java 文件编写)
4 .下面我们要对我们做过更改的 libandroid_runtime.so 和 framework.jar 进行重新编译。 在源代码工程目录下输入 make libandroid_runtime 重新编译生成 libandroid_runtime.so … target thumb C++: libandroid_runtime <= frameworks/base/core/jni/android_mytest_hellojni.cpp target thumb C++: libandroid_runtime <= frameworks/base/core/jni/AndroidRuntime.cpp target SharedLib: libandroid_runtime (out/target/product/generic/obj/SHARED_LIBRARIES/libandroid_runtime_intermediates/LINKED/libandroid_runtime.so) target Prelink: libandroid_runtime (out/target/product/generic/symbols/system/lib/libandroid_runtime.so) target Strip: libandroid_runtime (out/target/product/generic/obj/lib/libandroid_runtime.so) Install: out/target/product/generic/system/lib/libandroid_runtime.so 然后再输入 make framework 重新编译生成 framework.jar … Install: out/target/product/generic/system/framework/framework.jar 5. 然后在 eclipse 里面或者在记事本等编辑器(这么说只是为了说明只需要源代码),新建 Android project ,例子的结构如下:
在 testApp.java 文件中的内容如下:
然后将上述文件复制到 /Android/android1.6_r2/packages/apps ,然后看教程《在源码中编译自己的 Android project 》就可以在模拟器中看到该应用运行如下图:
|
发表评论
-
onInterceptTouchEvent和onTouchEvent调用时序
2012-02-08 08:44 1046onInterceptTouchEvent和onTouchEv ... -
Android2.2.1广播大全
2012-01-11 17:29 914Android2.2.1广播大全 博 ... -
Android Gesture Detector
2012-01-06 16:09 1208Android Gesture Detector * ... -
在程序中设置android:gravity 和 android:layout_Gravity属性
2012-01-06 10:04 1571【Android布局】在程序中 ... -
Android应用程序基础 >> 任务栈和亲属关系(Activities and Tasks)
2012-01-05 10:26 1147Android应用程序基础 >& ... -
android 中使用socket使native和framework通信
2011-09-01 10:14 1203android 中使用socket使native和frame ... -
android aidl iBinder理解
2011-06-01 11:51 2064在android中有一个程序员大量使用的操作,就是bindse ... -
Android开发者指南(6) —— AIDL
2011-05-31 10:59 1294Android开发者指南(6) —— AIDL ... -
android 线程间的通信
2011-05-20 13:22 897近来找了一些关 ... -
Android Service学习之AIDL, Parcelable和远程服务
2011-05-20 11:51 1074AIDL的作用 由于每个应用程序都 ... -
有关Android线程的学习
2011-05-20 11:20 10381. Android进程 在了解Android ... -
(转载)Android下Affinities和Task
2011-05-19 16:30 859(转载)Android下Affinities和Tas ... -
Android的Launcher成为系统中第一个启动的,也是唯一的
2011-05-12 19:38 2170Android的Launcher成为系统 ... -
Launcher的启动过程
2011-05-12 19:36 22411. Launcher的启动过程 从网络上 ... -
android中使用jni,ndk的C语言回调方法
2011-05-12 19:19 6560android中使用jni,ndk的C ... -
典型应用之——将库打进apk
2011-05-12 19:19 2884典型应用之——将库打进apk (2010-12-17 1 ... -
android eclipse 和 源码 情况下 引用第三方jar
2011-05-10 10:55 2481android eclipse 和 源码 情况 ... -
1.系统属性获取及设置中的设置值
2011-04-21 15:04 35171.系统属性获取及设置 android.os.SystemP ... -
给应用签名 uid.system platform 权限
2011-04-21 14:58 1482在生成的apk目录下放 signapk.jar platfo ... -
binder理解
2011-03-30 10:37 2226Binder理解 例子代码: /** {@hide} ...
相关推荐
- **兼容性**:由于JNI是一个标准接口,因此一旦实现了某个本地库与Java之间的交互,这一实现通常可以在不同的Java平台上复用。 #### 四、JNI的组成部分 根据文档描述,本书主要分为以下几个部分: - **第二章**...
Java通过JNI调用C# DLL是一个跨平台、跨语言的技术实践,主要应用于需要利用Java的稳定性和C#的高性能场景。JNI(Java Native Interface)是Java平台标准的一部分,它允许Java代码和其他语言写的代码进行交互。C# ...
文档里描述了如何通过jni方法在java与c++代码之间传递非基本类型数据
首先,要使用JNI创建Java对象,你需要定义一个Java类并添加本地方法声明。例如: ```java public class MyJavaObject { static { System.loadLibrary("mynative"); // 加载本地库 } public native void ...
Java再次探讨JNI(Java Native Interface)这一主题,其主要目的是为了解决Java语言与本地代码交互的问题。JNI在Java世界中扮演着重要角色,它允许Java程序调用C/C++等本地代码,反之亦然,使得Java应用可以利用底层...
当我们需要在Delphi项目中利用Java的功能时,JNI(Java Native Interface)成为了一座桥梁,使得两者能够相互调用。本篇将深入探讨如何在Delphi中通过JNI来调用Java函数。 首先,我们需要理解JNI的概念。JNI是Java...
这个"一个简单的JNI实验"是一个实践教程,旨在帮助初学者理解如何在Java程序中调用本地(非Java)代码,比如C或C++。下面我们将详细探讨JNI的相关知识点。 1. **JNI的基本概念**: JNI是Java平台提供的一种机制,...
本资源提供的“java jni简单实例”是一个实际应用JNI的示例,有助于学习和理解JNI的工作原理。 首先,我们来看JNI的核心概念: 1. **本地方法接口**:JNI定义了一套接口,使得Java代码能够声明本地方法(即非Java...
在Java编程中,JNI(Java Native Interface)是一个关键的组件,它允许Java代码与其他语言(如C和C++)进行交互。当我们需要高效地处理数据、利用特定平台的库或者优化性能时,JNI就显得尤为重要。本文将深入探讨...
JNI开发Java和C/C++互相传递List集合, 可以参考: Java从C/C++获取List集合对象:https://blog.csdn.net/niuba123456/article/details/80994166 Java传递List集合对象到C/C++ ...
Android JNI(Java Native Interface)编程是Android开发中的一个重要部分,它允许Java代码和其他语言(如C/C++)编写的代码进行交互。JNI在Android平台上扮演着桥梁的角色,使得开发者能够利用C/C++的强大性能和...
Android 操作系统中,效率测试是一个非常重要的方面,特别是在使用 JNI(Java Native Interface)调用 C 语言时。这个文档描述了 Android G1 环境中,C、Java、JNI 调用(C 调 Java、Java 调 C)基本运算、方法调用...
在Android开发中,JNI(Java Native Interface)是一个关键的组件,它允许Java代码与其他语言写的代码进行交互,尤其是C和C++。JNI在许多场景下非常有用,例如优化性能、利用硬件特性、接入第三方库等。本文将深入...
JNI是Java平台的一部分,它为Java代码与其他语言编写的代码提供了一个标准接口。通过JNI,开发者可以在Java应用程序中调用C、C++甚至是其他语言编写的原生代码,反之亦然。在Delphi中调用Java函数,可以利用JNI提供...
这个库基于JNI(Java Native Interface),是Java平台上的一个标准机制,用于在Java代码和本地(非Java)代码之间建立桥梁。而jni4net则为.NET Framework提供了这样的桥接,使得C#应用程序能够无缝地与Java应用进行...
JNI是Java平台的一部分,它为Java应用程序提供了与本地代码交互的能力,使得开发者可以将Java应用与C/C++库无缝结合。 首先,我们需要确保已经安装了以下组件: 1. Visual Studio 2019:这是我们的开发环境,支持...
NI是Java Native Interface的缩写,是Java平台的重要特性,使得Java代码可以方便地与C/C++代码...本文主要给出一份示例代码(工程文件见附件),描述如何在Android的JNI层开启一个线程,并在线程中回调Java层的函数。
Java和Delphi之间的交互主要通过Java Native Interface (JNI) 实现,这是一种允许Java代码调用本地(非Java)代码的框架。JNI在跨平台应用程序开发中扮演着重要角色,特别是当需要利用特定平台的库或者优化性能时。...
JNI是Java平台的一部分,它允许Java代码调用本地(非Java)代码,反之亦然。在Qt for Android中,我们可以通过JNI来调用C++编写的Qt函数,或者在C++代码中调用Android的API,实现对设备硬件和特定平台功能的访问。 ...
JNI在Java与本地代码之间提供了一个桥梁,使得Java可以调用本地库中的函数,同时也允许本地代码实例化Java对象并调用其方法。 #### 二、背景与目标 本文的主要目标是通过JNI技术来实现在Java应用程序中调用已有的...