自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 资源 (6)
  • 收藏
  • 关注

原创 android JNI运行NDK编译成的可执行文件

1.android环境的可执行文件的生成所谓的android下的可执行文件,其实就是一般的c/c++代码使用NDK编译出来的应用程序。它和linux下用gcc编译出来的程序和windows系统下的.exe文件是一样的。要将代码编译成可执行文件只需要将编译so的include $(BUILD_SHARED_LIBRARY)改成include $(BUILD_EXECUTABLE)就行。

2016-02-19 16:31:43 5764 3

原创 C++使用AES+Base64算法对文本进行加密

使用AES算法和Base64实现具体的文本加密功能。采用AES算法的CBC模式,16位秘钥,PKCS7Padding填充方案对文本进行加解密。此方案可防止一些比较关键的文本暴露,也可以用于服务器通信间的加密,防止通信协议和信息的泄露。Main.cpp#include #include "AES.h"#include "Base64.h"using namespace

2016-02-18 17:37:12 18383 11

转载 SQLite3 C语言API入门

本文转载自http://www.blogjava.net/xylz/archive/2012/09/25/388519.html下载SQLite3我们下载sqlite源码包,只需要其中的sqlite3.c、sqlite.h即可。最简单的一个创建表操作

2016-02-18 11:56:50 576

原创 MD5和SHA1算法的C++实现和使用

MD5算法:MD5.H#ifndef MD5_H#define MD5_Htypedef struct{ unsigned int count[2]; unsigned int state[4]; unsigned char buffer[64];} MD5_CTX;#define F(x,y,z) ((x & y) | (~x & z))#defin

2016-02-18 11:16:12 9156 3

原创 android JNI使用curl库进行文件下载和http请求

1.CURL几个基本函数的说明:1) curl_global_init();这个函数是进行curl库的初始化,这个函数与curl_global_cleanup配套使用,当调用了一次后,在没有调用curl_global_cleanup之前不要再次调用。2) curl_global_cleanup();对curl_global_init进行的一些操作进行清理。3)

2016-02-17 16:19:47 9802 2

原创 android使用NDK编译curl库

1.下载curl库源码 https://curl.haxx.se/download.html。2.解压文件后,一般是用cygwin 执行./configure配置环境生成curl_config.h,然后修改一些宏定义,让curl库适应android环境配置。下面附上修改后的curl_config.h源码。curl_config.h/* lib/curl_config

2016-02-16 15:09:17 11906

转载 Android.mk的一些属性说明(转载)

本文转载自http://blog.sina.com.cn/s/blog_602f8770010148ce.html0. Android.mk简介:Android.mk文件用来告知NDK Build 系统关于Source的信息。 Android.mk将是GNU Makefile的一部分,且将被Build System解析一次或多次。所以,请尽量少的在Android.mk中

2016-02-15 16:08:19 847

原创 android JNI基本库(jsting转string和C多线程调用java方法的说明)

1.JNI开发时经常需要使用到jstring和string的转换,还有C++多线程中使用JNIEnv,因此特意写了这个类,方便以后的开发使用。注意:  如果要使用打印日志的LOGI和LOGE需要在mk文件中链接log库LOCAL_LDLIBS := -llog2.在C++创建的多线程中使用JNIEnv中的findclass方法会出现找不到类库的问题,是因为只能在主线程中使用

2016-02-04 16:01:46 2892 1

原创 android APK加固篇-3.使用JNI加载dex和调用方法

