加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

利用Android Studio编写 Android上的c与c++程序

(2017-05-22 19:01:20)
标签:

android

分类: Android开发

 

Android Studio 2.3.1

 

1.       新建New Project

a)         http://s10/mw690/002pOPQEzy7bhb0CgMV49&690Studio编写 Android上的c与c++程序" TITLE="利用Android Studio编写 Android上的c与c++程序" />


b)         http://s8/mw690/002pOPQEzy7bhb1YoUn97&690Studio编写 Android上的c与c++程序" TITLE="利用Android Studio编写 Android上的c与c++程序" />


c)         http://s4/mw690/002pOPQEzy7bhb3b9sL53&690Studio编写 Android上的c与c++程序" TITLE="利用Android Studio编写 Android上的c与c++程序" />


d)         http://s5/mw690/002pOPQEzy7bhb6MTxa24&690Studio编写 Android上的c与c++程序" TITLE="利用Android Studio编写 Android上的c与c++程序" />



e)         http://s8/mw690/002pOPQEzy7bhb8oJ5d17&690Studio编写 Android上的c与c++程序" TITLE="利用Android Studio编写 Android上的c与c++程序" />


2.       自动打开新建的工程:

a)         project的方式显示工程:

http://s7/mw690/002pOPQEzy7bhbez9Loc6&690Studio编写 Android上的c与c++程序" TITLE="利用Android Studio编写 Android上的c与c++程序" />

b)         Main目录下新建jni文件夹:

http://s2/mw690/002pOPQEzy7bhbfPDrjf1&690Studio编写 Android上的c与c++程序" TITLE="利用Android Studio编写 Android上的c与c++程序" />

c)         jni文件夹下新建test_hello_world.cpp

http://s3/mw690/002pOPQEzy7bhbgXspI32&690Studio编写 Android上的c与c++程序" TITLE="利用Android Studio编写 Android上的c与c++程序" />

d)         jni文件夹下新建Android.mk

http://s6/mw690/002pOPQEzy7bhbizgCV15&690Studio编写 Android上的c与c++程序" TITLE="利用Android Studio编写 Android上的c与c++程序" />

e)         jni文件夹下新建Application.mk文件,作用在于支持c++共享库:

http://s16/mw690/002pOPQEzy7bhbjPckv1f&690Studio编写 Android上的c与c++程序" TITLE="利用Android Studio编写 Android上的c与c++程序" />

f)          注意观察project下的local.properties文件:

http://s2/mw690/002pOPQEzy7bhblN4Hvc1&690Studio编写 Android上的c与c++程序" TITLE="利用Android Studio编写 Android上的c与c++程序" />

g)         修改project下的gradle.properties文件,增加配置android.useDeprecatedNdk=true,其作用在于告诉系统使用ndk编译:

http://s9/mw690/002pOPQEzy7bhbn1pXy98&690Studio编写 Android上的c与c++程序" TITLE="利用Android Studio编写 Android上的c与c++程序" />

h)         修改app目录下的build.gradle文件,增加配置:

                         i.              ndkabiFilters配置作用在于限定生成的cpu/abi

                       ii.              jni.srcDirs = [] 表示禁止as自动ndk编译,采用手动ndk-build

                      iii.              jniLibs.srcDirs = [‘src/main/libs’]  表示经过ndk-build编译后的so路径。

http://s10/mw690/002pOPQEzy7bhboC4eR59&690Studio编写 Android上的c与c++程序" TITLE="利用Android Studio编写 Android上的c与c++程序" />

i)           jni文件夹下新建Cmd scriptmake_x86.cmd,用于手动ndk-build:

http://s8/mw690/002pOPQEzy7bhbpXI91f7&690Studio编写 Android上的c与c++程序" TITLE="利用Android Studio编写 Android上的c与c++程序" />

j)           右键点击make_x86.cmd文件选择Run cmd script

http://s15/mw690/002pOPQEzy7bhbrSK984e&690Studio编写 Android上的c与c++程序" TITLE="利用Android Studio编写 Android上的c与c++程序" />

http://s14/mw690/002pOPQEzy7bhbrWE45dd&690Studio编写 Android上的c与c++程序" TITLE="利用Android Studio编写 Android上的c与c++程序" />


k)         获得目标程序文件test_hello_world

http://s8/mw690/002pOPQEzy7bhbu2OSH37&690Studio编写 Android上的c与c++程序" TITLE="利用Android Studio编写 Android上的c与c++程序" />

http://s7/mw690/002pOPQEzy7bhbu7QuG46&690Studio编写 Android上的c与c++程序" TITLE="利用Android Studio编写 Android上的c与c++程序" />


3.       Android虚拟机中执行程序:

1.          

a)         开启x86 cpu/abi的虚拟机:

http://s4/mw690/002pOPQEzy7bhbvqi0re3&690Studio编写 Android上的c与c++程序" TITLE="利用Android Studio编写 Android上的c与c++程序" />

b)         使用adb命令把文件传到Android虚拟机中,并赋予可执行权限:

http://s7/mw690/002pOPQEzy7bhbwEFRYd6&690Studio编写 Android上的c与c++程序" TITLE="利用Android Studio编写 Android上的c与c++程序" />

c)         添加当前路径为so库文件查找路径命令,防止elf文件运行阶段找不到so库的问题,LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/data/local/tmp

http://s4/mw690/002pOPQEzy7bhbAXhWb23&690Studio编写 Android上的c与c++程序" TITLE="利用Android Studio编写 Android上的c与c++程序" />

 

 

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有