
java
傻熙Ta爸
Android小新人
展开
-
Android Camera缩率图所成的图像不是录像播放的第一帧
修改方法如下:vendor/mediatek/proprietary/packages/apps/Camera2/common/src/com/mediatek/camera/common/utils/BitmapCreator.java- bitmap = retriever.getFrameAtTime(-1);+ bitmap = retriever.getFrameAtTime(0);getFrameAtTime 这个方法的参数代表啥意思?/*原创 2021-11-23 20:56:55 · 1549 阅读 · 0 评论 -
Android你不知道的svc命令----解析adb shell svc源码
首先执行 adb shell svc bluetooth help看一下~/debuglogger/mobilelog/APLog_2021_1118_173806__1$ adb shell svc bluetooth helpControl Bluetooth serviceusage: svc bluetooth [enable|disable] Turn Bluetooth on or off.然后根据 Control Bluetooth service 字符串查找相关原创 2021-11-23 17:36:15 · 4627 阅读 · 0 评论 -
adb shell dumpsys battery源码解析
首先执行 adb shell dumpsys battery 看看~/projects/MTK_R_6580_2/alps/frameworks$ adb shell dumpsys batteryCurrent Battery Service state: AC powered: false USB powered: true Wireless powered: false Max charging current: 500000 Max charging voltage: 500原创 2021-11-23 16:11:09 · 1911 阅读 · 0 评论 -
展锐Camera open failure log解析程序
出发点在展锐平台开发Camera的时候有时候会遇到报错的情况,log如下:1-05 13:26:12.429 722 29945 E Camera3-Device: Camera 0: sendRequestsBatch: RequestThread: Unable to submit capture request 8115 to HAL device: Function not implemented (-38)01-05 13:26:12.430 29604 29766 E CAM2PORT原创 2021-11-18 14:29:42 · 2292 阅读 · 0 评论 -
Android R模块编译framework
1.编译source build/envsetup.shlunch xxxmake -j32 framework-minus-apex或用ninja编译./prebuilts/build-tools/linux-x86/bin/ninja -f ./out/combined-s9863a1h10_go_32b_Natv.ninja framework-minus-apex2.pushadb push out/target/product/s9863a1h10_go_32b/syste原创 2021-11-18 14:09:13 · 869 阅读 · 0 评论 -
[知识点]Log.wtf()
Log.wtf()的意思不是 What The Fuck!,而是 What a Terrible Failure原创 2020-09-21 20:14:23 · 1954 阅读 · 1 评论 -
Android修改NavigationBar点击屏幕左下角会触发到back键
SystemUI/src/com/android/systemui/statusbar/phone/NearestTouchFrame.java@VisibleForTestingNearestTouchFrame(Context context, AttributeSet attrs, Configuration c) { super(context, attrs); // modified begin //mIsActive = c.smallestScreenWidthDp原创 2020-09-11 16:26:58 · 316 阅读 · 0 评论 -
[sprd]Android Q打开相机后点击返回键,底部闪现主界面虚拟按键
原因是camera相机里面背景是黑色的,navigationbar的背景是透明的,所以返回到launcher界面的时候 NavigationBar 的背景颜色会突然变色,目前的改法就是通过代码设置 Camera 中 NavigationBar 的背景颜色--- a/alps/vendor/sprd/platform/packages/apps/DreamCamera2/src/com/android/camera/util/QuickActivity.java+++ b/alps/vendor/sprd原创 2020-09-10 17:23:35 · 629 阅读 · 1 评论 -
[sprd]修改DreamCamera2前摄默认关闭美颜效果
vendor/sprd/platform/packages/apps/DreamCamera2/res/values/dream_camera_arrays_photo_part.xml<integer-array name="pref_camera_beauty_entered_key_array"> <item>@string/pref_camera_beauty_entered_key</item> <item>@integer/sto原创 2020-09-08 14:03:17 · 653 阅读 · 1 评论 -
Android Pointer location功能研究
frameworks/base/services/core/java/com/android/server/wm/DisplayPolicy.javaprivate void enablePointerLocation() { if (mPointerLocationView != null) { return; } mPointerLocationView = new PointerLocationView(mContext); mPointerLoca原创 2020-09-08 13:59:40 · 1388 阅读 · 0 评论 -
Android通过 service call 命令调用 phone 的 AIDL 服务
mTelephonyManager = (TelephonyManager) getSystemService(TELEPHONY_SERVICE);mTelephonyManager.setPreferredNetworkType(subId, selectNetworkMode);Context.javapublic static final String TELEPHONY_SERVICE = "phone";通过 service list 查找 phone 服务对应的 aidladb原创 2020-09-08 13:57:11 · 2168 阅读 · 1 评论 -
Android源码工具findunusedstrings寻找未使用字符串工具的学习和使用
工具路径:aosp/development/tools/findunused/findunusedstrings使用方法:./development/tools/findunused/findunusedstrings -p vendor/sprd/platform/packages/apps/Tag结果:action_call 0action_text 0button_done 0call_phone_permission_denied 0empty_tag_prompt 0exter原创 2020-08-18 20:55:47 · 353 阅读 · 0 评论 -
Android研究学习动态壁纸
1. 创建一个类集成 WallpaperServicepublic class MyWallpaperService extends WallpaperService { @Override public Engine onCreateEngine() { return new MyEngine(); } class MyEngine extends Engine { public void onSurfaceCreated(SurfaceH原创 2020-08-18 17:18:16 · 374 阅读 · 0 评论 -
Android提高进程优先级的方法
找到这个进程对应的AndroidMannifest.xml文件,在其中添加属性android:persistent=“true”, 这样可以将该进程设置为常驻内存进程,就可以降低被Kill的概率。以Acore进程为例, 在 package/apps/Mms/AndroidMannifest.xml 文件中增加一行 android:persistent="true"具体修改示例如下:android:label="@string/app_label"android:icon="@drawable/ap.原创 2020-08-18 17:05:35 · 883 阅读 · 0 评论 -
Android解析res/drawable下图片的另一种方式
if (width == 540) { path = "/res/drawable-960x540/paillette_" + pailletteIndex + ".png";} else if(width == 480) { path = "/res/drawable-800x480/paillette_" + pailletteIndex + ".png";} else if(width == 720) { path = "/res/drawable-1280x720/pai原创 2020-08-18 16:59:37 · 305 阅读 · 0 评论 -
adb重启framework命令分析
adb shell stop && adb shell start源码位置:在 vendor/sprd/proprietories-source/packimage_source/signimage/sprd/sign/main/start.c 下面,原理很简单就是利用ctl属性来控制进程start.c/* start.c - Start/stop system services. * * Copyright 2016 The Android Open Source Projec原创 2020-08-18 16:41:52 · 681 阅读 · 0 评论 -
Android Q DeskClock 一手指长按城市图标,另一个手指点击上方倒计时图标,手指松开,倒计时提示框弹出,开始从0负倒计时
从现象上看好像是手指松开的时候还是触发了 onClick 事件,从界面上看 Timer 界面上的 fab 按钮是不可见的所以决定在 onClick 事件中先判断 fab 按钮是否可见,如果不可见就return 掉不让他继续执行,修改如下vendor/sprd/platform/packages/apps/SprdDeskClock/src/com/android/deskclock/timer/TimerFragment.java@Overridepublic void onFabClick(@No原创 2020-08-15 15:33:21 · 157 阅读 · 0 评论 -
[默认值]Android Q WIFI直连名称修改
frameworks/opt/net/wifi/service/java/com/android/server/wifi/p2p/WifiP2pServiceImpl.javaprivate String getPersistedDeviceName() { String deviceName = mFrameworkFacade.getStringSetting(mContext, Settings.Global.WIFI_P2P_DEVICE_NAME); if原创 2020-08-14 15:27:11 · 618 阅读 · 0 评论 -
Android PackageManagerService中LI,LP等函数后缀的含义
PackageManagerService中有很多函数带有LI,LP,或者LPr,LPw的后缀,表示什么意思?LI – 该函数被调用时需要持有mInstallLock这把锁LP – 该函数被调用时需要持有mPackages这个HashMap对象LPr – 表示读LPw – 表示写// Lock for state used when installing and doing other long running// operations. Methods that must be call原创 2020-08-12 13:42:32 · 697 阅读 · 0 评论 -
编译打包java文件生成jar包的几种方法
方法1:通过eclipse中的export导出来,但这样生成的 jar 包会包含一些其他jar包,导致生成的jar包比较大方法2:通过命令行打包javac -encoding UTF-8 Main.java //生成 .class 字节码文件jar cvf Main.jar Main.class //生成 Main.jar 文件然后用 rar 等压缩工具打开 Main.jar , 在 META-INF/MANIFEST.MF 文件的最下面添加 Main-Cla原创 2020-08-12 11:23:26 · 1129 阅读 · 0 评论 -
MTK Android recovery/logo图片资源制作
一、文字图片转换png 图片生成源码:development/tools/recovery_l10n/recovery_l10n 在 o上已经没有源码了,需要从kk上移植过来原生的源代码有个bug,导致读取出来的Locale[]数组值全部为空,无法完成图片的制作。diff --git a/tools/recovery_l10n/src/com/android/recovery_l10n/Main.java b/tools/recovery_l10n/src/com/android/recovery_原创 2020-08-12 11:18:31 · 488 阅读 · 0 评论 -
[bug]Android动态切换字体过程中内存占用不断增加的解决办法
按照如下原DMS文档(现已更新),实现了切换字体功能Font Install and Runtime Change On ICS guideline.doc按照参考文档完成此feature之后,发现不断在不同字体之间切换,手机内存占用会不断增加这是因为typeface的createFromAsset接口有BUG,每调用一次该接口,native memory占用就会增加,这个问题属于Google Bug,目前尚无完美的解决方案,但是可以使用下面的方法work around.[SOLUTION]1.修原创 2020-08-10 21:55:12 · 584 阅读 · 0 评论 -
Android如何让返回键具有删除编辑内容功能
在编辑界面,如果正在编辑,就删除编辑的内容。如果编辑的内容为空,按下返回键就返回上一界面,请问该如何实现?修改 Activity.java 中 onKeyUp 为如下:public boolean onKeyUp(int keyCode, KeyEvent event) { if (getApplicationInfo().targetSdkVersion >= Build.VERSION_CODES.ECLAIR) { if (keyCode == KeyEvent.KE原创 2020-08-10 21:38:28 · 420 阅读 · 2 评论 -
[知识点]Android UA相关
UserAgent:Http协议中的一部分,属于头域的组成部分,是一种向访问网站提供你所使用的浏览器类型、操作系统及版本、CPU类型、浏览器渲染引擎、浏览器语言、浏览器插件等信息的标识。UA字符串在每次浏览器HTTP请求时发送到服务器。ex:browser.UserAgent = Athens15_TD/V2 Linux/3.0.13 Android/4.0 Release/02.15.2012 Browser/AppleWebKit534.30 Mobile Safari/534.30 System/A原创 2020-08-10 21:15:27 · 1180 阅读 · 0 评论 -
Android第一次开机过程中出现问题抓log的一种方案
无法抓取log时将log写入到文件中的方法public static void log(String tag, String str) { File file = null; try { file = new File("storage/sdcard0/log.txt"); if(!file.exists()) { file.createNewFile(); } } catch (IOException e1)原创 2020-08-10 21:10:32 · 254 阅读 · 0 评论 -
Android KK平台的一个bug----在收到内容只有一个“=”的信息后,手机自动重启
原因:01-01 03:11:31.515 501 517 E AndroidRuntime: *** FATAL EXCEPTION IN SYSTEM PROCESS: android.server.ServerThread01-01 03:11:31.515 501 517 E AndroidRuntime: java.lang.RuntimeException: Error receiving broadcast Intent { act=android.provider.Telephony.S原创 2020-08-10 21:08:05 · 238 阅读 · 0 评论 -
Android开机后发现Home和Menu功能不正常
原因是开机向导过程中意外关机导致 Settings.Global.DEVICE_PROVISIONED 这个值没有写入到数据库中M:frameworks/base/services/core/java/com/android/server/pm/PackageManagerService.java文件中的setEnabledSetting方法中try { if(packageName.equals("com.google.android.setupwizard") && !(ne原创 2020-08-10 21:02:30 · 271 阅读 · 0 评论 -
Android O强制修改安兔兔跑分中的参数
一开始的时候在 setText() 方法中作的修改,但是在最新的antutu中不管用了,反编译发现最新的antutu中不再使用 setText() 来设置字符串了,而是把字符串分割成了单个的字符再append()到TextView中,应该是发现有太多的厂商强行修改这些参数,然而这并难不倒我们,修改方法如下。public void append(CharSequence text, int start, int end) { if (!(mText instanceof Editable)) {.原创 2020-08-10 21:00:19 · 2259 阅读 · 4 评论 -
Android MTK adb打开关闭debuglogger
adb shell am broadcast -a com.debug.loggerui.ADB_CMD -e cmd_name start --ei cmd_target 23 -f 0x01000000adb shell am broadcast -a com.debug.loggerui.ADB_CMD -e cmd_name stop --ei cmd_target 23 -f 0x01000000原创 2020-08-07 10:28:46 · 3117 阅读 · 1 评论 -
Android修改时钟字体
1.将需要添加的ttf字体文件放在 frameworks/base/data/fonts/ 目录A:frameworks/base/data/fonts/clock_thin.ttf2.修改 frameworks/base/data/fonts/Android.mk 文件,将字体文件编译到 system/fonts/ 目录中M:frameworks/base/data/fonts/Android.mkfont_src_files := \ AndroidClock.ttf \ clo原创 2020-08-07 09:52:45 · 1170 阅读 · 0 评论 -
Android自定义EditText的光标颜色
方法一、通过XML文件设置TextView 有一个属性 android:textCursorDrawable,这个属性是用来控制光标颜色的android:textCursorDrawable="@null","@null"作用是让光标颜色和text color一样也可以自定义游标的颜色color_cursor.xml<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android原创 2020-08-07 09:49:16 · 890 阅读 · 3 评论 -
Android adb shell input源码分析
adb shell input text "hello"源码 frameworks/base/cmds 目录。frameworks/base/cmds/input/src/com/android/commands/input/Input.javapublic static void main(String[] args) { (new Input()).run(args); //在 main() 函数中运行 run() 方法}if原创 2020-08-07 09:02:45 · 1273 阅读 · 0 评论 -
Android Q menu菜单的解析
frameworks/base/core/java/android/view/MenuInflater.javaprivate void parseMenu(XmlPullParser parser, AttributeSet attrs, Menu menu) throws XmlPullParserException, IOException { MenuState menuState = new MenuState(menu); int eventType = pa原创 2020-08-07 08:56:07 · 159 阅读 · 0 评论 -
Android framework中解析voicemail-conf.xml的代码
frameworks/opt/telephony/src/java/com/android/internal/telephony/uicc/VoiceMailConstants.javapackage com.android.internal.telephony.uicc;import android.annotation.UnsupportedAppUsage;import android.os.Environment;import android.util.Xml;import androi原创 2020-08-06 20:45:19 · 296 阅读 · 0 评论 -
Android KK平台开机之后Camera有可能会消失
packages/apps/Camera/src/com/android/camera/DisableCameraReceiver.java文件中有public void onReceive(Context context, Intent intent) { boolean needCameraActivity = FeatureSwitcher.isOnlyCheckBackCamera() ? hasBackCamera() : hasCamera(); if (!needCamera原创 2020-08-06 20:41:15 · 325 阅读 · 0 评论 -
Android在下载好图片之后立刻更新媒体数据库
sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri.fromFile(new File(savePath))));// savePath 是下载图片保存的路径原创 2020-08-06 20:32:08 · 284 阅读 · 0 评论 -
Android EventLog分析
本文转载自gityuan:http://gityuan.com/2016/05/15/event-log/1、手机设备连接电脑2、执行命令:adb shell3、执行命令:cat /system/etc/event-log-tags通过上面的3步骤,即可查看Event所有的tags抓取Events log命令:adb logcat -v threadtime -t 4096 -b events该命令会输出带有时间点、进程号等信息的events log。下面列举tag可能使用的部分场转载 2020-08-06 20:29:16 · 932 阅读 · 0 评论 -
Android Intent的高级写法
1.普通写Intent的方法和缺陷普通activity a要调用起activity b页面会这么写:MainActivity.javaIntent intent = new Intent(MainActivity.this, SecondActivity.class);intent.putExtra("is_index", message);startActivity(intent);SecondActivity.java@Overrideprotected void onCreate(B原创 2020-08-06 20:25:28 · 310 阅读 · 0 评论 -
Android利用反射实现不安装直接运行APK(动态加载)
public void LoadAPK(Bundle paramBundle, String dexpath, String dexoutputpath) { ClassLoader localClassLoader = ClassLoader.getSystemClassLoader(); DexClassLoader localDexClassLoader = new DexClassLoader(dexpath, dexoutputpath, null, localClassLoade原创 2020-08-06 20:22:46 · 1147 阅读 · 0 评论 -
Android KK应用开机自启动的几种方法
方法一.开机自启动,注册广播的方式,这种方式比较慢,一般需要很久原理:监听接收 android.intent.action.BOOT_COMPLETED 广播添加开机广播接收器public class BootReceiver extends BroadcastReceiver{ public void onReceive(Context context,Intent intent){ Intent mIntent = new Intent(context,MainActi原创 2020-08-06 20:21:35 · 930 阅读 · 0 评论