1.首先需要把assets中的test.dex复制到应用的files空间下。string copyDexToData(JNIEnv* env, jobject asset, string dexName, string dataPath){ AAssetManager* asMg = AAssetManager_fromJava(env, asset); AAsset* as = A

2016-02-02 18:13:01 6341 1

原创 android APK加固篇-2.动态加载dex及dex的方法的调用

1.用于动态加载的dex可以放在sdcard中进行加载,但是为了安全起见还是觉得放在asset中,加载之前把dex复制到app的data空间中更好。 String copyDex(String dexName) { AssetManager as = getAssets(); String path = getFilesDir() + File.separator + dexNam

2016-02-02 11:02:56 3602 2

原创 android APK加固篇-1. 动态加载的Dex文件的生成

1. 创建一个一般的测试类,用于导出JAR。package com.example.dextest;import android.app.Activity;import android.view.Gravity;import android.widget.FrameLayout;import android.widget.TextView;public class Test1 {

2016-02-01 16:00:49 2144

原创 android JNI使用AAssetManager读取asset目录内容

JNI读取安卓asset下的文件需要使用到NDK目录下的asset_manager_jni.h和asset_manager.h提供的接口。1.从java端使用getAssets()得到一个JAVA端的AssetManager对象,通过JNI调用传递到C++端。2.C++端使用NDK提供的AAssetManager_fromJava方法得到C++端的AAssetM

2016-01-15 16:06:20 8208

原创 android使用JNI进程守护service

最近公司一个应用需要让应用启动后不能被360和一些清理内存工具杀死,然后搜索一些相关的资料确定了下面的方法进行进程的守护:使用jni fork出一个子进程用select方法检测管道是否可读,主体进程打开新建管道的写端,当主进程死亡时 写端自动关闭,select检测退出,然后启动service。注意:这个方法在android5.0以上系统和部分小米机型不行,调试发现原因应该是小米和5.0

2015-12-25 14:49:06 3115 3

原创 android webview出现问题的一些解决方案

android webview出现问题的一些解决方案

2015-12-10 16:40:15 890

原创 FragmentTabHost的使用和重复创建问题的优化

FragmentTabHost的使用和重复创建问题的优化

2015-12-07 17:24:40 1822

原创 win7下使用Eclipse双向断点调试JAVA+NDK的环境配置

安卓NDK在eclipse上的调试环境配置,配置好后可以直接用eclipse的快捷键进行断点调试,java c++双方面的跳转。

2015-08-20 10:04:52 1214

原创 安卓Application.mk文件的属性说明和基本写法

一般JNI根目录下会定义二个Mk文件, Android.mk/Application.mk。1.先说一下Application.mkAPP_PLATFORM = android-8APP_ABI := armeabi-v7aAPP_STL := stlport_staticAPP_OPTIM := debug    (1)APP_PLATFORM     使用的

2015-08-17 11:43:19 8495

原创 Android JNI调用的二种方式

Android JNI调用的二种方式首先创建一个专门用于JNI调用的单例MainNative,并且在里面添加静态块加载so库。publicclass MainNative {        private static MainNative instance =new MainNative();    private MainNative (

2015-06-23 14:49:00 1285

原创 使用vmware+ubuntu14.04编译android4.4.2源码

注意使用虚拟机装系统时必须分配80G左右的虚拟磁盘和4G以上内存,要不然安卓源码编译会出错,还有ubuntu系统必须是64位的要不然也会出错。。 1安装好VMware并且使用VMware安装ubuntu14.04虚拟机。这些都是很简单的一步安装就行。 2.安装VMtool共享windows系统上的目录。(1) vmwar

2015-05-15 09:56:08 1337

android JNI运行NDK编译成的可执行文件

android JNI运行NDK编译成的可执行文件。 具体信息参考博客http://blog.csdn.net/csdn49532/article/details/50698666

2016-02-19

android jni使用curl进行http请求和文件下载

android jni使用curl进行http请求和文件下载,具体说明参考博客 http://blog.csdn.net/csdn49532/article/details/50680716

2016-02-17

android使用NDK编译curl库源码

curl库源码添加了curl_config.h和mk文件,可以直接跳转到目录使用ndk-build编译出so库.

2016-02-16

APK加固(JAVA/JNI二种方式动态加载dex)

http://blog.csdn.net/csdn49532/article/details/50624627 配套代码,使用JAVA和JNI二种方法动态加载dex,调用dex中的方法,对android APK进行加固,防止APK被破解。

2016-02-02

android JNI进程守护service

使用jni创建子进程使用管道监听主进程是否死亡,从而启动service。

2015-12-25

fragmentTabgost的使用和优化

fragmentTabgost的使用和优化

2015-12-10

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除