03 2019 档案

摘要:0x2.导入xposed库文件XposedBridgeApi-XX.jar,将库文件放在app/lib目录下,自己创建一个lib目录,别放在libs目录下,否则会出错,然后导入库,修改 Scope 为 Provided0x1.打开AS建立一个没有界面的空工程,然后在清单文件中添加如下代码 0x2.导 阅读全文
posted @ 2019-03-30 19:04 星辰之力 阅读(2951) 评论(1) 推荐(0) 编辑
摘要:cordova不仅可以把vue项目打包成app,还可以让vue借助cordova调用手机原生的api 比如拍照 比如图片上传 比如定位 比如扫描二维码 比如支付等等 Vue Cordova教程-Vue+Cordova打造跨平台可安装的混合APP视频教程: https://www.itying.com 阅读全文
posted @ 2019-03-29 13:06 星辰之力 阅读(3906) 评论(0) 推荐(0) 编辑
摘要:直接修改dex破解 一.编写一个简单的验证程序 (1)MainActivity: (2)activity_main.xml 二.利用IDAPro及Winhex进行破解 1.解压得到classesdex文件 (1)打开IDAPro,将classes.dex拖放到IDAPro的主窗口,会弹出加载新文件的 阅读全文
posted @ 2019-03-29 11:16 星辰之力 阅读(8400) 评论(0) 推荐(1) 编辑
摘要:1. 实战背景由于工作需要,要爬取某款App的数据,App的具体名称此处不便透露,避免他们发现并修改加密逻辑我就得重新破解了。 爬取这款App时发现,抓包抓到的数据是加密过的,如图1所示(原数据较长,图中有省略),可以看到这个超长的data1字段,而且是加密过的。显然,对方不想让我们直接拿到它的信息 阅读全文
posted @ 2019-03-29 10:58 星辰之力 阅读(9058) 评论(2) 推荐(1) 编辑
摘要:背景需求 我们需要在JNI的C代码调用Java代码。实现原理:使用JNI提供的反射借口来反射得到Java方法,进行调用。 JNI关键方法讲解。 1. 在同一个类中,调用其他方法 注意: 看红色的内容,如何获得呢? 这个是函数的签名。函数签名借住命令 javap -p -s(这两个参数一定要加入)来获 阅读全文
posted @ 2019-03-27 11:09 星辰之力 阅读(909) 评论(0) 推荐(0) 编辑
摘要:概述 可能大家觉得javah生成的函数名又臭又长,不太好看。这里可以提供另外一种方法来动态注册c++函数,让其根Java中的native方法关联起来。 实现 这里通过JNIEnv的Resisternatives方法完成方法的注册。相关方法介绍: 看了上面的函数,我们可以知道在loadLibrary的 阅读全文
posted @ 2019-03-27 11:02 星辰之力 阅读(734) 评论(0) 推荐(0) 编辑
摘要:前面记录了调用C的学习笔记,现在来记录一下C反射调用Java的笔记。JNI开发学习之调用C方法 Android开发中调用一个类中没有公开的方法,可以进行反射调用,而JNI开发中C调用java的方法也是反射调用。 C代码回调Java方法步骤:①获取字节码对象(jclass (FindClass)(JN 阅读全文
posted @ 2019-03-27 10:58 星辰之力 阅读(936) 评论(0) 推荐(0) 编辑
摘要:JNI/NDK Java调用C/C++前言 通过第三篇文章讲解在实际的开发过程中Java层调用C/C++层的处理流程。其实我们在很大的业务里也需要C/C+ +层去调用Java层,这两层之间的相互调用显得如此的重要,正式两层之间的相互调用使得程序更具有高效性、安全性可言。下面主要讲解一下C/C+ +层 阅读全文
posted @ 2019-03-27 10:43 星辰之力 阅读(4735) 评论(0) 推荐(0) 编辑
摘要:此文章是关于NDK线程的第二篇理论知识笔记。主要有两个点,如下: 1.pthread_create(Too many arguements, expected 1) ?2.线程中如何获取JNIEnv?GetEnv返回NULL?3.FindClass返回NULL ?首先我们在主页MainActivit 阅读全文
posted @ 2019-03-27 10:32 星辰之力 阅读(4348) 评论(2) 推荐(0) 编辑
摘要:除了前面说的自定义JNI函数之外,JNI还提供了两个特殊函数,它们是JNI_OnLoad()和JNI_OnUnload(),分别在加载库和卸载库的时候调用。 1、JNI_OnLoad() Java调用System.loadLibrary()加载一个库的时候,会首先在库中搜索JNI_OnLoad()函 阅读全文
posted @ 2019-03-27 10:24 星辰之力 阅读(5508) 评论(1) 推荐(1) 编辑
摘要:从C/C++层调用JAVA层代码步骤: 1. 在JAVA类中创建java方法和本地方法 2.在JNI文件夹下创建类对应的.h文件(可通过JAVAH命令生成该类的.h文件,就不赘述了),创建.cpp文件(用于编写C/C++层的代码) .h文件: .cpp文件 3.调用JAVA方法需要类的对象 在C/C 阅读全文
posted @ 2019-03-27 10:22 星辰之力 阅读(2877) 评论(0) 推荐(0) 编辑
摘要:利用Android NDK编译动态库,在C文件中调用了两个JNI函数:JNI_GetDefaultJavaVMInitArgs和JNI_CreateJavaVM。编译的时候始终报以下错误: 看了网上很多人的解答,基本都是添加libjvm.so或者libnativehelper库。尝试下,没有一个靠普 阅读全文
posted @ 2019-03-27 10:11 星辰之力 阅读(1325) 评论(0) 推荐(0) 编辑
摘要:在Android的世界中,由名称为app_process的C++本地应用程序(路径为:framework/base/cmds/app_process/app_main.cpp)调用JNI Invocation API 在自身进程中加载dalvikvm虚拟机,这样就开创了java世界. 现在就简单的D 阅读全文
posted @ 2019-03-27 10:08 星辰之力 阅读(471) 评论(0) 推荐(0) 编辑
摘要:近期通过研究SDL源码 得出android JNI c/c++调用java 无需新建虚拟机: 具体步骤如下 第一步获得:两个参数 JNIEnv和jclass 第二步 获得java那边定义的函数的名字 第三步 传递参数调用java 函数 阅读全文
posted @ 2019-03-27 09:59 星辰之力 阅读(280) 评论(0) 推荐(0) 编辑
摘要:cmake提供了很多实用的cmake-modules,通过find_package()命令调用这些modules,用于写CMakeLists.txt脚本时方便的查找依赖的库或其他编译相关的信息,善用这些modules,可以提高写脚本的效率和脚本通用性。 说起来真的有点太抽象,举个我最近遇到的简单例子 阅读全文
posted @ 2019-03-27 09:51 星辰之力 阅读(750) 评论(0) 推荐(0) 编辑
摘要:我需要从C ++运行Java,一般来说问题已经解决,但我的make系统或脚本出了问题,有一个创建JVM的C ++文件: 有一个CMakeLists.txt文件: 运行它: 得到这个错误: 回答: 在CMakeLists.txt文件中,添加 而不是手动选择目录也可以依赖CMake: 阅读全文
posted @ 2019-03-27 09:44 星辰之力 阅读(1158) 评论(0) 推荐(0) 编辑
摘要:[Linker error] undefined reference to `_imp__JNI_CreateJavaVM@12' 阅读全文
posted @ 2019-03-27 09:41 星辰之力 阅读(517) 评论(0) 推荐(0) 编辑
摘要:最近在移植网络摄像机里的p2p库到android平台,需要用到jni,最近在c线程了调用java函数的时候 出现一个问题,假如在同一个线程调用java函数是没问题的,但在一个c线程了调用java函数就出现奔 溃问题,下面就直接贴c线程里调用java函数的流程代码吧: 步骤1. 我这里的应用是,jav 阅读全文
posted @ 2019-03-25 21:23 星辰之力 阅读(1420) 评论(1) 推荐(0) 编辑
摘要:GetFieldID是得到java类中的参数ID,GetMethodID得到java类中方法的ID,它们只能调用类中声明为 public的参数或方法。使用如下: 第一参数是Java 类对象。第二个参数是参数(或方法名),第三个参数是该参数(或方法)的签名。第三个参数由以下方法得到。 例如: 比如查看 阅读全文
posted @ 2019-03-24 12:45 星辰之力 阅读(4952) 评论(0) 推荐(0) 编辑
摘要:1、JNI是什么 JNI是Java Native Interface的缩写,它提供若干的API实现Java与其他语言之间的通信。而Android Framework由基于Java语言的的Java层与基于C/C++语言的C/C++层组成,每个层中的功能模块都是以有相应的语言编写,并且两层中的大部分模块 阅读全文
posted @ 2019-03-21 15:09 星辰之力 阅读(5968) 评论(0) 推荐(0) 编辑
摘要:1.禁用代码混淆功能 LOCAL_PROGUARD_ENABLED:= disabled 2.修改混淆规则,对于类的native 方法 不要进行混淆 阅读全文
posted @ 2019-03-21 13:06 星辰之力 阅读(454) 评论(0) 推荐(0) 编辑
摘要:最近因为项目需要下载Android终端模拟器(Android-Terminal-Emulator)源码进行调试编译,编译过程中出现报错 顿时不知道所以然,Google以后,在stackoverflow找到解决方法,一、在项目的gradle.properties添加android.useDepreca 阅读全文
posted @ 2019-03-19 20:27 星辰之力 阅读(5944) 评论(0) 推荐(1) 编辑
摘要:按照网上很多已有的教程,在用javah生成c的头文件时候报错: Error: no classes specified bash: ../../build/intermediates/classes/debug: is a directory 说 ../../build/intermediates/ 阅读全文
posted @ 2019-03-19 20:21 星辰之力 阅读(794) 评论(0) 推荐(0) 编辑
摘要:3情况1:个例 build.gradle 中 改成 情况2:确实是依赖冲突 例子: 引入以下依赖报该错误 执行命令: 排查 support-v4 出现的依赖关系中 发现 org.eclipse.paho:org.eclipse.paho.android.service:1.0.2 依赖了 com.g 阅读全文
posted @ 2019-03-19 15:44 星辰之力 阅读(14506) 评论(1) 推荐(0) 编辑
摘要:ScriptEngineManager is not available in Android and causes a NoClassDefFoundError 阅读全文
posted @ 2019-03-19 14:54 星辰之力 阅读(782) 评论(0) 推荐(0) 编辑
摘要:github地址:https://github.com/ohwada/Pepper_Android 阅读全文
posted @ 2019-03-19 14:53 星辰之力 阅读(478) 评论(0) 推荐(0) 编辑
摘要:以下是本人日常工作中收集的比较不错的Android开源项目 阅读全文
posted @ 2019-03-19 14:52 星辰之力 阅读(1285) 评论(0) 推荐(0) 编辑
摘要:在一个虚拟机A上运行另外一个虚拟机B看起来是挺不靠谱的一件事,在手机上运行某个虚拟机也不怎么靠谱。并且如果虚拟机A运行在手机上这个听起来就更不靠谱了。但是很多人就在做这样的事。比如在在手机上运行DOSBox ,在手机上运行python ,GBA模拟器,如果你说这些都是C语言的,没有问题。那么在Jav 阅读全文
posted @ 2019-03-19 14:50 星辰之力 阅读(762) 评论(0) 推荐(0) 编辑
摘要:Java1.8新添了一些特性,比如对lambda表达式的支持,父类推断等等,这篇文章讲述了1.8的新特性,有兴趣的同学可以点进去看看。但是由于AndroidStudio并不能直接支持Java1.8,我们需要手动导入一些插件来支持1.8: 首先在app层的build.gradle的最外层添加插件: 然 阅读全文
posted @ 2019-03-19 14:49 星辰之力 阅读(4653) 评论(0) 推荐(0) 编辑
摘要:目前在进行Android开发时使用到了log4j,现在对其配置进行记录。 1. android-logging-log4j 下载地址 https://code.google.com/archive/p/android-logging-log4j/ 2. 所依赖的apache的log4j库的下载地址 阅读全文
posted @ 2019-03-19 14:07 星辰之力 阅读(3511) 评论(0) 推荐(0) 编辑
摘要:项目报错: 原因: 解决方法:Android的项目目录里是有两个build文件夹的,一个是:项目目录/app/build,另一个是:项目目录/build。 把两个build都删掉,然后重新编译运行即可。 注意:在提交代码的时候两个build是不应该提交的。 参考:安卓开发-Didn’t find c 阅读全文
posted @ 2019-03-19 13:51 星辰之力 阅读(7439) 评论(0) 推荐(0) 编辑
摘要:虽然相同包名相同类名的文件在不同 SDK 中出现的概率极低,但是一旦出现,处理起来就比较棘手。最好的解决方案就是联系提供 SDK 的技术人员反映问题,让其通过修改源码重新打包一个新的 Jar 包。 还有一个解决办法就是,重新命名 Jar 包里的包名或者文件名。网上也有一个工具:jarjar.jar, 阅读全文
posted @ 2019-03-19 13:49 星辰之力 阅读(5239) 评论(0) 推荐(0) 编辑
摘要:最近在C++项目中碰到了需要使用第三方公司开发的Java jar包的问题,最后使用了JNI来解决。 参考了网络上不少的方法介绍, 大多数介绍JNI的文章讲的的都是Java通过JNI来调C的本地代码,其实这个也可以反过来用就是C的本地代码通过创建Java虚拟机调用java方法。下面贴一下解决实例C2J 阅读全文
posted @ 2019-03-19 13:31 星辰之力 阅读(2193) 评论(0) 推荐(0) 编辑
摘要:socks代理配置 项目代理:根目录下的gradle.properties文件 2.全局代理:用户根目录下的.gradle\gradle.properties文件 项目问题处理 阅读全文
posted @ 2019-03-19 13:26 星辰之力 阅读(1538) 评论(0) 推荐(0) 编辑
摘要:1、问题 我们一般很多时候会需要在ubuntu终端上打印当前运行app的日志,我们一般常见的做法是 1)、获取包名 打开当前运行的app,然后输入如下命令,然后在第一行TASK后面的就可以看到包名 2)、我们的终端安装了pidcat.py脚本,然后执行如下的命令就可以打印当前运行app的全日志, 3 阅读全文
posted @ 2019-03-19 13:16 星辰之力 阅读(1059) 评论(0) 推荐(0) 编辑
摘要:亲测,webpack打包vue项目之后生成的dist文件可以部署到 express 服务器上运行。 我的vue项目结构如下: 1. 进入该vue项目目录,打开git bash,执行:npm run build(在package.json的scripts配置) 执行成功如下图所示: 然后此时你会发现项 阅读全文
posted @ 2019-03-19 13:13 星辰之力 阅读(20882) 评论(0) 推荐(1) 编辑
摘要:我们在某些Android开源库中会遇到下面的引用找不到的问题:import javax.annotation.Nonnull;import javax.annotation.Nullable; 其实Android实现了javax的类似注解,可以使用下面的引用替换:import android.sup 阅读全文
posted @ 2019-03-18 17:04 星辰之力 阅读(7546) 评论(0) 推荐(0) 编辑
摘要:但是openjdk网站有提供的: http://hg.openjdk.java.net/jdk8u/jdk8u/jdk/file/6bfaecb8ff77/src/share/classes/ 或者直接用百度网盘下载:https://pan.baidu.com/s/1JaX50ETPaneQ-xFu 阅读全文
posted @ 2019-03-15 15:29 星辰之力 阅读(8133) 评论(0) 推荐(1) 编辑
摘要:1. 定义 JRE(Java Runtime Enviroment)是Java的运行环境。面向Java程序的使用者,而不是开发者。如果你仅下载并安装了JRE,那么你的系统只能运行Java程序。JRE是运行Java程序所必须环境的集合,包含JVM标准实现及 Java核心类库。它包括Java虚拟机、Ja 阅读全文
posted @ 2019-03-12 23:01 星辰之力 阅读(397) 评论(0) 推荐(0) 编辑
摘要:Android Studio 关联 Android 源码比较方便,一般下载后可自动关联,但是 Android Studio 默认使用的 JDK 是内嵌的,是不带源码的。所以在查看 JDK 源码时,看到的是反编译 class 而成的代码,没有注释。那么应该如何关联 JDK 源码呢,下面我讲述的是 ma 阅读全文
posted @ 2019-03-12 22:41 星辰之力 阅读(1105) 评论(0) 推荐(0) 编辑
摘要:前言 Android应用中JNI代码,是作为本地方法运行的。而大部分情况下,这些JNI方法均需要传递Dalvik虚拟机实例作为第一个参数。例如,你需要用虚拟机实例来创建jstring和其他的Java对象、查找类或成员变量等。大部分情况下,在你用JNI接口从Java层调用Native层中的代码时,你并 阅读全文
posted @ 2019-03-11 23:59 星辰之力 阅读(937) 评论(0) 推荐(0) 编辑
摘要:在Android中,访问data目录一般需要root权限,但是有个另外那就是/data/local/tmp目录。 注意: (1)cd /data/local/tmp可以打开这个目录,而不是一级一级目录的打开 (1)cd /data/local/tmp可以打开这个目录,而不是一级一级目录的打开 (2) 阅读全文
posted @ 2019-03-08 14:10 星辰之力 阅读(9722) 评论(0) 推荐(0) 编辑
摘要:在android系统中运行jar操作步骤: 1. 打包编译jar包 2. 将jar包导入android设备中 adb push test.jar /data/local/tmp //将PC端编译好的jar包push到android设备中的/data/local/tmp目录下 3. 设置CLASSPA 阅读全文
posted @ 2019-03-08 13:30 星辰之力 阅读(8781) 评论(0) 推荐(1) 编辑
摘要:最近项目中需要用到java语言来执行shell命令,在网上查了资料, 把自己在项目里用到的命令整理成了工具类开放给大家,希望对大家有用。功能不全,后期我会慢慢添加整合。 阅读全文
posted @ 2019-03-08 13:27 星辰之力 阅读(10316) 评论(0) 推荐(0) 编辑
摘要:前段时间,做了一个混合开发的项目,主要是以vue框架开发h5页面,使用cordova作为中间沟通桥梁,实现了h5与安卓、iOS的混合开发,由于从事iOS开发,h5也是刚接触不久,很多深入原理还不太清楚,只说下我们这个个项目的开发流程,记录过程中遇到的比较大的问题。 1、创建vue项目,具体流程可参考 阅读全文
posted @ 2019-03-08 13:26 星辰之力 阅读(9651) 评论(0) 推荐(0) 编辑
摘要:android的程序基于java开发,当我们接上调试器,执行adb shell,就可以执行linux命令,但是却并不能执行java命令。 那么在android的shell中是否就不能执行java程序了呢。 答案是否定的。我们可以通过app_process来执行java程序。 写一个hello wor 阅读全文
posted @ 2019-03-08 13:21 星辰之力 阅读(954) 评论(0) 推荐(0) 编辑
摘要:本文仅针对纯java工程执行进行诠释,一般在PC平台作为jar包形式存在,在Android平台则以dex包形式存在。 Java属于高级程序语言,Java程序需要运行在特定的虚拟机中,虚拟机将Java字节码转换成对应的机器指令进行执行。不同平台具有不同的虚拟机对应各自的机器指令。PC端一般使用JVM虚 阅读全文
posted @ 2019-03-07 10:38 星辰之力 阅读(938) 评论(0) 推荐(0) 编辑
摘要:非常简单,只需要在config.xml里加上这行: Orientation的值orentation的默认值是default。 可使用的值有:default, landscape, portait orentation可以将设备锁定方向,不受设备旋转影响。 对于IOS支持landscape&porta 阅读全文
posted @ 2019-03-05 14:16 星辰之力 阅读(497) 评论(0) 推荐(0) 编辑
摘要:Android系统定制配套视频: 为了把Android系统源码定制和编译的课程讲完,从准备到录制完所有的视频,一共花去了近半年的时间,前前后后各种下载源码,编译源码,系统不兼容,版本适配,虚拟机配置困难重重,总算是录制完成,目前应该算是全网最全的源码编译课程,如果各位喜欢,转载请注明出处,能打赏点当 阅读全文
posted @ 2019-03-05 10:36 星辰之力 阅读(4777) 评论(3) 推荐(0) 编辑
摘要:命令是正确的,但问题是在你的系统中,你没有“android-27”操作系统。 请检查你的系统中有哪个操作系统,进入下面的目录 目录路径:-~\Android\SDK\Platform 如果没有,请先下载。 下载命令是:- sdkmanager --install "system-images;and 阅读全文
posted @ 2019-03-03 13:51 星辰之力 阅读(211) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示