自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

shenyang的博客

稀里糊涂的学习进步

  • 博客(40)
  • 问答 (3)
  • 收藏
  • 关注

原创 Android 游戏 - 聚合SDK

要不要搞一波~在一个游戏公司待了四年了,一直做聚合SDK,在想要不要写一篇关于聚合SDK的文章。比如聚合SDK的思想,架构思路,产品需求,注意事项啥的~

2020-06-10 22:28:39 3819 16

原创 Android-如何稳定获取IMEI1、IMEI2、MEID,以及获取其他设备ID闲谈

胡扯一波:博客很少写,感觉错过了很多东西,获取设备ID一直是企业追求的东西,所以这一块大家都很努力的搜集设备信息。IMEI1、IMEI2、MEID:目前获取设备信息,比较多的是搜集IMEI1、IMEI2、MEID,这几个是比较靠谱的,坑爹的是一要权限,二不一定获取得到,三获取可能有偏差,因为设备有单卡、双卡,插卡不一定是移动还是电信的,这就很尴尬了~Android广告ID:再有就是海外流行Android的广告ID作为设备号,不过对国内来说没鸟用嘛。OAID:随着Andr

2020-06-06 01:08:21 5415 1

原创 B站动态自检方法1 bilibili应用自检

2、访问PC局域网IP:8002/fetchCrtFile,进行证书下载步骤。实际上,在你手机上你访问这个地址 http://192.168.2.175:8002/fetchCrtFile ,正常情况就下载到证书了。采用电脑开代理的方式获取sdk请求。4、如果Mac系统,需要对证书权限进行修改,请设置为始终信任。2、双击弹出目录中的root.crt文件进行证书安装。本文档,保姆级教程,请认真阅读。3、点击下一步完成安装步骤。3、证书下载后完成证书安装。1、点击安装PC证书步骤。1、点击开启动态自检。

2023-05-22 22:29:46 1871 3

原创 GlideApp 生成失败 无法生成

GlideApp 生成失败

2022-10-28 15:18:34 883

原创 渠道分包技术

纠结于渠道投放不知道如何统计?那就好好看看这篇文章。本文仅提供Java版分包代码。1、准备分包的标记文件,假设为:channel_list.text 文件内容随机写了几个数字:1041020010104102001110410200121041020013104102001410410200151041020016将打出7个新的分包apk。2、准备Java脚本多渠道分包代码public class Tool { private static final String CHAN

2021-08-13 14:06:18 712

原创 Android 查看apk签名方法

文章目录1、根据apk中的签名文件 CERT.RSA2、根据apk查看3、根据签名文件keystore4、检查签名类型1、根据apk中的签名文件 CERT.RSAkeytool -printcert -file D:\Desktop\CERT.RSA2、根据apk查看keytool -printcert -jarfile 检查.apk3、根据签名文件keystorekeytool -list -v -keystore changmeng.keystore4、检查签名类型//找到你的li

2021-08-12 11:56:34 1202

原创 Java 内部类

文章目录内部类1、内部类优点与特性优点特性2、内部类基本结构生成内部类的对象访问内外部类变量3、成员内部类4、局部内部类方法内部类5、静态内部类6、匿名内部类7、私有内部类8、为什么局部内部类和匿名内部类只能访问 final 的局部变量?原因:生命周期不同步若变量是final时:人来的本质是什么?复读鸡啊~~内部类内部类是定义在另一个类中的类。1、内部类优点与特性优点内部类可以随意使用外部类的成员变量(包括私有)而不用生成外部类的对象。内部类方法可以访问该类定义所在的作用域中的数据, 包括私

2020-09-15 10:06:19 145 1

原创 运行时报错:Invoke-customs are only supported starting with Android O (--min-api 26)

异常:Invoke-customs are only supported starting with Android O (--min-api 26)解决:build.gradle文件中android节点下增加:compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 }原因:请看代码:config.

2020-07-29 11:35:04 491 1

