原创 推薦一款加密解密的算法,用於簡單數據的傳輸。

package TestCodeAndEnCode;   public class SecBase64 {       private static

原创 jni 調用 例子

JNI允許程序員編寫的本地方法處理的情況下,當一個應用程序不能完全在Java編程語言編寫的,例如當標準Java類庫不支持平臺特定的功能或程序庫。它也

原创 記錄一個指針問題(內存空間的初始化)

首先正確理解一下例子。    void test(){         char *str[]={"welcome","to","fortemedia","Nanjing"};           char * * p=str+1;  

原创 動態申請內存,釋放出現錯誤

*** glibc detected *** ./a.out: free(): invalid next size (fast): 0x000000

原创 java.lang.UnsatisfiedLinkError: Couldn't loadXX from loader dalvik.system.

java.lang.UnsatisfiedLinkError: Couldn't load NDK_04 from loader dalvik.system.PathClassLoader[DexPathList[[zip file "/

原创 一個經典的消費者和生產者的實現(linux )

#include <stdio.h>   #include <pthread.h>   #define BUFFER_SIZE 16 // 緩衝區數

原创 Linux網絡編程入門

(一)Linux網絡編程--網絡知識介紹 Linux網絡編程--網絡知識介紹 客戶端和服務端         網絡程序和普通的程序有一個最大的區別是網絡程序是由兩個部分組成的--客戶端和服務器端. 客戶端         在網絡程序

原创 主線程和子線程的同步控制

一個線程的結束有兩種途徑,一種是象我們下面的例子一樣,函數結束了,調用它的線程也就結束了;另一種方式是通過函數pthread_exit來實現。另外需要說明的是,一個線程不能被多個線程等待,也就是說對一個線程只能調用一次pthread

原创 NDK 開發

爲何要用到NDK? 概括來說主要分爲以下幾種情況: 1. 代碼的保護,由於apk的java層代碼很容易被反編譯,而C/C++庫反匯難度較大。 2. 在NDK中調用第三方C/C++庫,因爲大部分的開源庫都是用C/C++代碼編寫的。

原创 android源碼編譯apk集成第三方so庫

一般編譯android應用,生成apk,有以下幾個方法:     1.傳統的在eclipse平臺下編譯生成apk,這種情況下,需要指定android sdk,通過eclipse編譯生成apk,編譯的apk擁有較低級別的用戶級別權限,可能有

原创 socket 編程實例

服務器部分: #include <netinet/in.h>    // for sockaddr_in #include <sys/types.h>    // for socket #include <sys/socket.h>   

原创 使用Android Studio查看Android Lollipop源碼

Android Studio 作爲Google的親兒子,Nexus手機系列所收到的待遇大家有目共睹.Android5.0出來之後,Nexus5第一時間就升級到了最新的系統.那麼作爲Google親兒子的Android Studio同樣備受G

原创 java 調用 庫文件錯誤查找方法

第一步首先找到 backtrace:關鍵字,然後找到都應的庫文件 出錯的地方 pc 0000088b  /system/lib/libNDK_04.so (SayHello+98), 08-13 17:08:28.041 I/DEBUG 

原创 Android開發之動態庫調用

1.編寫並生成Android下可用的動態庫 (1)編寫動態庫源程序文件     這裏以my_add.c爲例。首先進入/home/android/de

原创 android 反調試 實踐(1)

(一)xposed 檢測 1. 每一個被hook的進程,都會將xposed 的相關庫文件和jar 文件加載到相應的進程空間中,如圖: 這裏看到進程空間中加載了 1)app_process32_xposed 2)libxposed_art