
Android
文章平均质量分 52
_Lulixue_
这个作者很懒,什么都没留下…
展开
-
Android ViewBinding类型参数自动加载Activity/Fragment
Android的ViewBinding中需要频繁的使用ViewBinding.inflate方法去生成binding对象,使用ViewBinding泛型动态获取对应的类,可以省去很多重复的代码原创 2022-07-01 22:22:35 · 899 阅读 · 0 评论 -
<Android> Canvas绘制
文本水平+垂直居中drawText(txt, x, y, paint)其中y代表的是baseline, exactCenterY代表的是绝对的中间Y。private Rect mTextBound = new Rect();mPaint.setTextAlign(Paint.Align.CENTER);mPaint.getTextBounds(mText, 0, mText.length(), mTextBound);canvas.drawText(mText, centerX, center原创 2020-05-09 10:11:02 · 235 阅读 · 0 评论 -
<Android> 开发板部分总结
Android开发板Android开发板主要有Qualcomm, MTK, HiSilicon, Samsung SOC平台.96boards开发板 开发板 DragonBoard 410C Mediatek X20 Hikey 960 SOC平台 Snapdragon 410C, MSM8916 Helio X20, MT6797 His...原创 2018-07-25 16:11:21 · 3943 阅读 · 1 评论 -
<Driver> 开机读取/sdcard
开机读取/sdcard有些驱动需要开机读取/sdcard中的文件, 比如配置以及升级用的.fw, .bin等等. 我们可以采用等待/sdcard挂载, 路径未知时可遍历文件夹查找文件, 已知时则直接filp_open进行调用. 模块加载采用线程方式module_init -&amp;gt; late_initcallfunc方式 -&amp;gt; thread方式static int ...原创 2018-07-23 18:14:32 · 531 阅读 · 0 评论 -
<Linux> pinctrl MTK 举例
android kernel dts中的pinctrl用于pin复用的情况.Spec如以下为MT6797 GPIO的应用Spec: 对应DTS&pio { ctp_pins_default: eint0default { }; ctp_pins_eint_as_int: eint@0 { pins_cmd_dat { ...原创 2018-07-05 11:18:49 · 2219 阅读 · 0 评论 -
<MTK> mtk kernel 设置EINT中断响应
本文环境mt6797kernel 3.18android 6.0DTS设置&amp;amp;amp;amp;amp;eintc { irq_my_irq@3 { compatible = &amp;amp;amp;quot;eint, my-irq&amp;amp;amp;quot;; interrupt-parent = &amp;amp;amp;amp;lt;&am原创 2018-07-03 17:38:11 · 3055 阅读 · 0 评论 -
<Android> 实时监控记录Android的Kernel和上层LOG
启动脚本: MonitorLog.bat@echo offset "TO_NUL= &gt;NUL 2&gt;NUL"set DEBUG=0if "%1" == "cmd" ( @echo on set DEBUG=1 set "TO_NUL=") echo Wait for devi原创 2018-07-03 17:09:55 · 1280 阅读 · 2 评论 -
<Android> Android与Kernel之间使用proc/sysfs结点通信
Android与Kernel使用结点进行通讯. Linux中一切皆文件, Android上层与Kernel通讯可以使用结点.public boolean writeProcCmd(int cmd, int data) { String new_proc_path = &amp;amp;quot;/proc/mydebug&amp;amp;quot;; File procFile = new File(new_p...原创 2018-07-02 15:19:46 · 1800 阅读 · 0 评论 -
<Android> 监听MEDIA_MOUNTED
private final BroadcastReceiver myMediaReceiver = new BroadcastReceiver() { @Override public void onReceive(final Context context, final Intent intent) { String action = intent.get...原创 2018-06-29 10:38:14 · 5117 阅读 · 0 评论 -
<Android> OTA升级
Android OTA升级Android端编译 $make otapackageApp升级import android.os.RecoverySystem@Overridepublic void onProgress(int progress) { Log.i(MYTAG, "verify progress: " + progress); v...原创 2018-06-22 17:41:38 · 662 阅读 · 0 评论 -
<Android> 系统设置frameworks更改
以下基于Android 5.1, 部分为6.0.1. 去除LockScreenframeworks\base\packages\SettingsProvider\res\values\defaults.xmldef_lockscreen_disabled -> true2. 去除全屏提示 "从顶部向下滑动即可退出全屏模式"frameworks/base/policy/src/com/andr...原创 2018-06-14 15:34:34 · 3153 阅读 · 2 评论 -
<Qcom> DSI PANEL的参数解析
&mdss_mdp { dsi_dual_jdi_cmd_0: qcom,mdss_dsi_jdi_qhd_dualmipi0_cmd{ qcom,mdss-dsi-panel-name = "Dual 0 cmd mode dsi panel"; qcom,mdss-dsi-panel-controller = <&mdss_dsi0>; qcom,md...原创 2018-06-14 09:24:52 · 6443 阅读 · 2 评论 -
<Android> MTK LCM DSI MIPI 读写
LCM中的MIPI读写我的环境是: Helio X20, kernel 3.18kernel-3.18\drivers\misc\mediatek\video\mt6797\videox\primary_display.c:void DSI_set_cmdq_V2_Wrapper_DSI0(unsigned cmd, unsigned char count, unsigned char *para...原创 2018-06-12 13:58:16 · 2474 阅读 · 0 评论 -
<Android> Qualcomm DSI MIPI读写
static struct mdss_panel_data *g_pdata;int mdss_dsi_panel_init(struct device_node *node, struct mdss_dsi_ctrl_pdata *ctrl_pdata, bool cmd_cfg_cont_splash){ // ... g_pdata = &(ctrl_pdata-&...原创 2018-06-12 09:26:08 · 1196 阅读 · 0 评论 -
<Linux> 创建workqueue和thread
#include #include #include #include #include #include static void my_add_work_func(struct work_struct *work){ // do something}struct workqueue_struct *my_wq;static DECLARE_WORK(my_wq_work原创 2018-01-31 10:43:53 · 442 阅读 · 0 评论 -
<Android> 模态对话框
public class SynDialog extends Dialog { private Handler mHandler; protected int result; Button btnOK; Button btnCancel; TextView tvMessage; TextView tvPrompt原创 2017-12-11 14:39:10 · 824 阅读 · 0 评论 -
<Android/Windows> bat脚本自动开关屏
@echo off::::::::::::::: Configurations ::::::::::::::::::::set max=10000set "PWR_EVENT=event0"set "FTS_EVENT=event1"set "IIC_NODE=/sys/bus/i2c/devices/3-0038"::::::::::::::::::::::::::::::::::原创 2017-12-05 17:16:20 · 1377 阅读 · 0 评论 -
<Android> 文件夹和文件操作
接下来的例子说的是Android外部SD卡中的文件拷贝到内部SD卡. private static final String TAG = "MyTag"; private static final String EXTSD_PATH = "/mnt/extsd/my/dir"; private static final String SDCARD_PATH = "/s原创 2017-12-05 16:30:49 · 318 阅读 · 0 评论 -
Linux driver 遍历指定文件夹查找文件
linux 应用层可以使用opendir, readdir, closedir接口进行文件夹遍历.API接口位于 linux/fs/readdir.c before 3.11linux driver层, 则可以使用file_operation中的readdir(3.11以前)接口进行读取.typedef int (*filldir_t)(void *, const char ...原创 2017-11-29 15:41:21 · 1962 阅读 · 1 评论 -
<Android> 监听BOOT_COMPLETED
1. AndroidManifest.xml 添加权限 2. 静态添加intent-filter 3. 监听public class ExternalReceiver extends BroadcastReceiver{ @Override pu原创 2017-11-21 09:46:35 · 1111 阅读 · 0 评论 -
<Android> 系统编译删除不必要的Apk
本文以Android 5.1的A83T octopus-f1工程为例.预装APK分为四种priv-app, preinstall, precopy, appout/target/product/octopus-f1/system/priv-app 系统默认APPout/target/product/octopus-f1/system/app 用户APPout/targe原创 2017-10-26 15:10:02 · 5681 阅读 · 0 评论 -
<Linux> Kernel Log
Kernel Log, 可找到定义, kernel/printk.c:/* printk's without a loglevel use this.. */#define DEFAULT_MESSAGE_LOGLEVEL CONFIG_DEFAULT_MESSAGE_LOGLEVEL/* We show everything that is MORE important t原创 2017-09-25 14:50:56 · 660 阅读 · 0 评论 -
<Android> Linux Driver Log获取
获取完整kernel log> adb bugreport > bugreport.txt最后的log> adb shell#dmesg实时的log> adb shell# cat /proc/kmsg # cat /proc/kmsg | grep TAGAndroid上层log> adb logcat原创 2017-07-27 09:48:16 · 604 阅读 · 0 评论 -
<Linux> Linux Driver文件读取
void driver_read_file(const char *filename){ struct file *pfile; mm_segment_t old_fs; char read_buf[100] = {0}; struct inode *inode; int ret; off_t fsize; int pkg_size = 64; int left; int re原创 2017-07-25 14:19:03 · 571 阅读 · 0 评论 -
<Linux/Android> 查看版本号
1. Linux Kernel Source Code查看版本~/kernel$ vim MakefileVERSION = 4PATCHLEVEL = 1VERSION = 4版本: 4.1.42. Linux系统版本~$ uname -r3.19.0-75-generic$cat /proc/versionLinux version 3.19.0-75-generi原创 2017-06-13 11:39:53 · 2240 阅读 · 0 评论 -
<Android> 常用ADB调试命令
# 重启和关闭后台服务器 #> adb start-server> adb kill-server# 查看设备 #> adb devices> adb wait-for-device #等待设备接入## 获取串号 #> adb get-serialno device #有一个设备#unknown #没有设备或有多个设备## 切换root #> adb rootrest原创 2017-05-04 17:56:42 · 850 阅读 · 0 评论 -
Ubuntu 14.04 安装 openjdk 8
1. 添加ppa$sudo add-apt-repository ppa:webupd8team/Java2. 安装 openjdk-8-jdk$sudo apt-get update$sudo apt-get install openjdk-8-jdk3. 只对特定用户user采用java 8$sudo update-alternatives --co原创 2017-04-27 13:50:03 · 3402 阅读 · 0 评论 -
Linux Input getevent事件解析器Analyzer
Input Event Analyzer用于解析adb shellgetevent 命令产生的.input设备event序列. 使用VS2010开发环境, MFC C++语言编写.主要实现以下功能:(1) input设备属性的解析(2) TP的touch/key的事件解析(3) touch事件模拟 1. 获取用于解析的event.txt原创 2017-03-21 16:53:00 · 1963 阅读 · 0 评论 -
Windows Bat脚本Sleep, loop, if/else
对Android设备进行反复亮屏/灭屏脚本ScreenOnOff.bat: @echo offecho 请插入您的手机adb wait-for-device::for /L %%i in (1,1,3) do adb shell input keyevent 26set counter=0set max=100:loopecho Open Screenadb s原创 2017-02-09 17:16:15 · 5117 阅读 · 0 评论 -
<Linux> Ubuntu搭建android driver开发服务器
最近安装了Ubuntu driver开发环境, 总结一下当中遇到的问题1. 安装 java 7$sudo add-apt-repository ppa:openjdk-r/ppa (ubuntu 16.04源中默认只有openjdk-8)$sudo apt-get update$sudo apt-getinstall openjdk-7-jdk2. 安装原创 2016-12-20 17:17:27 · 694 阅读 · 0 评论 -
Android中shape的使用
Android中常常使用shape来定义控件的一些显示属性,今天看了一些shape的使用,对shape有了大体的了解,稍作总结:先看下面的代码: android:startColor="#ff8c00"转载 2016-05-27 10:49:08 · 465 阅读 · 0 评论 -
Android开发网站
由于android.com和googlesource.com都被GFW所屏蔽,以下网站可以用作于替代。Android源码下载:清华大学 TUNA镜像源 https://mirrors.tuna.tsinghua.edu.cn/help/AOSPAndroid工具下载:Android Studio中文社区 http://tools.android-studio.or原创 2016-04-14 17:59:41 · 461 阅读 · 0 评论 -
<android> SCREEN_ON SCREEN_OFF黑屏, 亮屏消息只能动态注册
android中的消息注册有静态注册和动态注册之分.Intent.ACTION_SCREEN_OFF, Intent.ACTION_SCREEN_ON消息, 即黑屏、亮屏消息, 只能用动态的方式注册.原创 2015-12-28 17:34:29 · 1408 阅读 · 0 评论 -
<Java> File文件操作
Java的文件读取使用File类, 进行读取:exists(): 判断文件存在与否;createNewFile(): 创建新的文件;isDirectory(): 是否是文件夹;FileOutputStream: 写文件;FileInputStream: 读文件; import java.io.File;import java.io.FileInputStream;im原创 2015-12-24 15:59:51 · 705 阅读 · 0 评论 -
<Android> 使用Runtime运行linux命令
public boolean execute(String cmd) { String[] command = new String[] { "sh", "-c", cmd }; Runtime runtime = Runtime.getRuntime(); try { Process process = runtime.exec(command);原创 2015-12-18 10:34:58 · 1161 阅读 · 0 评论 -
<Android> 利用RelativeLayout实现中间控件长度自适应
有三个控件,两个Button, 一个SeekBar,实现SeekBar在两个Button中间,长度自适应。如图:如果使用LinearLayout则需要指定SeekBar的长度,用RelativeLayout则可以通过:Button1紧靠Parent的右边,Button2紧靠左边,SeekBar设置为靠Button1的左边,Button2的右边,可实现我们所需要的布局。<原创 2015-02-08 11:08:52 · 5235 阅读 · 0 评论 -
<Android> File文件操作和获取文件编码类型
使用记事本"另存为",可以看到有编码类型选项:编码类型有: ANSI, Unicode, UTF-8几种,它们的区别在于前面的BOM码(Bytes Of Mark):Unicode的txt前两个字节是ff fe;Unicode big endian的txt前两个字节是fe ff;UTF-8的txt前三个字节是ef bb bf,也可以没有,即没有BOM.ANSI的txt是原创 2015-02-04 17:23:33 · 3180 阅读 · 0 评论 -
<Android> Android Studio
相较于Eclipse,我认为Android Studio是一个更好的选择。studio因为专门为开发android打造,所以功能上更专注。我用了几天的感性分析:更优:1. SDK的升级比eclipse便捷,稳定,更新之后没有arg0,arg1之类;2. 文件布局更加清晰,资源/layout的解析做得比eclipse要好;3. studio可以查看底层源码,eclipse不能原创 2015-02-04 16:22:13 · 609 阅读 · 0 评论 -
Android菜单
1. 选项菜单MENU按键弹出菜单,如果是A原创 2014-04-15 16:01:52 · 1073 阅读 · 0 评论 -
Android Layout
1. Layout共分五种线性布局 - Linear Layout 相对布局 - Relative Layout 表格布局 - Table Layout 绝对布局 - AbsoluteLayout 框架布局 – FrameLayout2. Table Layout属性:shrink原创 2014-04-14 17:00:36 · 1366 阅读 · 0 评论