请问在android开发中-小知识
话题:请问在android 开发中,如何问在jni中调用ja类的用
问题详情:请问在android 开发中,如何在jni中调用ja类的用synchronized修
回答:方法签名参数是正确的格式么?方法是静态的么?在 native 层面,类名都不是用 . 一个点分隔的而/斜杠。
参考回答:Calling Static MethodsGetStaticMethodIDjmethodID GetStaticMethodID(JNIEnv *env, jclass clazz,const char *name, const cha
话题:Android JNI开发 ,源码
问题详情:需要一些Android NDK,使用ja结合C/C++开发的 及源码,
回答:pekdou 您 好 : 强 烈 建 议 你 直 接 看 一 下 这 个 吧 ! 可 以 节 省 你 很 多 时 间 !tZx .PoPa.sumwu.。UmV ¤○①¤◎◇▓↓⊕◎jclass GpsInfoClass=env-FindClass("/parser/GPSINFO");jfieldID ID_bValid=env-GetFieldID(GpsInfoClass,"bValid","I");jfieldID ID_bSpeed=env-GetFieldID(GpsInfoClass,"bSpeed","I");env-SetIntField(_obj,ID_bValid,(jint)info.bValid);env-SetIntField(_obj,ID_bSpeed,(jint)info.bSpeed);return _obj;以上就可以了。但是不知道你 YTE是自定义的什么类型,如果是char之类的,就另外想办法转换成jint。其中 _obj 变量是public native GPSINFO getGpsInfo();这个本地方法在C 码中的
参考回答:.
话题:Android JNI和NDK有什么 别
回答:JNI是Ja Native Interface的缩写,中文为J A本地调用。从Ja1.1开始,Ja Native Interface(JNI)标准成为ja 的一部分,它允 Ja 码和其他语言写的 码进行交互。JNI一开始是为了本地已编译语言,尤其是C和C++而设计的,但是它并不妨碍你使用其他语言,只要调用约定受支持就可以了。使用ja与本地已编译的 码交互,通常会丧失 可移植性。但是,有些情况下这样做是可以接受的,甚至是必须的, ,使用一些旧的库,与硬件、 作系统进行交互,或者为了提高程序的性能。JNI标准至少保证本地 码能 在任何Ja 虚拟机实现下。 标准的ja类库可能不支持你的程序所需的特性。 JNI·或 你已经有了一个
话题:在android 下写得JNI放在项目哪里呢,JNI后缀名是什么。
问题详情:在android下,我要通过JNI调用C语言库,用记事本写得JNI把他放
回答:原ja语言编写的类仍放工程的src 目录下,方法用native关键字进行修饰,编译后生成.class ,在ja类中通过静态块引入其调用的本地方法,引入如下:public class Test{ static { system.loadlibrary("name"); 引入动态库的名字 }public native int hello(String str[]);}通过用C语言编写的JNI 方法的头 要包含ja类通过ja -h进行编译后的头 。编写完JNI 方法后,通过编译工具生成动态库 (name.dll 或name.so )(例如可把其放到jdk\bin目录下,也可把动态库放到工程同classes同 夹的目录下),把该 放于系统环境变量path中路径所在 中,即可引入。
话题:关于android
问题详情:在此之前,我查过很多关于android.mk和application.mk 的各
回答:application.mk是android才有的mk ,同样具有mk 特性,-D是宏定义,你可以去掉那句,再运行就知道在哪调用了,而且application.mk 用于.a。
参考回答:介绍: Android SDK是一个允 Android 应用 开发人员使用C或C++源 编译并嵌入到本机源 码中的应用程序包的一组工具。 重要说明: Android NDK只能用于android 1.5以上版本 1.Android NDK的目的: Android虚拟机允 你的应用程序源 码通过JNI调用在本地实现的源 码,简单的说,这就意味着: 你的应用程序将声明一个或多个用’native’关键
话题:利用Android
回答:最后自己想得到了一个方法,在android上层直接生成纹理映 ,然后把纹理映 的 传递给JNI,这样就可以利用上层 itmap生成纹理映 了。当然这不是最好的方法,但是由于自己现在的能力有限,暂时只能依靠这个方法了,如果有人知道如何正确的利用Bitmap在C++中生成纹理映 , 和我交流。(我利用Bitmap在C++中生成了纹理映 ,但是纹理是乱纹,而不是正确的纹理,应该是我生成 itmap的pixel数组有问题。)下面是我的做法,可供参考,如果有更好的方法,请告知:我想要在OpenGLES中绘制文字,所以首先我利用Canvas生成想要 itmap,然后在android上层生成纹理映 ,把纹理映 的绑定 传递个JNI:
话题:android 开发
回答:jclass GpsInfoClass=env-FindClass("/parser/GPSINFO");jfieldID ID_bValid=env-GetFieldID(GpsInfoClass,"bValid","I");jfieldID ID_bSpeed=env-GetFieldID(GpsInfoClass,"bSpeed","I");env-SetIntField(_obj,ID_bValid,(jint)info.bValid);env-SetIntField(_obj,ID_bSpeed,(jint)info.bSpeed);return _obj;以上就可以了。但是不知道你 YTE是自定义的什么类型,如果是char之类的,就另外想办法转换成jint。其中 _obj 变量是public native GPSINFO getGpsInfo();这个本地方法在C 码中的参数:JNIEXPORT jobject JNICALL Ja__parser_GPSINFO_ getGpsInfo(JNIEnv *env, jobject _obj)
话题:如何在Android源码里查找Ja中native方法对应的C++实现
回答:在Android源码里,有 多方法都是使用 Jni机制调用底层的C++实现, 大家都很熟悉 inder.ja里,就有 public static final native int getCallingPid(); public static final native int getCallingUid(); public static final native long clearCallingIdentity(); 等方法都是直接调用C++里的实现。 通过下面命令可以很快找到对应的实现, . build/envsetup cgrep http://www.zhishizhan.net/xiaozhishi/frameworks '"getCallingPid"' 这时会查找到如下结果: 这样就可以知道对应的C++实现方法名字为android_os_Binder_getCallingPid, 在该 中找这个方法的实现即可。
话题:Android 中Native方法是怎样调用的
回答:1.Power.ja-- find corresponding native cfile(查找对应的具体用C实现的C ) android.os.Power.ja:native file ----/jni/android_os_Power.cpp2. in android_os_Power.c, you canfind: 点击(此处)折叠或打开static JNINativeMethod method_table[]=Native functiontable { {"acquireWakeLock","(ILja/lang/String;)V",(void*)acquireWakeLock}, {"releaseWakeLock","(Lja/lang/String;)V",(void*)releaseWakeLock}, {"setLastUserActivityTimeout","(J)I",(void*)setLastUserActivityTimeout }, {"setScreenState","(Z)I",(void*)setScreenState }, {"shutdown","()V",(void*)android_os_Power_shutdown }, {"reboot"
话题:你好,我在学 安卓 开发。为什么我运行的时候找不到虚拟机
回答:虚拟机与J A虚拟机的概念是一样的,安卓虚拟机就是J A虚拟机的改良版,安卓买了J A的 安卓的系统级是二进制的,运行在linux内核之上,安卓虚拟机在内核中有大量 码,与内核合二为一,充分发挥了linux内核和arm硬件J A加速的功能, 所以安卓虚拟机的运行效率很高,安卓的应用软件基本上是运行在虚拟机上的,后来android的CDK使用C做开发,可以不用虚拟机直接运行,虚拟机做界面,提高了运行效率关于jin,我搜了一篇帖子,jin就是用来给ja界面指出自己写的C 码的加载和使用 方法的: .androidwhyhttp://www.zhishizhan.net/xiaozhishi/android__2_zh Android开发深入教程ID #1026JNI是什么?对于已经Android 开发入门的朋友在
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-

















































