Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
/ ndk Public

android ndk jni module for use internal libs android from source code.

Notifications You must be signed in to change notification settings

feicong/ndk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

2 Commits

Repository files navigation

android ndk jni module for use internal libs android from source code.

usage

push code from github to your jni folder:

$ git clone https://github.com/feicong/ndk

apply these lines to your Android.mk file:

LOCAL_C_INCLUDES 	:= $(LOCAL_PATH)
include $(CLEAR_VARS)
LOCAL_MODULE 			:= android_runtime
LOCAL_SRC_FILES 		:= ndk/lib/$(TARGET_ARCH_ABI)/libandroid_runtime.so
include $(PREBUILT_SHARED_LIBRARY)
include $(CLEAR_VARS)
LOCAL_C_INCLUDES 	:= $(LOCAL_PATH)
include $(CLEAR_VARS)
LOCAL_MODULE 			:= binder
LOCAL_SRC_FILES 		:= ndk/lib/$(TARGET_ARCH_ABI)/libbinder.so
include $(PREBUILT_SHARED_LIBRARY)
include $(CLEAR_VARS)
LOCAL_C_INCLUDES 	:= $(LOCAL_PATH)
include $(CLEAR_VARS)
LOCAL_MODULE 			:= utils
LOCAL_SRC_FILES 		:= ndk/lib/$(TARGET_ARCH_ABI)/libutils.so
include $(PREBUILT_SHARED_LIBRARY)
include $(CLEAR_VARS)

now use it in your module:

LOCAL_C_INCLUDES 		:= $(LOCAL_PATH)/ndk/include
LOCAL_MODULE := module1
# use libandroid_runtime.so libbinder.so libutils.so here.
LOCAL_SHARED_LIBRARIES	:= android_runtime binder utils
LOCAL_LDLIBS := -ldl -llog
# LOCAL_LDFLAGS := -Wl,--unresolved-symbols=ignore-all
LOCAL_SRC_FILES := src.cpp
include $(BUILD_SHARED_LIBRARY)
......
# module2
# module3
......

add code to your Android Studio module file build.gradle:

android {
 compileSdkVersion 21
 buildToolsVersion '25.0.2'
 defaultConfig {
 minSdkVersion 9
 targetSdkVersion 19
 externalNativeBuild {
 ndkBuild {
 abiFilters 'armeabi', 'armeabi-v7a', 'arm64-v8a', 'x86'
 arguments "APP_STL=gnustl_static"
 arguments "ANDROID_PLATFORM=android-21"
 arguments "NDK_TOOLCHAIN_VERSION=clang"
 arguments "-j8"
 targets "module1", "module2", "module3"
 cppFlags "-DHAVE_SYS_UIO_H"
 }
 }
 ......
 }
 externalNativeBuild {
 ndkBuild {
 path 'path/to/jni/Android.mk'
 }
 }
}

now, enjoy it !

About

android ndk jni module for use internal libs android from source code.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

AltStyle によって変換されたページ (->オリジナル) /