原创 OpenCV-android-sdk 配置以及使用(NDK) 通過JNI調用

上一篇文章講了如何配置OpenCV Java SDK 以及基本使用, 傳送門:OpenCV Java SDK 使用Java的好處是調用簡單, 不需要寫 JNI 相關代碼, 缺點是要安裝 Opencv Manager 或者打包一個10M左右的

原创 Android 添加一個系統服務的完整流程(SystemService)

前言 系統服務是Android中非常重要的一部分, 像ActivityManagerService, PackageManagerSersvice, WindowManagerService, 這些系統服務都是Framework層的關鍵服務

原创 Android Dialog滅屏後無法點擊( Dropping event due to no window focus)

背景 最近App開發同事發現了個系統Bug, Dialog顯示後, 電源鍵滅屏後再亮屏, 此時Dialog無法點擊,是個基本上必現的bug, Android系統版本爲Android 7.1.1 . 問題分析 首先發現這個bug後, 可以確定

原创 Android Camera2 實現觸摸對焦功能(Touch to Focus)

之前在 Android Camera2 簡介 這篇文章中簡單介紹了下 Camera2 中 AF/AE 對焦區域如何進行設置, 之前是通過手動計算對應關係實現的, 但這種方式需要考慮到前後攝的區別, 前攝和後攝座標映射有區別, 通用性不好,

原创 OpenCV-android-sdk 配置以及使用(NDK)

上一篇文章講了如何配置OpenCV Java SDK 以及基本使用, 傳送門:OpenCV Java SDK 使用Java的好處是調用簡單, 不需要寫 JNI 相關代碼, 缺點是要安裝 Opencv Manager 或者打包一個10M左右的

原创 OpenCV-android-sdk 配置以及使用(Java)

OpenCV是Open Source Computer Vision Library 縮寫, 主要由Intel公司的一些大佬寫的, 功能是提供大量的圖形圖形處理(計算機視覺)的庫, 並且提供 iOS 和 Android 的 SDK, 由於我

原创 解決Camera HAL層無法多次回調數據到App

問題背景 在一個雙攝項目中, 需要在HAL(使用 API1/HAL1)層集成Bokeh功能(雙攝虛化), 同時需要將相關雙攝數據回調到App存儲, 用於集成Refocus功能(即可以在相冊中重新選擇虛化焦點和虛化強度). 因此需要回傳的數據

原创 pthread 線程同步

雖然本身是做Android開發的, 但經常會用到C/C++, 最近項目中剛好通過線程同步解決了一個問題,線程知識應用太廣泛了, 所以在此記錄下關於C/C++中比較實用基礎知識, 本篇文章就說明一下pthread中線程同步的幾種方式. pth

原创 開發環境配置

每次換了電腦, 都需要折騰一下電腦配置之前用的比較順手的環境, 因此在此記錄下個人常用的一些開發工具和環境的配置 alias 配置 (Ubuntu) alias就是別名的意思, 可以配置一些簡單好用的alias提高效率, 通過在 ~/.ba

原创 Android系統中SwipeDismissLayout(右滑退出)

背景 最近在做一個手錶項目, Android 7.1.1系統, 系統中有個全局從左向右滑動退出當前Activity功能, 本以爲是哪位同事添加的功能, 後來看了下代碼才發現是Android系統本身就有的功能(Android 5.0加入的),

原创 Android Camera2 簡介

Camera2簡介 在Google 推出Android 5.0的時候, Android Camera API 版本升級到了API2(android.hardware.camera2), 之前使用的API1(android.hardware.

原创 Android Camera 架構(App-Framework-HAL)

工作兩年了, 工作內容和Camera相關的居多, 所以有必要對Android Camera流程進行深入瞭解, 提高自己閱讀源碼能力以及對Android系統架構的理解. 本文主要會講Android系統中, App打開Camera這一過程中,

原创 通過C++實現Android Native Service

最近在項目中遇到一個問題, 要對某個節點(dev/xxx)進行寫操作, 但這個設備節點只允許root用戶才能進行寫操作, 因此不能通過Java或者JNI方式直接去訪問, 因此想到了兩種方法: 通過在init.rc中監聽一個系統屬性的值,

原创 Android系統添加流量控制開關(NetworkPolicyManager)

背景 最近產品那邊有個需求是需要有個系統接口, 用來控制第三方APP的流量訪問權限, 即你可以單獨關閉某一個APP的流量訪問權限(WIFI下不影響), 本篇文章就是記錄我解決這個問題的流程, 主要說明如何在自己對相關模塊不熟悉的情況下, 分