- 博客(45)
- 资源 (4)
- 收藏
- 关注
原创 新版本的AndroidStudio生产签名文件打包失败
signjar app-debug-sign.apk app-debug.apk analysis.jks --- 正式签名,三个参数依次为签名后的apk,待签名的apk以及签名文件,在这之后我也对本地签名进行了行业标准格式PKCS12迁移,打包就可以了,以此作为记录,如有遇到的朋友,可以照此方法解决。-keystore analysis.jks ---签名过程中使用的签名文件(注意使用key的绝对路径)-validity 100000 --- 生成的签名文件的有效期为100000天。
2024-02-29 10:35:55
1598
原创 Android高版本读取沙盒目录apk解析安装失败解决方案
原来我把下载的apk文件放在了getCacheDir().getAbsolutePath()的目录下,而不是sd中,这就导致apk文件没有相应的权限,不能被正确解析。后来又找到项目中配置的FileProvider发现是因为这个xml里没有配置我下载下来的apk路径,后来修改后就可以解析安装了。应用内升级下载apk完成后安装,vivo(Android13)手机会报解析包错误,7.0及以上的手机是没问题的。开始以为是v1,v2签名问题导致的,但是我用浏览器下载下来的安装包是能够正确安装的。
2023-10-19 19:43:37
572
转载 Android强大的工具类,感谢原创,收藏!收藏!
encrypt3DES, encrypt3DES2HexString, encrypt3DES2Base64: 3DES 加密。encryptDES, encryptDES2HexString, encryptDES2Base64 : DES 加密。encryptAES, encryptAES2HexString, encryptAES2Base64 : AES 加密。encryptRSA, encryptRSA2HexString, encryptRSA2Base64 : RSA 加密。
2023-04-13 15:35:12
427
原创 fastjson在混淆后遇到的坑
混淆有时候让人确实让人很头疼,记得一次项目一直开发测试还是比较顺利,结果在最后阶段打了一个签名混淆包后,出现了网络请求失败,数据获取空指针等等奇葩问题,后来才找到是混淆导致数据异常,程序崩溃。下边我将解决办法记录下边,供自己和需要的同学解决问题:########################网络请求需要########################-dontwarn org.apache.http.**-dontwarn android.support.**-keep class andro
2021-08-30 16:05:39
1064
原创 混淆后请求网络代码闪退java.lang.InternalError
有时候我们在真机调试时跑起来程序完全没有问题,但是在打了release包后,客户装了登录户口有网络请求时就闪退,然后我们在日志中找到了一句报错如下:java.lang.InternalError at b.d.d.b.y.a(UnsafeAccess.java:103) at b.d.d.b.x.<clinit>(SpscArrayQueue.java:39) at b.d.a.g$a.<init>(OperatorObserv.
2021-08-13 15:39:14
1014
原创 AndroidStuodio编译失败报错:Entry name ‘assets/sm2/t.jks‘ collided解决方案
在集成网易云信sdk时debug调试时突然编译失败,遇到了一个这个错Entry name 'assets/sm2/t.jks' collided,查了好多资料结果都无济于事,什么清除缓存,什么删除build目录都不行,最后找到了一个网友和我一样的错,在你的gradle.Properties文件增加:android.useNewApkCreator=false就可以顺利编译通过了。做一个记录,遇到同样错的朋友可以参考下。...
2021-01-25 14:31:44
4413
12
原创 如何将自己的开源组件发布在github上供大家依赖共享
场景:通常我们会在开发过程中依赖很多第三方的库,现在自己想封装一个公共库也给别人用,或者自己在以后其他项目中使用问题:如何创建Android库,给别人依赖引用?首页我要做的就是将已经编写好的源码上传至github:第一步先在github上创建一个public 的仓库,然后将源码推送到这个仓库。接下来就是按照我的截图操作就好了。1、点击create a new realease2、填完发布的版本号等信息,如下图:3、填完信息后点击updata release或release进.
2020-08-18 13:44:35
705
转载 【我的Android进阶之旅】混淆导致的实体类数据转json异常
本文为转载文章,便于平时遇到的问题做下记录。转载原文链接:https://blog.youkuaiyun.com/wzy901213/article/details/828778581、错误描述最近,给自己的项目加上了代码混淆,在构建打包安装阶段没有任何问题,但是运行在手机上进行登录,项目就奔溃退出了。查验日志,是因为登录的时候上传的数据为null 导致报了java.lang.NullPointerEx...
2019-11-20 11:11:56
609
原创 关于Textview.setText()方法失效的问题解决
首页说下我是怎么遇到了这个奇怪的问题,在网上也搜了很多资料结果都不行,最开始我在布局里的代码是这样的:<TextView android:id="@+id/tv" android:layout_width="wrap_content" android:layout_height...
2019-09-11 11:11:11
4554
2
转载 完美解决 No IDEA annotations attached to the JDK 1.8 (C:\Program Files\Android\Android Studio\jre)
问题背景今天上午打开AS后突然发现所有xml界面无法预览,打开class文件也发现从头到尾全是错误,在class文件界面上方提示No IDEA annotations attached to the JDK 1.8 (C:\Program Files\Android\Android Studio\jre)…头一次遇见这个问题,只好百度,最后在stackoverflow找到一个解决方案,试了一试...
2019-08-27 11:09:52
280
转载 ConstraintLayout属性大全解析
Android 上面布局嵌套层级直接影响 UI 界面绘制的效率,如果 UI 嵌套层级太多会导致界面有性能问题,目前对于复杂的界面,使用RelativeLayout也无法解决。所以 Android UI 团队就在Google IO 开发者大会上发布了一个新的布局控件 — ConstraintLayout。ConstraintLayout 可以看做 RelativeLayout...
2019-07-25 17:07:13
3526
原创 解决Android Studio出现GC overhead limit exceeded
今天项目中莫名其妙的出现了这个错误GC overhead limit exceeded,查找一翻资料其解决方案如下。做一记录#开启并行编译org.gradle.parallel=true#开启编译守护进程:该进程在第一次启动后会一直存在,当你进行二次编译的时候,可以重用该进程org.gradle.daemon=true#关闭aapt2的编译android.enableAapt2=fa...
2019-06-26 16:41:27
6168
原创 Manifest merger failed with multiple errors, see logs问题处理
在android开发的时候,有时候会遇到这样的问题Error:Executionfailedfortask':test:processDebugManifest'.>Manifestmergerfailedwithmultipleerrors,seelogs但是要命的是,除了这个log,没有什么其他的有用信息了,怎么办?处理方式是这样的:首先进入命令行,输入命令gradlewprocessD...
2019-06-26 16:37:51
885
转载 ConstraintLayout各个属性学习
一、概述ConstraintLayout出现有一段时间了,不过一直没有特别去关注,也多多少少看了一些文字介绍,多数都是对使用可视化布局拖拽,个人对拖拽一直不看好,直到前段时间看到该文:解析ConstraintLayout的性能优势非常详尽的介绍了ConstraintLayout的性能优势,于是乎开始学习了一下ConstraintLayout。本文的重点不在与可视化界面的学习,而在于如何...
2019-06-05 16:12:45
818
原创 Android跳转设置中相关的intent设置参数大全
1. ACTION_ACCESSIBILITY_SETTINGS : // 跳转系统的辅助功能界面 Intent intent =new Intent(Settings.ACTION_ACCESSIBILITY_SETTINGS); startActivity(intent);2. ACTION_ADD_ACCOU...
2019-05-28 18:40:44
2061
原创 指纹解锁简单demo
最近项目需要一个指纹验证登录功能,所以就开始查找资料,做一总结。首先需要加入权限:<uses-permission android:name="android.permission.USE_FINGERPRINT"/>这个权限是一个normal级别的,所以不需要再运行时加判断下来就是我们要判断看你的设备是否支持指纹功能,没有的话那你还玩个啥是不,所以检测是必须的:...
2019-05-28 15:25:09
1555
原创 安卓Apk安装出错:更新包与已安装应用的签名不一致,但在应用管理中却找不到这个已经卸载的应用
一次我再使用同事的华为荣耀机型进行调试时,再覆盖安装一个签名发布包结果覆盖失败,但是同事又把签名包手机上装的debug调试包卸载后还是安装失败。后来找了查了一圈资料,是因为安卓手机系统不会真的卸载apk.所以这个时候就需要adb 命令删除了。目前亲测已成功。解决办法如下:首先找到你的adb路径,或者你已经配置好了adb,那就直接使用adb命令,确认adb是否连接到了正确的设备上,命令如下:...
2019-04-08 17:13:57
11812
3
原创 Android中的各种访问权限Permission含义
Android6.0之后就对权限有了限制,敏感权限需要提示用户申请同意,所以在此整理将所有的权限含义记录下了,便已自己查找 android.permission.EXPAND_STATUS_BAR 允许一个程序扩展收缩在状态栏,android开发网提示应该是一个类似Windows Mobile中的托盘程序android.permission.FACTORY_TEST 作为一个工厂测...
2019-01-29 15:57:09
1177
转载 android屏幕尺寸像素详解
转载: https://blog.youkuaiyun.com/dongxianfei/article/details/734768441、重要概念随着Android厂商对系统的不断定制,Android出现越来越多不同尺寸的手机,由于尺寸和分辨率等不同,从而导致Android的适配成为一个老大难的问题,今天我们就来聊聊Android中的屏幕尺寸。我们先了解一下几个重要的概念:什么是屏幕尺寸、...
2018-12-20 17:48:47
1868
原创 android studio 引入arr包的方法
生成arr包Module 配置为 library,在 gradle 文件中如下:输出 aar : apply plugin: ‘com.android.library’; 在moudule的build->utputs->aar目录下就能找到生成的arr文件其它项目引入Gradle 的一些基本依赖配置方式如下:compile fileTree(dir: ‘xxx’, ...
2018-12-07 14:33:48
1003
原创 viewpager嵌套webview出现滑动冲突
最近在做一个滑动控件,使用了viewpager,结果发现在viewpager总套入webview为子view时,当webview中有轮播图时发现滑动不了,最后查找资料发现有以下几种方式解决:1、重新webview的onTouch事件,判断需要滑动的子view位置后然后申请滑动权限webView.requestDisallowInterceptTouchEvent(true);2、当前...
2018-11-28 17:26:41
1597
原创 获取SHA1的两种方法
第一,使用命令行keytool -list -v -keystore + keystore的路径例如: keytool -list -v -keystore “C:\Users\Tool\android\debug.keystore”。 第二个方法完全来自于一位网友: PS:为了避免注册时弄错签名,建议直接用打包出来的apk查看签名,具体如下: 1) 将apk修改后缀为 .zip文...
2018-11-26 14:40:24
1720
原创 Fragment 在使用onActivityResult中无法正常响应接受参数
最近项目中遇到了在Fragment中使用startActivityForResult,然后在onActivityResult中获取不到任何的数据,但是之前明明是有获取到的,后来发现原来我在MainActivity里面也有onActivityResult,然后各种百度了一波发现了问题,在此记录一波,希望对有需要的人有所帮助。 取消Fragment中的super.onActivityR...
2018-11-16 16:32:54
369
原创 Android中scrollview嵌套webview后导致网页加载成功但无法显示
今天同事提出了一个bug,关于h5页面无法显示为空白页,因为这块的代码不是我写的,之前同事写的,所以我就看了一下代码,初看没什么问题,因为感觉这没什么难度,就是一个webview.loaduri(uri).后来检查布局也没问题,无奈之下换了一个百度的链接,是可以,然后就分析查资料,原来是scrollview和webview都有焦点和滑动事件,高度无法自适应,所以我就在监听webview加载完后重新
2017-02-03 16:45:59
9258
1
转载 Android-屏幕适配全攻略(绝对详细)(二)
Android-屏幕适配全攻略(绝对详细)(二)关键字:非密度制约像素(dp、sp) 屏幕适配最佳实践前言:这篇文章接着 上一篇 继续讲,上篇讲到了屏幕适配的核心概念与单位和一种解决方案:解决方案-支持各种屏幕尺寸。本篇继续讲剩余的其他两种解决方案。三. 解决方案-支持各种屏幕密度解决屏幕宽度不一致问题思路:把任何设备的手机宽度像素均分为320份,高度像素均
2016-12-01 10:04:26
323
转载 Android-屏幕适配全攻略(绝对详细)
(一)关键字:屏幕适配 px dp dpi sp large限定符 .9.png2012年到2014年支持Android设备的种类从3997增长到18796。同时各大厂商定制的屏幕尺寸也非常多。这将非常不利于我们进行屏幕适配。这要求我们必须掌握屏幕适配技能,以便使我们的app可以适用于不同屏幕尺寸的设备上。Android设备分辨率比例从上图可
2016-12-01 10:02:17
403
转载 Android中的dispatchTouchEvent()、onInterceptTouchEvent()和onTouchEvent()
Android中触摸事件传递过程中最重要的是dispatchTouchEvent()、onInterceptTouchEvent()和onTouchEvent()方法。这个是困扰初学者的问题之一,我开始也是。这里记录一下dispatchTouchEvent()、onInterceptTouchEvent()和onTouchEvent()的处理过程,以供记忆。 dispat
2016-08-18 15:57:50
316
原创 解读自定义viewgroup在计算测量上的部分源码
Android中的Veiw从内存中到呈现在UI界面上需要依次经历三个阶段:量算 -> 布局 -> 绘图,关于View的量算、布局、绘图的总体机制可参见博文《 Android中View的布局及绘图机制》。量算是布局和绘图的基础,所以量算是很重要的一个环节。本文将从源码角度解析View的量算过程,这其中会涉及某些关键类以及关键方法。对View进行量算的目的是让View的父控件知道View想要多
2016-08-16 16:06:38
698
原创 关于androidStudio使用多渠道打包
第一就是配置:在项目的build.gradle里面配置 先上图,再上代码。第二步,就是打包。(网上有介绍用命令打包,可是我这人太懒,发现了个小窍门,直接在android studio 里面进行。)上图(另外,后面我还是补上了gradle命令打包的介绍。大家可以看看http://my.oschina.net/aibenben/blog/370985)
2015-12-10 17:09:39
429
转载 各种基本算法实现总结
各种基本算法实现小结(七)—— 常用算法(均已测试通过)======================================================================1、判断素数测试环境:VC 6.0 (C)[cpp:showcolumns] view plaincopy·········10
2015-08-24 15:17:47
547
转载 关于Android Stduio插件的问题
Andriod Studio科普篇——3.关于gradle插件的常见问题分类: android-stdio android2014-07-19 07:24 2247人阅读 评论(0) 收藏 举报目录(?)[+]http://blog.youkuaiyun.com/maosidiaoxian/article/details/375621211、andr
2015-07-31 14:10:42
895
转载 Android中moveTo、lineTo、quadTo、cubicTo、arcTo详解(实例)
简单的基础学习总结,是写给自己的哦,感觉对自己有用的可以看看,然则你可略过1、moveTomoveTo 不会进行绘制,只用于移动移动画笔。结合以下方法进行使用。2、lineTolineTo 用于进行直线绘制。mPath.lineTo(300, 300);canvas.drawPath(mPath, mPaint);默认从坐标(0,0)开始绘制。如图
2015-07-10 14:14:03
6882
原创 Android关于屏幕适配问题
[Android问答] px、dp和sp,这些单位有什么区别?相信每个Android新手都会遇到这个问题,希望这篇帖子能让你不再纠结。px:即像素,1px代表屏幕上一个物理的像素点;px单位不被建议使用,因为同样100px的图片,在不同手机上显示的实际大小可能不同,如下图所示(图片来自android developer guide,下同)。
2014-12-26 15:47:12
463
转载 关于Handler的Post和Message的两种方法
前言 Android的消息传递机制是另外一种形式的“事件处理”,这种机制主要是为了解决Android应用中多线程的问题,在Android中不 允许Activity新启动的线程访问该Activity里的UI组件,这样会导致新启动的线程无法改变UI组件的属性值。但实际开发中,很多地方需要在 工作线程中改变UI组件的属性值,比如下载网络图片、动画等等。本篇博客主要介绍Handler是如何发送与
2014-12-17 10:39:10
1190
原创 android 之动画 (二) 插值器
插值器首先要了解为什么需要插值器,因为在补间动画中,我们一般只定义关键帧(首帧或尾帧),然后由系统自动生成中间帧,生成中间帧的这个过程可以成为“插值”。插值器定义了动画变化的速率,提供不同的函数定义变化值相对于时间的变化规则,可以定义各种各样的非线性变化函数,比如加速、减速等。下面是几种常见的插值器:Interpolator对象资源ID功能作用A
2014-12-15 10:54:48
446
原创 android之动画
Tween动画是展现出旋转、渐变、移动、缩放的这么一种转换过程,即补间动画。Tween动画有两种定义方式:XML形式,编码形式。XML定义动画,按照动画定义语法完成XML,置于/res/anim目录下,文件名作为资源ID引用;编码定义动画,使用Animation对象。XML定义动画语法:XML文件中必须有一个根元素,可以是、、、中的任意一个,也可以是来管理一个由前面
2014-12-15 10:52:53
392
翻译 关于Android中获取包信息之二
通过第一部分Android中获取应用程序(包)的信息-----PackageManager的使用(一)>>的介绍,对PackageManager以及AndroidManife.xml定义的节点信息类XXXInfo类都有了一定的认识。 本部分的内容是如何获取安装包得大小,包括缓存大小(cachesize)、数据大小(datasize)、应用程序大小(codesize
2014-12-12 16:10:44
549
原创 关于android 中获取应用程序的包信息
Android系统为我们提供了很多服务管理的类,包括ActivityManager、PowerManager(电源管理)、AudioManager(音频管理)等。除此之外,还提供了一个PackageManger管理类,它的主要职责是管理应用程序包。 通过它,我们就可以获取应用程序信息。 引入: AnroidManifest.xml文件节点说明:
2014-12-12 15:54:44
585
原创 idea14怎么生成jar包
1、点击File——>Project Structure....如下图:2、选择Artfacts——>点击+号——>选中JAR——>选择哪个非空的选项,具体如下图:3、这时会弹出一个配置窗口:这种选择代表的是将你的工程中的jar文件也复制到你要打jar文件中4、勾选B
2014-12-01 17:48:12
868
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人