- 博客(75)
- 资源 (1)
- 收藏
- 关注
原创 apk一键换包名工具
1 给AndroidManifest.xml修改包名(修改完成后会覆盖原来的文件)java -jar xmleditor-1.0.jar -pkg [AndroidMainifest.xml]2 给apk修改包名(修改完成后会在当前目录下生成一个新的apk)java -jar xmleditor-1.0.jar -pkgapk [xxx.apk]
2024-05-08 19:44:26
2785
2
原创 Android AccessibilityService研究
用户点击开启无障碍其实最终就是通过Setting secure写入对应的acess服务信息。Settings界面的初始话会获取所有已安装的apk的无障碍服务并列表展示出来。. 在Framework里直接添加对应用app 服务component。. 通过intent跳转到settings里面手动添加。. 在system app中动态添加。
2023-08-07 12:55:32
1083
原创 虚 弱 软引用
虚: PhantomReference 和对象得生命周期没关系 不能通过get pull 方法获取到引用得对象和对象的hashcode但是 当对象呗销毁后可以通过poll获取到被销毁对象得hashcode 一般不用。弱 WeakReference gc来了得时候会回收 可以通过get获取引用得对象 不能通过poll获取到对象得hascode.当对象呗销毁get对象为null可以通过poll获取到被销毁对象得hascode软 和上面一样得效果只是内存不足得时候会回收...
2020-12-17 15:37:34
135
原创 App启动速度优化
1 优化从Application的onCreate()到Activity的onCreate()之间的工作流程2 将初始化得的东西做懒加载3 一些必须要初始话的东西有限放在子线程中操作 如下情况不可以 a 初始化需要用到handler b 有ui操作 c 对异步要求高4 通过抓取trace 文件可以分析每个方法执行得时间Debug.startMethodTracing();Debug.stopMethodTracing()...
2020-12-14 20:58:28
175
原创 android 9.0预置APP
需求1,实现预置APP,在系统恢复出厂设置后能够依然存在2,能够实现ota增量升级,如果用户当前的应用和ota中带的应用相同且用户版本的高则当前用户版本为准3,被用户手动卸载掉的app在ota升级之后依然不出现4,内置app的目录可以放在system和vendor目录下以防空间不够的问题PackageManagerServicePackageManagerService主要负责And...
2020-01-19 18:35:05
8052
2
原创 Android Q(Api 29)的新特性
a,存储的权限Android Q 在外部存储设备中为每个应用提供了一个“隔离存储沙盒 沙盒就是应用专属文件夹,并且访问这个文件夹无需权限。谷歌官方推荐应用在沙盒内存储文件的地址为Context.getExternalFilesDir()下的文件夹。1,访问自己文件:Q中用更精细的媒体特定权限替换并取消了 READ_EXTERNAL_STORAGE 和 WRITE_EXTERNAL_STOR...
2019-09-05 14:47:53
3309
原创 bs-android-tip
###logcat 过滤多个关键字adb logcat | grep -e "exlight@" -e"yubang"###makefile get all so from apk then copy to out directoryLOCAL_PATH := $(call my-dir)LOCAL_PATH_SECOND := $(LOCAL_PATH)...
2019-08-02 10:32:04
386
1
原创 比launcher更早啓動的上層應用
首先启动 com.android.settings/.FallbackHome 然后pause com.android.settings/.FallbackHome之后启动com.android.launcher/com.android.launcher2.Launcher
2018-08-13 13:45:17
363
原创 android系统设置默认
设置accessibility默认打开<uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" />Settings.Secure.putString(getContentResolver(), Settings.Secure.ENABLED_ACCESSIBILITY_SE...
2018-07-28 10:50:05
890
1
原创 android7.0 修改默认输入法
//adb修改默认输入法adb shell settings put secure default_input_method com.sohu.inputmethod.sogou/.SogouIME//adb获取默认输入法adb shell settings get secure def_enable_input_methods//代码设置默认输入法Settings.Secure.putStrin...
2018-06-25 15:49:33
1006
原创 android 5.0之后版本silent install方案
1,AndroidManifest中添加android:sharedUserId = "android.uid.system" 将apk内置2,apk要使用Android平台签名(apk代码放到源码中使用android平台签名生成apk)3,调用framework的隐藏api 实现安装...
2018-06-20 14:31:35
617
原创 使用AlarmManager实现轮训
开始轮训 public static void startPollingService(Context context, int minute, Class<?> cls, String action) { AlarmManager manager = (AlarmManager) context .getSystemService(Contex
2018-03-20 15:42:35
347
原创 反射修改sharedpreference路径实现永久保存信息
private void changePathChange(File file) { Field field = ContextWrapper.class.getDeclaredField("mBase"); field.setAccessible(true); Object obj = field.get(this); fie
2018-01-11 19:53:03
610
转载 内存泄漏及解决方法
在Activity销毁的时候取消正在运行的AsyncTaskpublic class MainActivity extends Activity { private AsyncTask mAsyncTask; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreat
2017-12-11 20:48:22
320
原创 加密解密工具类
package com.android.fontcore.utils;import java.math.BigInteger;import java.nio.ByteBuffer;import java.nio.ByteOrder;import java.nio.charset.Charset;import java.util.ArrayList;import java.util.Lis
2017-10-25 11:29:59
417
原创 常用的混淆代码
# umeng push sdk start-dontwarn com.taobao.**-dontwarn anet.channel.**-dontwarn anetwork.channel.**-dontwarn org.android.**-dontwarn org.apache.thrift.**-dontwarn com.xiaomi.**-dontwarn com.huaw
2017-10-17 15:11:26
1116
转载 java zip打包
基于java apipackage com.mephone.datatools.tools;import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStre
2017-08-11 15:22:08
381
转载 执行shell命令工具类
使用 String command1 = "cp -rf " + fontPath + " " + "/data/fonts/" + fontTable.getFontName() + ".ttf"; ShellUtil.CommandResult result1 = ShellUtil.execCommand(command1, false);pack
2017-08-03 16:27:59
1218
原创 获取手机品牌工具类
package com.xsw.model.fonts.utils;import android.content.Context;import android.content.pm.ActivityInfo;import android.content.pm.PackageInfo;import android.content.pm.PackageManager;import android
2017-08-03 16:24:49
1437
原创 Android签名相关知识整理
从APK文件中获取签名信息keytool -list -printcert -jarfile your_apk_file从签名文件中获取签名信息keytool -list -v -keystore your_kestore_file重新签名APK 在没有源码情况下,我们就能对apk进行更换签名bash signapk.sh your_apk_file your_keystore_file keyst
2017-07-20 15:52:50
243
原创 加载WebView组建封装
/** * Copyright 2016 JustWayward Team * <p> * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a
2017-07-20 10:39:56
656
原创 TextView、Button的drawableLeft和drawableRight与文本一起居中显示
public class DrawableCenterButton extends TextView { public DrawableCenterButton(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, de
2017-07-19 17:47:45
1460
转载 弹性ScrollView 上下拉超出后,手指离开后弹回的“阻尼”效果
/** * Copyright 2016 JustWayward Team * <p> * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a
2017-07-19 17:11:54
761
转载 将一个Activity放到系统的最近任务列表里,独立于宿主app任务卡之外
方法一在startActivity时,给Intent添加intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);参数Intent intent = new Intent(MainActivity.this,LoginActivity.class); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); star
2017-07-18 10:35:12
438
转载 Android一个应用多个图标的实现方式
1. 多Activity + intent-filter方式<intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /></intent-filter>2.activity-alias方式<ac
2017-07-18 10:14:40
528
原创 字符串变色工具类
public class StringFormatUtil { private SpannableStringBuilder spBuilder; private String wholeStr, highlightStr; private Context mContext; private int color; /** * @param contex
2017-07-10 20:18:19
391
原创 在代码中对窗体设置透明度灰度的方法
设置透明度(这是窗体本身的透明度,非背景) WindowManager.LayoutParams windowLP = getWindow().getAttributes(); windowLP.alpha = 0.5f; getWindow().setAttributes(windowLP);设置灰度(背景灰度) WindowManage
2017-06-29 10:05:43
434
原创 TaskStackBuilder
默认情况下,从通知启动一个Activity,按返回键会回到主屏幕。但遇到这样的需求,按返回键时仍然留在当前应用。类似于微信、QQ等点击通知栏,显示Chat页,点击返回会回到主Activity实现方式一:private void showNotification() { NotificationManager manager = (NotificationManager) getSystemS
2017-06-02 15:59:37
431
转载 汉字转拼音
package com.xsw.model.fonts.utils;import java.io.UnsupportedEncodingException;/** * <pre> * author: Blankj * blog : http://blankj.com * time : 16/11/16 * desc : 拼音相关工具类 * </pre
2017-05-31 16:57:42
1034
转载 android http post提交数据
public String submitPostData(String strUrlPath, Map<String, String> params, String encode) { byte[] data = getRequestData(params, encode).toString().getBytes();//获得请求体 try {
2017-04-25 18:53:34
404
apk或者AndroidManifest.xml一键换包名的工具
2024-05-08
presetapp.zip
2019-08-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人