原创 错误:AGPBI: {“kind“:“error“,“text“:“Android resource compilation failed“,“sources“:......

错误日志:AGPBI: {"kind":"error","text":"Android resource compilation failed","sources":[{"file":"/Users/apple/Downloads/GitDemo/MyTimes/app/src/main/res/values-fr-rBE/strings.xml","position":{"startLine":50,"startColumn":4,"startOffset":3082,"endColumn":116,

2020-07-23 21:32:29 5431

原创 异常:java.lang.RuntimeException: Unable to instantiate application

2020-07-09 11:14:46.088 11648-11648/? E/timescreensave: Unknown bits set in runtime_flags: 0x80002020-07-09 11:14:46.200 11648-11648/? E/QarthLog: [PatchStore] current thread application info is null2020-07-09 11:14:46.200 11648-11648/? E/AndroidRuntime:

2020-07-09 11:22:56 3109 1

原创 TextView 花里胡哨的用法 - SpannableStringBuilder

一个新需求,要做一个提示框,提示框中的文本,个别文本是需要有点击事件,并且要设置颜色,所以有了此文。//声明private TextView mAgreement, thinkAgreementTv;//搞一个 TextViewmAgreement = (TextView) findViewById(NBResFinder.getId(sContext, "id", "agreementTv")); /** * 文本中字体的处理 */ private vo.

2020-07-03 15:48:20 340

原创 运行时布局错误:Error: ‘ ‘ is not a valid file-based resource name character: File-based resource names must

Error: ' ' is not a valid file-based resource name character: File-based resource names must contain only lowercase a-z, 0-9, or underscore查看一下布局命名是否有空格啥的,我的是因为布局命名有空格!尴尬!

2020-07-02 17:22:32 3231

原创 View.post(Runnable ) 与postDelayed - 浅析

一、View.post(Runnable )源码 /** * <p>Causes the Runnable to be added to the message queue. * The runnable will be run on the user interface thread.</p> * * @param action The Runnable that will be executed. * * @r

2020-07-02 14:45:59 697

原创 Handler 再探索 - 知其然更知其所以然

Handler 基本用法目录:Android 系统类型为什么引入 Handler关键字Handler 相关方法Handler写在主线程/子线程区别一、Android 系统类型:谈Handler前,我觉得最好是先了解一下Android的系统类型。Android是与Windows系统一样,也是消息驱动型的系统。怎么说呢,就是要遵守以下几点:接收消息的“消息队列” ——【MessageQueue】阻塞式地从消息队列中接收消息并进行处理的“线程” ——【Thread+Looper】

2020-07-02 13:47:23 373

原创 初识Handler - 基本用法,只说怎么用,不看原理

基本用法1、定义Handler android.os.Handler handler = new Handler() { @Override public void handleMessage(final Message msg) { //这里接受并处理消息 } };2、传递消息,等待处理//发送消息handler.sendMessage(message);handler.post(runnable);传

2020-07-01 20:51:23 334

原创 runOnUiThread()是干啥的?

一、runOnUiThread()是干啥的?属于Activity的方法用于UI更新操作 MainActivity.this.runOnUiThread(new Runnable() { @Override public void run() { // 更新UI的操作代码 //比如更新TextView显示的内容 textView.setText("哈喽我的"); }

2020-07-01 20:07:55 1301

原创 Android 异步任务 - AsyncTask 理解及示例

一、AsyncTask 基本概念等+ 异步任务,属于辅助类Thread、Handler ,旨在启用和轻松使用UI线程。相当于对Thread和Handler进行了封装。+ 适用于短时操作,数秒内最合适。+ 单线程执行,即使多开,其他线程也是等待状态。1、优缺点优点:1. 使用简单2. 过程可控3. 可取消执行缺点:1. 并行运行多个任务需要更新UI时就变得复杂起来。2、参数分析//泛型参数,可自定义public abstract class AsyncTask<Param

2020-07-01 16:01:50 336

原创 Android studio 光标消失

莫名其妙,光标消失了,切换了几个应用,再切回来,又好了。网上还有其他方法,最简单暴力的就是重启一下Android studio,应该也是没问题的。

2020-07-01 11:41:05 1305 3

原创 Android - 线程的理解

线程:线程是个单一执行序列。单个线程中的代码会逐步执行到结束。主线程:所有Android应用的运行都是从主线程开始的。主线程不是线程那样的预定执行序列。相反,它处于一个无限循环的运行状态,等着用户或系统触发事件。一旦有事件触发,主线程便执行代码做出响应。主线程运行着所有更新UI的代码,其中包括响应activity的启动、按钮的点击等不同UI相关事件的代码。举例:假如你是上班一族,早9晚12,每天刷牙洗脸上班回家睡觉,都是你的任务(主线程)。今天下午9点你突然想在12点下班前打开家里.

2020-07-01 09:36:44 211

原创 CountDownTimer倒计时,简单了解及使用,快速上手

CountDownTimer 倒计时,可以在主线程使用。创建计时器,并设置://这里所有的参数都是毫秒,使用秒需要 time乘以1000 //long millisInFuture 倒计时总时间 //long countDownInterval 间隔多久倒计时一次 //以下参数是 一共60秒,每19秒倒计时一次 CountDownTimer countDownTimer = null; if(countDownTimer == null)countDownTimer = new .

2020-06-30 15:45:59 867

原创 通信层优化思路小结

通信测试最好使用2G测试,可以慢,但要能跑通,若出现“无法连接到网络”或者“网络连 接超时”的对话框,就是开发人员必须要解决的问题了。1、接口返回的大数据,要使用 gzip 进行压缩注意:大于 1KB 才进行压缩, 否则得不偿失。经过 gzip 压缩后,返回的数据量大幅减少。2、ProtoBuffer协议是二进制格式的,所以在表示大数据时,空间比 JSON 小很多。3、减少网络访问次数,能调用一次取到数据的,就不要调用两次4、HTTP 协议的速 度远不如使用 TCP协议,因为后者是长连.

2020-06-28 23:29:36 219

原创 无需权限的悬浮球,还不来点赞一波?

闲来无事,搞一波悬浮球,此球:无需权限无需权限无需权限主要代码只有一个类,简简单单放进自己的工程功能:可以接收消息,显示红点自动贴边显示隐藏点击事件自定义可以说你能想到自定义的都可以自定义,因为下面会给出代码先看看效果如何,图片大小有限制,所以我录得比较急一些,效果不是很好。这个悬浮球,我自觉还是蛮棒的,以下给出主要代码:MainActivity.classpublic class MainActivity extends Activity { prot

2020-06-28 19:50:37 480

原创 adb无线调试,摆脱数据线的束缚~

教程:我的环境:Mac本本,adb一切正常华为V30手机,电脑用的手机开启的热点,网络刚刚的建议:用手机开WiFi的网络,别用公司的,一般都会有限制啊我个人不倾向于无线调试,比较慢,这个算不得建议,属于感受~操作:1.手机用线连接电脑,如果不执行这句,可能出现错误“unable to connect to ip”,在连接的状态下,输入://让手机在指定的端口可以接收到TCP/IP连接,//可以是5555,可以是5566,你随意adb tcpip 55552.手机与电脑处于同

2020-06-24 14:49:12 625

原创 Android studio生成jar包详解!!!

有两种方式:方式一:1.在你的Moudle中,android{}节点下,添加以下内容: //不build一下肯定是不会生成class文件的,所以要加这行 makeJar.dependsOn(build) //生成jar文件,需要在android{}节点下 task makeJar(type: Copy) { //删除存在的,有的话删了,没有也假装删一下~ delete'libs/nbsdk.jar' //从指定文

2020-06-23 16:58:07 739

原创 签名配置错误:Could not get unknown property~~.md

错误:Could not get unknown property 'ys' for SigningConfig container of type org.gradle.api.internal.FactoryNamedDomainObjectContainer.解决:signingConfigs{}模块写在buildTypes{}上层,要比buildTypes{}先执行,不然去哪里找签名。...

2020-06-22 15:40:31 2533

原创 【2020年】Android API 版本对照

详情了解,请去官方,传送阵~~~Android 11开发者预览版。Android 10(API 级别 29)修订版 4(2019 年 12 月)Android 9(API 级别 28)修订版 1(2018 年 8 月)Android 8.1(API 级别 27)修订版 1(2017 年 12 月)Android 8.0(API 级别 26)修订版 2(2017 年 8 月)Android 7.1(API 级别 25)修订版 3(2016 年 12 月)修订版 2(2016

2020-06-20 10:55:56 977

原创 图文解决:Manifest merger failed with multiple errors, see logs

出现此错误时,直接点箭头处,可以看到具体错误,然后分析解决即可。点看可以看到具体错误:然后具体问题具体分析即可!我这个问题,只要把工程minSdkVersion设置小一些就好了。

2020-06-19 18:03:54 2322

原创 adb 配置成功 再打开终端却失效

解决:1.打开终端:touch .zshrc open .zshrc 2..zshrc文件中加入:source ~/.bash_profile3.打开终端执行:source ~/.zshrc4.测试,关闭终端再打开,然后测试:adb versionok ! 结束 !

2020-06-13 19:39:06 1217

原创 jd-gui 下载 所有系统版本

官网: http://jd.benow.ca/GitHub :https://github.com/java-decompiler/jd-gui选择你需要的版本下载即可:

2020-06-12 12:58:13 3045

原创 adb bugreport :查看设备所有信息(获取错误报告)

1.命令:$ adb bugreport E:\Reports\MyBugReports//7.0以下,输出到文件当前路径的bugreport.txt文件$ adb bugreport > bugreport.txt2.生成文件:bugreport-BUILD_ID-DATE.zip3.其中bugreport-BUILD_ID-DATE.txt,此文件就是错误报告:包含系统服务 (dumpsys)、错误日志 (dumpstate) 和系统消息日志 (logcat) 的诊断输出。系

2020-06-08 00:17:24 11436

原创 浅谈 apk 分析器

Android studio 自身提供了一个apk分析器,作用不是很大,但有比没有强吧,操作很简单,这里不做介绍,只说一下他大概可以做什么,怎么打开它~~APK 分析器可以做以下事情:查看 APK 中的文件(如 DEX 和 Android 资源文件)的绝对大小和相对大小。了解 DEX 文件的组成。快速查看 APK 中的文件(如 AndroidManifest.xml 文件)的最终版本。对两个 APK 进行并排比较。如何访问 APK 分析器:将 APK 拖动到 Android Stud.

2020-06-07 23:10:54 179

原创 Android 65536 详解!

异常:trouble writing output:Too many field references: 131000; max is 65536.You may try using --multi-dex option.//或者:Conversion to Dalvik format failed:Unable to execute dex: method ID not in [0, 0xffff]: 65536原因:65536。此数字是单个 Dalvik Executable (D

2020-06-06 21:20:04 855

原创 Android 使用或覆盖了已过时的 API

编译时,出现类似提示:注: 某些输入文件使用或覆盖了已过时的 API。注: 有关详细信息, 请使用 -Xlint:deprecation 重新编译。注: /Volumes/MacSD/Android_Work_AS/sdk.v3new/AS/nBSDK/src/main/java/com/nbsdk/main/PassportGuestLogin.java使用了未经检查或不安全的操作。注: 有关详细信息, 请使用 -Xlint:unchecked 重新编译。解决:1.在在Module的buil

2020-06-06 18:29:58 5246 1

原创 Android Mac配置adb

使用adb时,可能出现:command not found: adb这是因为未配置adb导致,以下为配置过程:1.打开终端,走两步:1. touch .bash_profile 2. open -e .bash_profile2.在.bash_profile中添加:注意:ANDROID_HOME 这是你的SDK路径export ANDROID_HOME=/Users/apple/Library/Android/sdkexport PATH=${PATH}:$..

2020-06-05 22:11:42 211

原创 Android APP首次启动/首次今日启动判断

拿走不谢!1.APP首次启动判断2.APP今日启动判断 /** * 判断是否是首次启动 * * 此方法启动调用第一次是准确值,如果首次启动调用第二次,即使是首次启动,也会变成非首次启动,若需要多次获取是否首次调用,可以赋新值使用,每次启动只能调用此方法赋值一次 * @param context * @return */ public static boolean isFirstStart(Context context) { SharedPreferenc.

2020-05-22 11:27:00 734

原创 Android 获取 sn 详解,以及测试报告~

网页上很多方法,我这里总结汇总,以下是用多部手机测试得来的结果:http://note.youdao.com/noteshare?id=bdb2cabb58c3b65b9f2d3be7c896223c

2020-05-21 14:51:59 6767 2

原创 Android 屏幕常亮N秒后自动暗屏

```// 最大的屏幕亮度private float maxLight;// 当前的亮度private float currentLight;// 用来控制屏幕亮度private Handler lightHandler;// 60秒时间不点击屏幕,屏幕变暗private long delayTime = 60 * 1000L;protected void on...

2019-03-18 16:59:53 1233

原创 Android 反射引用资源,替代R..引用

Android编译时,有以下问题:1.有时候R文件莫名其妙的会丢失;2.有时做一个library需要别人引用,别人又不愿意直接导入library,想导入一个jar然后将布局资源等导入工程,这时候发现你的library离不开R文件的引用(尤其是eclipse)。话不多说,先上示例,再上代码,请看下文:示例:原引用:setContentView(R.layout.activity_...

2019-03-01 21:13:05 462

原创 Android - 暴力解决 webview 加载时白屏问题

简单粗暴一点,监听webview,加载时先隐藏,等webview加载结束时,再显示出来,即可解决!

2019-03-01 20:44:46 5184 2

原创 Android XXPermissions 一行代码搞定动态权限获取

先附上XXPermissions框架地址:https://github.com/getActivity/XXPermissionsXXPermissions框架确实使用简单快捷,我在XXPermissions框架便捷的基础上,又简单写了个方法,适合多数app在初始化时就询问所有危险权限。调用时机即初始化时,尚未调用需要危险权限的方法时,具体方法如下: /** * get...

2019-02-27 21:37:49 12842

空空如也

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

TA关注的人

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