• android studio 编译NDK android studio 生成.so文件


    详细配置使用请移步:https://www.jianshu.com/p/4c7d9a10933b

    android studio NDK 编译

    第一步:

    app/build.gradle下面

    添加代码:

            ndk {
                moduleName "app" // <-- This is the name of my C++ module!
                cFlags "-DANDROID_NDK " // Define some macros
                ldLibs "EGL", "GLESv3", "dl", "log"         // Link with these libraries!
                stl "stlport_shared"
            }

    具体如下:

     

    第二步:

    local.properties文件中 配置好本地NDK的路径,比如我的:

    ndk.dir=/Users/cinba/Library/android-ndk-r10e
    sdk.dir=/Users/cinba/Library/android-sdk

    第三步:

    在main下面建立jni文件夹:吧相关的文件放进来

    第四步:

    然后 build-> make projectso文件就生成好了;

    位置在 目录 app/build/intermediates/ndk/下面;

    第五步:

    将生成好的so文件copy到我们的jniLibs文件夹中即可;

    补充:
    这样配置每次都会自动编辑c文件,如果不要每次都ndk编译话,把gradle中的ndk配置注释掉,然后so文件copy到我们的jniLibs中即可!
     
    解决办法:
    在gradle.properties 文件里面添加 android.useDeprecatedNdk=true 后重新编译即可
     
    遇到的问题:
     
    make.exe: *** No rule to make target `D:AndroidStudioProjectsprojectappuildintermediates dkumengdebugobj/local/arm64-v8a/objs/app/D_AndroidStudioProjectsprojectappsrcmainjni', needed by `D:AndroidStudioProjectsprojectappuildintermediates dkumengdebugobj/local/arm64-v8a/objs/app/D_AndroidStudioProjectsprojectappsrcmainjni ag.o'.  Stop.
     
     
    在Windows下NDK一个bug,当仅仅编译一个文件时出现会出现此问题,解决方法就是再往jni文件夹加入一个空util.c文件即可
    问题参考资料:http://blog.csdn.net/sodino/article/details/41946607
     
     
     
     
  • 相关阅读:
    WSS3.0安装后,系统资源消耗这么大
    通过名称找到控件(VB.NET)
    zencart 对首页静态化处理
    zen cart 模板类 template_fun class
    现在网络上流行的病毒都太“厚道”了
    从SPS2003的邮件设置上看微软标准与国际标准
    我也有了BLOG,欢迎交流
    如何给WEBPART中增加客户端代码
    如何修改More Information 中的Page 2,Page 3,Page4
    汽车保养项目[转载]
  • 原文地址:https://www.cnblogs.com/androidxiaoyang/p/5403955.html
Copyright © 2020-2023  润新知