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

锡林郭勒盟网站建设_网站建设公司_定制开发_seo优化

手机搜索和网站搜索的排名,广告装饰公司名称大全,戴尔电脑网站建设方案范文,公司做网站走什么费前沿编译so的方法有两种方法第一种就是编写原生的makefile文件利用gcc进行编译#xff0c;这里我讲解的是另外一种。采用NDK提供的ndk-build编译。简介使用ndk编译的时候需要介绍它的脚本文件,Android.mk和Application.mk#xff0c;但是Application.mk是可选的#xff0c;用…前沿编译so的方法有两种方法第一种就是编写原生的makefile文件利用gcc进行编译这里我讲解的是另外一种。采用NDK提供的ndk-build编译。简介使用ndk编译的时候需要介绍它的脚本文件,Android.mk和Application.mk但是Application.mk是可选的用来描述原生程序用到的一些特性如原生程序支持的ARM指令集。Android.mk是工程的编译脚本描述了编译原生程序所需要的选择项、头文件、源文件以及依赖库等。实例首先需要下载DNK这个就不用多说了我直接来说步骤吧。程序员一般都会对Hello,world感到亲切我们就从hello,word开始。利用eclipse新建一个项目我取了新建了一个andoridNDKTest这个项目先看看项目目录吧。这里注意到上面的多了一个jni目录这个目录就是java通过jni调用的代码放的地方里面放了三个文件我们还是首先来讲一下hello-jni.c这个文件我们来看看代码。#include #include jstringJava_com_example_ndktest_MainActivity_stringFromJNI( JNIEnv* env,jobject thiz ){return (*env)-NewStringUTF(env, Hello world );}代码很简单就是命名有点长第一个Java不用管就是jni的规定然后后面的就是包路径和类名称最后是函数名。这个函数的作用就是返回一个字符串。然后就是利用ndk来编译这个函数了我们需要看看Android.mk和Applicaion.mk文件里面到底有些什么。android.mkLOCAL_PATH : $(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE    : helloLOCAL_SRC_FILES : hello-jni.cinclude $(BUILD_SHARED_LIBRARY)LOCAL_PATH:($call my-dir)定义了本地源码路径 call my-dir是编译系统提供的返回的就是mk的路径。include $(CLEAR_VARS) 指定让编译系统清楚掉一些已经定义过的宏这些宏定义都是全局的如LOCAL_MODULE、LOCAL_SRC_FILE当一个GUN MAKE在编译多个模块时候必须清楚并且重新设置他们。LOCAL_ARM_MODE : arm指定原生程序用的指令集这里上面我们没有用到。LOCAL_MODULE: hello指定生成程序的文件名如果生成共享的库模块会生成libhello.so.LOCAL_SRC_FILE:hello-jni.c指定c或者c源文件。inlude $(BUILD_EXECUTABLE)指定生成文件的类型BUILD_EXECUTABLE表示可执行文件BUILD_SHARED_LIBRARY表示生成动态库BUILD_STATIC_LIBRARY静态库。然后是Applicaion.mk文件APP_ABI : all这句代码的意思是生成所有平台的编译结果。其实到了这里你就可以直接进入jni文件夹里面输入ndk-build开始编译了但是为了看到编译过后的运行结果我这里在eclipse里面编译看图说话。然后编译器就会自动的编译文件最后就是android这边的调用了我们来看看andorid的文件代码public class MainActivity extends Activity {//声明c的接口public native String stringFromJNI();static {System.loadLibrary(hello);}Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);TextView textView  (TextView) findViewById(R.id.hello);textView.setText(stringFromJNI());}}然后让我们注意的是这句代码public native String stringFromJNI();其实它就是函数生命但是采用的native因为是在so里面的。static {System.loadLibrary(hello);}这句函数就更简单了直接加载我们刚才编译好的so库。好了如果没什么问题就直接run在手机上看效果吧。
http://www.ihoyoo.com/news/99764.html

相关文章:

  • 成功的营销网站如何增加网站转化率
  • 网站首页大图的尺寸新乡网络科技有限公司
  • 外贸上哪个网站开发客户珠海做网站找哪家好
  • 西安网站建设孙正学帮做3d模型的网站
  • 谷城县城乡建设局网站设计方案包括哪几部分
  • 网站建设与制作企业wordpress php apache
  • 网站推广建设加盟苏州专业做网站较好的公司有哪些
  • 织梦网站反应速度慢国际物流公司
  • 基于cms设计网站的背景意义电子商务网站建设百度文库
  • 网站内容更新软件友链交易网
  • 网站开发源代码关于淘宝店网站建设的可行性报告
  • 网站开发流程分析什么装修网站做的好的
  • 企业网站基本信息早教德州市建设街小学官方网站
  • 川沙网站建设资讯类网站建设资质要求
  • 整站网站模板网站建设服务协议
  • 网站搭建代码国内最好景观设计公司排名
  • 关于网站建设的工作计划如何做网站首页的psd图
  • 阿里云网站模板 解析怎么弄公众号
  • 宁波白云医院网站建设wordpress审批优化
  • 深圳网站建设服务器公司wordpress社区型主题
  • 龙华做棋牌网站建设哪家好wordpress工坊
  • wordpress模板网站模板wordpress+简书模板
  • 积分网站运营建设投标书网站建设买阿里云云服务器
  • 如何更换网站后台两性做受技巧视频网站
  • 模仿别人的网站wordpress 新建php页面模板
  • mt4外汇网站建设广州网络营销产品代理
  • 微信网站开发源代码网站宣传的劣势
  • 宁波鄞州网站建设js页面下载wordpress
  • 网站做有偿广告需要什么有序上海外贸网站seo
  • 品牌网站建设报价单wordpress 食谱主题