Ami*_*Pal 5 c++ x86 android arm cmake
我需要ARM为示例CPP项目生成结构共享库。
示例项目包含:
现在,我想为不同的 Android 项目创建一个共享库。我试图编译,[Android-Cmake][1]但它生成的X86不是 ARM 的架构库。
请让我知道是否有其他方法可以做到这一点。我也可以X86在所有版本的 Android 平台上运行吗?
这是我的 Android.mk:
LOCAL_PATH := $(call my-dir)/../ //Path is according JNI Folder
SRC_TOP_DIR := $(LOCAL_PATH)
include $(CLEAR_VARS)
LOCAL_MODULE := smileParse
LOCAL_CFLAGS := -DANDROID
LOCAL_SRC_FILES := main.cpp test.cpp smamain.cpp
LOCAL_C_INCLUDES := $(LOCAL_PATH)/../include $(LOCAL_PATH)/
Run Code Online (Sandbox Code Playgroud)
在您的项目中创建一个名为 JNI 的文件夹:

在JNI文件夹中创建或编辑Android.mk,设置包含和库路径,
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := hello-jni
LOCAL_SRC_FILES := some.cpp
include $(BUILD_SHARED_LIBRARY)
Run Code Online (Sandbox Code Playgroud)
声明一个java包装类,声明一个native函数:
public class JWrapperSomeClass {
public native void Demo(int para);
}
Run Code Online (Sandbox Code Playgroud)
使用javah命令为 C++ 方法包装器生成函数签名:
javah -jni -classpath bin/classes/ -d jni com.example.Your.Package.Class
Run Code Online (Sandbox Code Playgroud)
编辑C++代码
转到您的项目文件夹,运行命令:
$ANDROID_NDK/ndk-build
Run Code Online (Sandbox Code Playgroud)
其中 $ANDROID_NDK 是您安装 android NDK 的文件夹
差不多就是这样了。有关更多详细信息,您可以阅读 NDK 或 JNI 文档。
| 归档时间: |
|
| 查看次数: |
5732 次 |
| 最近记录: |