eclipse NDK jni配置





将会出现jni文件夹,即下面Hello_NDk.cpp和Android.mk




此时会出现下面问题,虽然网上有人说可以用下面这种方式解决,没错是可以解决,但是又会出现另一个问题,那就是如果你想在jni目录下建c++工程及class,你会发现找不到相应的



网上找得比较多得办法(感觉不好):


后面又找到另外一种方法:

选中工程,右键->Properties,点击C/C++ General展开,点击 Path and Symbols,在右边Includes下,点击Add,把NDK文件夹下的jni头文件和相应的C++头文件添加进来。一定要填写完整的路径,比如我添加的两个路径分别是:

      E:\AndroidNDK\android-ndk-r10c\toolchains\mipsel-linux-android-4.8\prebuilt\windows-x86_64\lib\gcc\mipsel-linux-android\4.8\include

       E:\AndroidNDK\android-ndk-r10c\platforms\android-19\arch-arm\usr\include


即可解决问题。




之后就是建立相应的java接口来与C/C++通信:





并在Java代码中引入so库



将GetString类生成头文件,网上比较常见的是用Cmd命令生成的,但这种方式太麻烦了


下面这种是通过直接在eclipse里配置的

1、首先先在工程新建一个



然后代码参考下面


</pre><pre code_snippet_id="1675487" snippet_file_name="blog_20160508_1_2733330" name="code" class="html"><?xml version="1.0" encoding="UTF-8"?>
<!-- ====================================================================== 
     2016年5月8日 下午6:21:49                                                        

     HelloNDK    
     description
                   
     hejia                                                                
     ====================================================================== -->
<project name="HelloNDK" default="BuildAllHeaders">
    <description>
            description
    </description>

    <!-- ================================= 
          target: BuildAllHeaders              
         ================================= -->
    <target name="BuildAllHeaders">
        <antcall target="BuildGetStringHeaders"> </antcall>
    	<antcall target="BuildGetIntHeaders"> </antcall>
    </target>

    <!-- - - - - - - - - - - - - - - - - - 
          target: BuildGetStringHeaders                      
         - - - - - - - - - - - - - - - - - -->
    <target name="BuildGetStringHeaders">
    	<javah destdir="./jni" classpath="./bin/classes/" class="com.example.hellondk.GetString"></javah>
    </target>
	<!-- ================================= 
          target: BuildGetIntHeaders              
         ================================= -->
    <target name="BuildGetIntHeaders" >
    	<javah destdir="./jni" classpath="./bin/classes/" class="com.example.hellondk.GetInt"></javah>
    </target>

</project>
</pre><pre code_snippet_id="1675487" snippet_file_name="blog_20160508_1_2733330" name="code" class="html">

配置Ant编译头文件




后面就是编译c++编译问题。网上有直接用ndk-builder编译的,但是那种方法太复杂了,每次建工程都要配置一大堆,才能使用,其中现在直接用CDT就可以了,按刚才那种方法配置,就能自动生成CDT Builder



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值