windows android直接手动编译JNI successfully ever(long long ago)(vs 编译器)
来源:互联网 发布:学数据库有什么用 编辑:程序博客网 时间:2024/06/06 09:06
D:\programming\java\YourSafe>ndk-build[armeabi] Compile++ thumb: hello <= hello.cpp[armeabi] StaticLibrary : libstdc++.a[armeabi] SharedLibrary : libhello.so[armeabi] Install : libhello.so => libs/armeabi/libhello.so编译前配置的mk文件:Android.mk(android的a要大写)LOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE := helloLOCAL_SRC_FILES := hello.cppinclude $(BUILD_SHARED_LIBRARY)编译过程:编译class文件得到jni文件。把编译好jni的c的头文件放在项目根目录jni文件夹下,没有jni文件夹就自己创建一个。接下来,编译得到so文件,在项目根路径下编译啊(也许还要设置NDK_PROJECT_PATH环境变量指向你的项目根路径!)必须在项目的根路径编译:parentPath\ndk-build(ndk-build为ndk下文件配置到环境变量path中可随处使用)eg.D:\androidProject\ndk-build接下来就是自动编译了,是在windows下编译--遇到问题上面已经显示了:解决问题1:版本问题:本jni编译器只支持android-15以上,所以设置AndroidManifest.xml文件中的<uses-sdk android:minSdkVersion="15" android:targetSdkVersion="21" />//设置minSdkVersion到合适版本--遇到问题2:APP_BUILD_SCRIPT points to an unknown file就是Android.xml文件名a要大写。--遇到问题3:代码错误,漏写变量啊,错误函数啊,这个编译器应该会指出,照提示修改。编译后会有obj文件夹,运行程序会自动将so文件加载到libs文件下。编译后obj文件路径:obj/local/armeabi/objs--hello--hello.o--hello.o.d--libhello.so--libstdc++.a编译后的so文件路径:libs/armeabi/libhello.so
阅读全文
0 0
- windows android直接手动编译JNI successfully ever(long long ago)(vs 编译器)
- long long ago
- LONG LONG AGO
- long time ago
- J2ME 走向成熟(long long ago)
- VC++编译器中用_int64代替long long
- printf 输出 long long / windows 与 linux 平台编译器 有区别
- android jni部分手动编译
- Long
- double vs long double
- Android中long类型对应Java/Jni/C++中的类型
- android jni传long型数据给java
- int ,long ,long long
- long long,long,int
- int、long、long long
- 【Cocos2dx】Android编译报Argument list too long错误
- 解决jni项目编译生成so时报错"argument list too long"
- Long类型比较不能直接用等于
- centos下源码搭建lnmp环境
- SpringBoot详解(二)-Spring Boot的核心
- 【Java学习笔记】38:三种泛型通配符
- Ubuntu装机那些事儿
- D002_Java类和成员的修饰符
- windows android直接手动编译JNI successfully ever(long long ago)(vs 编译器)
- 06 sample01
- FusionInsight HD常见异常
- spring容器的初始化
- tiny4412 配置dm9621网卡
- 高斯消元的一些模板 整理自他人,感谢!
- 单链表的逆操作2
- 函数模板
- 10 java里的容器类