#recommended #blog http://landerlyoung.github.io/blog/2014/10/16/java-zhong-jnide-shi-yong/
#andoid #java #native
#andoid #java #native
landerlyoung.github.io
Java 中JNI的使用 - Young_Blog
Java 中JNI的使用 JNI全称是Java Native Interface是在JAVA和Native层(包括但不限于C/C++)相互调用的接口规范。 JNI在JAVA1.1中正式推出,在JAVA1.2版本中加入了JNI_OnLoad,JNI_OnUnload方法,这两个方法还是很有用的, …
duangsuse::Echo
我去,这也太鬼畜梦幻了,他们居然忘了 strip 掉调试符号... liba.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, BuildID[sha1]=aa1eac616f2abab80d5b9268e955c0d37de0df26, with debug_info, not stripped 这特么简直是作死啊,生怕别人逆向不出来调试不方便了.... 🤪 酷安这位叫做 kjsolo…
典型的 Android JNI 没好好写... 🤔
到底 liba 有多特殊的需求,Android Make(NDKBuild) 难道不够么,难道他们用 Android CMake? #Android #Java #Native
到底 liba 有多特殊的需求,Android Make(NDKBuild) 难道不够么,难道他们用 Android CMake? #Android #Java #Native
GitHub
duangsuse/e2im
📝 Android library version of ChangeAttr, Apache licensed - duangsuse/e2im
APP_ABI := x86 armeabi-v7a arm64-v8a x86_64#Native #Build 难记... 所以我每次都从某些模板创建这种文件,然后去查 NDK 的文档,这么多宏、变量根本记不住。
APP_PLATFORM := android-14
APP_BUILD_SCRIPT := Android.mk
LOCAL_PATH := $(call my-dir)
include $(CLEAN_VARS)
LOCAL_CFLAGS := -Wall -Werror -std=c99 -lto -O3 -fno-stack-protector $(EXTRA_FLAGS)
LOCAL_MODULE := e2immutable
LOCAL_MODULE_FILENAME := libe2im.so
LOCAL_SRC_FILES := e2immutable.c
LOCAL_BUILD_SCRIPT := BUILD_EXECUTABLE
LOCAL_MAKEFILE := $(local-makefile)
my := TARGET_
$(call handle-module-built)
LOCAL_MODULE_CLASS := EXECUTABLE
include $(BUILD_SYSTEM)/build-module.mk
然而能写出来依然觉得好大佬啊(迫真
下面是 CMakeLists.txt 的一个栗子,比上面的好记(暴论)
cmake_minimum_required(VERSION 3.6)
project(jni)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
set(BUILD_USE_64BITS on)
set(SOURCE_TEMPLATES)
set(SOURCE_FILES WinAPI.cpp)
set(SOURCE_HEADERS WinAPI.h)
# add_executable(jni ${SOURCE_FILES})
add_library(
jni SHARED
${SOURCE_FILES}
${SOURCE_TEMPLATES}
${SOURCE_HEADERS})
target_link_libraries(jni)
GitHub
ice1000/ice1000.github.io
Personal tech blog. Contribute to ice1000/ice1000.github.io development by creating an account on GitHub.