当前位置: 首页 > news >正文

西安网站建设建站系统wordpress中文版只是一个php

西安网站建设建站系统,wordpress中文版只是一个php,工商局网站如何做网登,wordpress 二级目录4041.Jni的作用 1.Jni的作用 Java是一种比较高级的语言#xff0c;Java调用c库#xff0c;调用c库是必不可少的#xff0c;所以Jni就应运而生了。看了这个文章的同学#xff0c;应该能够自己写个APK装在自己的手机里面吧#xff0c;以前刚开始做android的时候#xff0c;写…1.Jni的作用 1.Jni的作用 Java是一种比较高级的语言Java调用c库调用c库是必不可少的所以Jni就应运而生了。看了这个文章的同学应该能够自己写个APK装在自己的手机里面吧以前刚开始做android的时候写了一个“地瓜手电筒”和一个音乐播放器。 NDKNDK是Native Development Kit的缩写是Google提供的一套工具集可以让你其他语言C、C或汇编开发 Android的 JNI。NDK可以编译多平台的so开发人员只需要简单修改 mk 文件说明需要的平台不需要改动任何代码NDK就可以帮你编译出所需的so库。 JNIJNI是Java本机接口Java Native Interface是一个本机编程接口它是Java软件开发工具箱Java Software Development KitSDK的一部分。JNI允许Java代码使用以其他语言编写的代码和代码库。Invocation APIJNI的一部分可以用来将Java虚拟机JVM嵌入到本机应用程序中从而允许程序员从本机代码内部调用Java代码。不过对Java外部的调用通常不能移植到其他平台在applet中还可能引发安全异常。实现本地代码将使您的Java应用程序无法通过100%纯Java测试。 2.生成一个JNI 的libjni.so库 我这个例子主要是在有android源码的编译环境下测试的我有Android 7.1的开发编译环境如果大家做Android 系统开发或者应用开发有一个Android的开发环境非常有必要或者需要自己下载Android NDK。 2.1.在源码位置下新建一个源码路径 HelloWorld.java源码如下 package com.wqf.hellojni;public class HelloWorld{public static native String helloWorld();public static native int add(int a,int b);}2.2 用命令编译生成头文件 1、用命令 javac com/wqf/hellojni/HelloWorld.java 生成HelloWorld.class 2、用命令 javah -classpath . -jni com.wqf.hellojni.HelloWorld 生成头文件 注意 网上很多说明用 javah -jni com.wqf.hellojni.HelloWorld  生成头文件我试过很多次都是失败还是用我上面那个命令可以看看javah的命令帮助 2.3 编译生成libjni.so库步骤 2.3.1 在jni目录里面建立几个文件如下 1、把上面生成的 com_wqf_hellojni_HelloWorld.h 放到这个目录来 2、新建一个jni.c文件用来实现上面头文件里面的方法 3、新建一个Android.mk文件用来编译 Android.mk的内容如下 ######################################### LOCAL_PATH : $(call my-dir) include $(CLEAR_VARS) LOCAL_SRC_FILES: jni.c LOCAL_MODULE : libjni  include $(BUILD_SHARED_LIBRARY)  2.3.2 jni.c的内容如下 关于JNI的语法大家可以自行百度看看说明的很多这里不再详细说明下面也比较简单。 //自己创建一个c文件实现自己定义的native方法也就是.h文件中的方法 //引入自己生成的.h头文件 #include com_wqf_hellojni_HelloWorld.h//返回一个字符串 JNIEXPORT jstring JNICALL Java_com_wqf_hellojni_HelloWorld_helloWorld(JNIEnv *env, jclass jobj) {return (*env)-NewStringUTF(env,HelloWorld 我是用jni调用出来的字符串); } //返回 ab的结果 JNIEXPORT jint JNICALL Java_com_wqf_hellojni_HelloWorld_add(JNIEnv *env, jclass jobj, jint a, jint b){return ab; }2.3.3 编译 使用mm -B 命令编译生成so文件编译结果如下图说个小细节我们编译生成的libjni.so我们要会看他的几个参数 1、文件类型使用file命令查看是32位的库还是64位的库2、使用md5sum命令查看md5码这个可以查看文件的唯一md5码以后遇到一个文件名字一样的可以用这个方式知道是不是同一个文件 3. 写个简单的apk测试一下 我们的APK编写用的是android studio来编写的现在android studio是非常主流的android开发工具如果大家想自己做一个小的DEMO的话建议装这个工具网上安装流程非常多了下载SDK后最好不要放在C盘要不然重装系统后又没有了。 3.1先来一个整体的运行效果图片 注意HelloWorld.java的包名要跟com_wqf_hellojni_HelloWorld .h上面生产库头文件对应起来要不然运行会出现问题要特别注意。 我们在图片上可以看到add 9,这个是我们在JNI里面的输出结果 3.2 APK编译步骤和几个注意的细节 我是在Android 7.1上编写APK进行测试的相比其他Android版本Android 7.1的问题更多我说下操作步骤和细节。 3.2.1、我们先编写一个可以运行的APK 我们需要编写一个helloworld的简单apk这个apk不需要引用库文件直接输出一个helloworld。   3.2.2、然后我们引用我们的库文件 这里注意的是HelloWorld.java 里面的内容 加载库的代码 package com.wqf.hellojni;public class HelloWorld{static {//名字必须和libjni.so 名字对应起来System.loadLibrary(jni);}public static native String helloWorld();public static native int add(int a,int b);}在MainActivity.java里面导入包并调用add函数 4. 源码连接 源码我放在github上面方面查看有源码的例程大家研究起来更加得心应手 https://github.com/weiqifa0/androidjni 参考 https://blog.csdn.net/a_zhon/article/details/53097512# 欢迎加我微信拉大家进微信技术讨论群 欢迎关注微信公众号-嵌入式Linux 觉得不错请帮忙转发您的每一次支持我都将铭记于心
http://www.huolong8.cn/news/73081/

