0x00 本文目标 让Java层代码与Native层代码交互 编译Native代码为SO文件 将SO文件集成到最终的APK文件中 为此你需要Android Studio和NDK套装,百度搜索后直接到官网下载。 0x01 Java层 为了让Java层与JNI层交互,来个简单的测试代码。hello方法用 ...
分类:
移动开发 时间:
2019-06-09 09:25:08
阅读次数:
668
配置抓包工具 关闭捕获主机通讯关闭 配置: 在手机端进行配置 进入wifi设置,长按网络高级选项->手动设置代理 测试是否设置成功,手机上随便开应用看抓包器是否有反应 打开抓包目标apk(恋恋,登录) 目标找出加密算法 使用AndroidKiller反编译 使用geb工具查看(使用前必须配置环境),... ...
分类:
其他好文 时间:
2019-06-09 00:37:17
阅读次数:
118
1.修改文件 vim /etc/rc.local rc.local是Linux启动程序在login程序前执行的最后一个脚本,解释https://blog.csdn.net/sinat_16791487/article/details/76696753 简单说: 第一行:目的在于避免这个脚本重复执行, ...
分类:
系统相关 时间:
2019-06-07 21:21:40
阅读次数:
143
Eclipse启动时提示如下信息: Failed to load the JNI shared library "D:\eclipse\jre\bin\server\jvm.dll". 请检查JRE与Eclipse的架构是否相符。 ?对于32位Eclipse可执行文件(Windows上的eclips ...
分类:
系统相关 时间:
2019-06-02 01:28:34
阅读次数:
141
LOCAL_PATH:= $(call my-dir) include $(CLEAR_VARS) # This is the target being built. LOCAL_MODULE:= libled_jni # All of the source files that we will c ...
分类:
移动开发 时间:
2019-05-25 19:59:09
阅读次数:
112
1. 多线程的创建方式 (1)、继承 Thread类:但Thread本质上也是实现了Runnable 接口的一个实例,它代表一个线程的实例,并且,启动线程的唯一方法就是通过 Thread 类的 start()实例方法。start()方法是一个 native 方法,它将启动一个新线程,并执行run() ...
分类:
编程语言 时间:
2019-05-24 15:44:52
阅读次数:
150
java.lang.SecurityException: Prohibited package name: java at java.lang.ClassLoader.preDefineClass(ClassLoader.java:662) at java.lang.ClassLoader.defi ...
分类:
其他好文 时间:
2019-05-19 09:50:38
阅读次数:
123
TestJNI.java javah -jni TestJNI 生成TestJNI.h,这个文件不用自己改,如下: 然后用c++实现JNICALL Java_TestJNI_test方法,注意c++类型和JNI类型的转换: 编译c++成.so文件,注意指定头文件路径,因为需要用到jni.h, jni ...
分类:
编程语言 时间:
2019-05-13 20:12:24
阅读次数:
383
Java多线程非常复杂,可以使用BlockingQueue和Executor等工具类来简化使用。但还是要弄清wait()、notify()和notifyAll()的作用和用法。它们都是native方法 一、wait() 作用:告诉当前调用它的方法释放锁并sleep,直到其它某个线程也进入sleep状 ...
分类:
编程语言 时间:
2019-05-13 16:10:22
阅读次数:
155
直接在堆外分配一个内存(即,native memory)来存储数据,程序通过JNI直接将数据读/写到堆外内存中。因为数据直接写入到了堆外内存中,所以这种方式就不会再在JVM管控的堆内再分配内存来存储数据了,也就不存在堆内内存和堆外内存数据拷贝的操作了。这样在进行I/O操作时,只需要将这个堆外内存地址... ...
分类:
其他好文 时间:
2019-05-13 09:21:53
阅读次数:
105