自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(72)
  • 资源 (1)
  • 收藏
  • 关注

原创 android 资源文件混淆

【代码】android 资源文件混淆。一键给apk资源文件添加混淆

2024-04-07 20:01:56 392 2

原创 android 使用ollvm混淆so

ollvm

2024-04-02 19:54:39 750 1

原创 app加载不到aar中的so库

引用aar中so

2024-01-08 17:05:10 425

原创 2024 Android保活总结

android保活总结

2023-12-26 17:18:21 1040

原创 FFmpeg 使用

ffmpeg 调整分辨率 旋转 裁剪 截取 转图片 图片转视频

2023-11-24 10:36:11 392

原创 AndroidUtils

【代码】AndroidUtils。

2023-09-05 17:12:38 70

原创 获取正在运行的app方案尝试

监听正在运行的应用

2023-08-17 14:48:58 180

原创 Android AccessibilityService研究

用户点击开启无障碍其实最终就是通过Setting secure写入对应的acess服务信息。Settings界面的初始话会获取所有已安装的apk的无障碍服务并列表展示出来。. 在Framework里直接添加对应用app 服务component。. 通过intent跳转到settings里面手动添加。. 在system app中动态添加。

2023-08-07 12:55:32 711

原创 AppGlobals

AppGlobals

2022-07-07 10:02:41 512 2

原创 虚 弱 软引用

虚: PhantomReference 和对象得生命周期没关系 不能通过get pull 方法获取到引用得对象和对象的hashcode但是 当对象呗销毁后可以通过poll获取到被销毁对象得hashcode 一般不用。弱 WeakReference gc来了得时候会回收 可以通过get获取引用得对象 不能通过poll获取到对象得hascode.当对象呗销毁get对象为null可以通过poll获取到被销毁对象得hascode软 和上面一样得效果只是内存不足得时候会回收...

2020-12-17 15:37:34 108

原创 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 131

原创 android 9.0预置APP

需求1,实现预置APP,在系统恢复出厂设置后能够依然存在2,能够实现ota增量升级,如果用户当前的应用和ota中带的应用相同且用户版本的高则当前用户版本为准3,被用户手动卸载掉的app在ota升级之后依然不出现4,内置app的目录可以放在system和vendor目录下以防空间不够的问题PackageManagerServicePackageManagerService主要负责And...

2020-01-19 18:35:05 6113 2

原创 Android Q(Api 29)的新特性

a,存储的权限Android Q 在外部存储设备中为每个应用提供了一个“隔离存储沙盒 沙盒就是应用专属文件夹,并且访问这个文件夹无需权限。谷歌官方推荐应用在沙盒内存储文件的地址为Context.getExternalFilesDir()下的文件夹。1,访问自己文件:Q中用更精细的媒体特定权限替换并取消了 READ_EXTERNAL_STORAGE 和 WRITE_EXTERNAL_STOR...

2019-09-05 14:47:53 2816

原创 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 309 1

原创 比launcher更早啓動的上層應用

首先启动 com.android.settings/.FallbackHome 然后pause com.android.settings/.FallbackHome之后启动com.android.launcher/com.android.launcher2.Launcher

2018-08-13 13:45:17 321

原创 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 828 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 944

原创 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 550

原创 使用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 310

原创 反射修改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 569

转载 内存泄漏及解决方法

在Activity销毁的时候取消正在运行的AsyncTaskpublic class MainActivity extends Activity { private AsyncTask mAsyncTask; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreat

2017-12-11 20:48:22 255

原创 加密解密工具类

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 355

原创 常用的混淆代码

# 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 1055

转载 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 355

转载 执行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 1151

原创 获取手机品牌工具类

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 1384

原创 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 224

原创 加载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 630

原创 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 1415

转载 弹性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 737

转载 将一个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 395

转载 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 462

原创 字符串变色工具类

public class StringFormatUtil { private SpannableStringBuilder spBuilder; private String wholeStr, highlightStr; private Context mContext; private int color; /** * @param contex

2017-07-10 20:18:19 359

原创 在代码中对窗体设置透明度灰度的方法

设置透明度(这是窗体本身的透明度,非背景) WindowManager.LayoutParams windowLP = getWindow().getAttributes(); windowLP.alpha = 0.5f; getWindow().setAttributes(windowLP);设置灰度(背景灰度) WindowManage

2017-06-29 10:05:43 374

原创 TaskStackBuilder

默认情况下,从通知启动一个Activity,按返回键会回到主屏幕。但遇到这样的需求,按返回键时仍然留在当前应用。类似于微信、QQ等点击通知栏,显示Chat页,点击返回会回到主Activity实现方式一:private void showNotification() { NotificationManager manager = (NotificationManager) getSystemS

2017-06-02 15:59:37 389

转载 汉字转拼音

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 717

转载 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 367

原创 最有效的隐藏软键盘方法

/** * 隐藏软键盘(只适用于Activity,不适用于Fragment) */ public static void hideSoftKeyboard(Activity activity) { View view = activity.getCurrentFocus(); if (view != null) {

2017-04-12 19:43:01 290

转载 Android 唯一设备号生成方案

以下是一种比较靠谱的解决方案。通过获取到 IMEI、AndroidId、macAddress 进行拼接,再将拼接结果进行 MD5 转换,那么就可以得到一串 32 个字符的 16 进制数据,这时候也能够保证得到的设备唯一标识为统一的长度。这样也能够很大程度上保证你最终得到的唯一标识不为空,因为这三个值同时为空几乎不大可能。public static String generateUniqueDevic

2017-04-12 19:24:35 2532

转载 Android 实现监听应用从后台回到前台

面主要有这样的场景: 1.桌面 -> 主页面生命周期如下:… –(点 HOME 或者返回)–> 主页面#onPause –(重新打开应用)–> 主页面#onResume -> …2.子页面 -> 主页面生命周期如下:… -> 子页面#onPause -> … -> 主页面#onResume ->…我们只要知道上一次主页面调用了 onPause,这一次主页面调用了 onResume,那么就可以确定我

2017-04-12 19:16:59 5102

ollvm编译好的头文件以及bin

ollvm编译好的头文件以及bin

2024-04-19

一键加固apk,apk加壳

一键加固apk

2024-04-12

一键给apk资源文件添加资源混淆

一键给apk资源文件添加资源混淆

2024-04-08

AndResGuard demo

使用AndResGuard 混淆资源文件

2024-04-07

presetapp.zip

1,实现预置APP,在系统恢复出厂设置后能够依然存在 2,能够实现ota增量升级,如果用户当前的应用和ota中带的应用相同且用户版本的高则当前用户版本为准 3,被用户手动卸载掉的app在ota升级之后依然不出现 4,内置app的目录可以放在system和vendor目录下以防空间不够的问题

2019-08-30

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除