相关文章:

  • 长沙企业建站公司网站信息登记表
  • 做dw网站图片怎么下载地址cms免费建站系统
  • 网站建设公司海南网站搭建策略与方法有哪些方面
  • 银川网站建设哪家好叫啥名字一个网站每年维护费用
  • 石家庄网站建设联系电话温州网页制作招聘
  • 中山网站建设制作 超凡科技免费网站开发合同
  • cms网站建站流程网络营销网站规划建设
  • 深圳建网站需要多少钱昆明企业网站建设一条龙
  • 泉港区住房和城乡规划建设局网站启明星网站建设
  • 校园二手网站的建设方案网站做扫一扫
  • 小区媒体网站建设公众号运营工作内容
  • 网站宽屏背景企业网站建设门户
  • 杭州网站建设哪家公司好wordpress如何重置
  • 网站被k 但收录内页淘宝客 网站 备案
  • 那个网站教做冰鲜鱼做网站要学哪些程序
  • 云主机建网站教程竭诚网络网站建设开发
  • 电信网站备案流程图南京江北新区房价走势最新消息
  • 网站规划书的内容有哪些新闻门户网站建设
  • 桐柏网站建设网站建设方案书 下载
  • 做网站的软件高中 通用技术加快网站速度吗
  • 建设网站怎么创建数据库私域流量管理工具
  • 做网站图标的软件wordpress 主题设置
  • 网站浏览器兼容问题wordpress nginx配置
  • 网站建设制作开发什么网站的新闻做参考文献
  • 网站开发费用做账鸿运通网站建设怎么样
  • wordpress网站如何播放视频播放器某公司网络设计方案
  • 赣州网站开发公司腾讯云可视化wordpress
  • 网站开发前台实训三明seo
  • 谷谷互联建的网站如何把qq在线wordpress扫码下载
  • 后台企业网站模板网站制作公司怎么找