原创 文件處理工具類

public class FileUtils { private static final String TAG = "FileUtils"; public static final String BASE_P

原创 Android8.1使用JNI編譯動態so庫

1、創建com_wq_demo_test.h頭文件 #include <jni.h> #ifndef _Included_com_zqc_log_QcLog #define _Included_com_zqc_log_QcLog

原创 Android 內容提供者(ContentProvider的使用)

ContentProvider 是Android 四大組件之一,其本質上是一個標準化的數據管道,它屏蔽了底層的數據管理和服務等細節,以標準化的方式在Android 應用間共享數據。用戶可以靈活實現ContentProvider 所

原创 Android 8.1 recovery 強制執行恢復出廠設置

在工作中開發過程中,我們經常調試apk,然後推進機器裏面去會已停止運行,你點幾下就會恢復出廠設置。 意思是說,不能加載正常的安卓系統,可能數據損壞,如果你繼續收到此消息,請執行恢復出廠設置擦除所有的用戶數據 我們查看下recove

原创 Android8.1 監聽應用升級後實現自啓動

一、在AndroidManifest.xml添加廣播 //監聽應用升級後實現自啓動 <receiver android:name="包名.PackageReceiver"> <intent-filter> <a

原创 OpenGL ES 自定義MyGlSurfaceView

一、自定義GLSurfaceView 繼成SurfaceView,並實現其CallBack回調 自定義GLThread線程類,主要用於OpenGL的繪製操作 添加設置Surface和EglContext的方法 提供和系統GLSu

原创 C語言宏定義、預處理、文件包含

一、C語言預處理 1、由源碼到可執行程序的過程如下: 源碼.c->(編譯)->elf可執行程序 源碼.c->(編譯)->目標文件.o->(鏈接)->elf可執行程序 源碼.c->(編譯)->彙編文件.S->(彙編)->目標文件.

原创 Android C++多線程、生產者和消費者模型、JNI的使用

一、Android C++ 線程簡介 我們都知道Android是基於Linux內核的,而Linux是遵循POSIX線程標準的,POSIX線程庫中有一系列Pthreads API方便我們對Linux線程的操作。所以我們在Androi

原创 ffmpeg 編譯列表詳解

1、執行如下命令:./configure --help ffmpeg-3.3.9# ./configure --help Usage: configure [options] Options: [defaults in brac

原创 FFmpeg移植安卓平臺

開發環境:FFmpge 3.3.9、JDK1.8、Android Studio 3.5、NDK 14b、Android SDK 、win10 64位系統 一、下載FFmpeg(3.3.9) 1、下載地址 http://www.ff

原创 SystemUI

一、SystemUI相關的類 frameworks/base/services/java/com/android/server/SystemServer.java frameworks/base/packages/SystemUI

原创 應用進程保活處理

1、frameworks/base/services/core/java/com/android/server/am/ActivityManagerServiceEx.java public ActivityManagerServ

原创 Android8.1 PowerManager(電源服務)的使用

一、PowerManager(電源服務) 簡介:Android系統爲我們提供的電源管理的一個API,其相關接口與設備電池的續航能力有很大的關聯, 官方也說了,除非是迫不得已吧,不然的話,應該儘量避免使用這個類,並且使用完以後一定要

原创 OpenGL ES EGL環境搭建

一、EGL使用 1、創建EglHelper public class EglHelper { private EGL10 mEgl; private EGLDisplay mEglDisplay; pri

原创 OpenGL ES學習(1)

一、OpenGL ES使用 1、繼承GLSurfaceView public class MyGLSurfaceView extends GLSurfaceView { private static String TAG