Android开发技巧
lwqldsyzx
你所浪费的今天,是昨天死去的人奢望的明天。你所厌恶的现在,是未来的你回不去的曾经。
展开
-
解决AndroidStudio Locat侧边栏消失
在logcat 标签上右键选择 show Toolbar即可显示出来原创 2021-06-25 09:09:19 · 1006 阅读 · 1 评论 -
Multiple dex files define Landroid/support/design/widget/CoordinatorLayout$LayoutParams
Android多dex处理,按照谷歌官方文档https://developer.android.com/studio/build/multidex处理方式依然报错 android { defaultConfig { ... minSdkVersion 15 targetSdkVersion 28 multiDexEnabled true } ...原创 2020-05-24 17:28:35 · 260 阅读 · 0 评论 -
Vysor Pro 2.2.2 Windows
上次分享了Vysor Pro 2.1.x版本 主要针对Mac平台,Windows也同理的做安装开发的这个很好用,解放双手,一个鼠标即可操控安卓手机,不要经常拿着手机点了,其他软件使用体验不如这个下面是软件截图Vysor正常使用没啥问题,但Pro版支持体验更好,清晰度,无线,还有个旗舰版的,2美刀一个月下面是它的收费价格土豪可以支持下作者,永久版也不贵,40美刀,按2020.5.17日的汇率计算相当于RMB 284.052新版下载地址https://vysor.io..原创 2020-05-17 14:47:10 · 3489 阅读 · 4 评论 -
Mac编译FFmpeg Android动态so库实践
My Build EnvironmentCommon Mac OS 10.14.6 Android NDK r20b(对应android-ndk-r20b-darwin-x86_64.zip) FFmpeg目前最新版本4.2.2,我用的版本是4.2.2Android 的NDK已经迭代了很多版本,在r17c以后,Google正式移除GCC,不再支持GCC,新版本...原创 2020-04-21 20:32:32 · 1055 阅读 · 4 评论 -
Android异常优化之内存泄露实例与及部分解决方案
1.Java内存泄漏基础知识 内存泄漏的理解其实很简单,就是该被释放的对象没有被释放,一直被某个或者某些实例引用所持有,导致不能被垃圾回收。1)Java内存的分配策略: a.静态存储区(方法区):跟堆一样,被所有的线程共享。方法区包含所有的class和static变量,方法区中包含的都是在整个程序中永远唯一的元素,如class,static变量。 b.栈区:每个线程包含一个栈...原创 2020-04-12 21:57:57 · 176 阅读 · 0 评论 -
AndroidX的混淆
当工程从support库迁移至androidx后,若使用了混淆,则必须在混淆文件中添加以下配置,否则使用了androidx的地方都将有可能出问题:需要添加混淆配置-keep class com.google.android.material.** {*;}-keep class androidx.** {*;}-keep public class * extends androidx...原创 2019-01-31 06:01:27 · 9754 阅读 · 0 评论 -
Android混淆
一、为什么要混淆为了避免apk在发布后被用户通过反编译拿到源代码和资源文件,然后修改资源和代码之后就变成一个新的apk。而经过混淆后的APK,即使被反编译,也难以阅读,注意混淆不是让apk不能阅读,而是加大阅读的难度,为了避免劳动成果被窃取,也避免出现安全漏洞和隐患,所以在apk发布之前一定要进行混淆。二、混淆的原理Java是一种跨平台、解释型语言,Java源代码编译成的class文件...原创 2019-03-12 09:56:02 · 581 阅读 · 1 评论 -
解决:verifyReleaseResources FAILED
配置统一构建版本 compileSdkVersion 28 buildToolsVersion '28.0.3' defaultConfig { minSdkVersion 16 targetSdkVersion 28或者使用./gradlew app:assembleRelease构建...原创 2019-05-28 19:52:37 · 7653 阅读 · 0 评论 -
ERROR: Manifest merger failed : Attribute application@appComponentFactory value=
ERROR: Manifest merger failed : Attribute application@appComponentFactory value=(androidx.core.app.CoreComponentFactory) from [androidx.core:core:1.0.0] AndroidManifest.xml:22:18-86 is also presen...原创 2019-06-18 21:40:51 · 4422 阅读 · 3 评论 -
Android Emulator with revision at least 29.1.7 not available
然后切换到Android SDK并更新所需的模拟器。原创 2019-08-26 01:22:29 · 1013 阅读 · 0 评论 -
buildConfigField配置变量git
使用AndroidStudio进行开发,其中很重要的一个文件就是build.gradle,他是整个项目的控制中心,这里收集一些日常会用到的语法或者使用技巧,以备后用。这篇博客主要说明 buildTypes节点下使用buildConfigField。 buildTypes { release { minifyEnabled true ...原创 2019-02-15 07:27:11 · 840 阅读 · 0 评论 -
Vysor Pro 2.1.0 Mac
新版本看这里:https://blog.csdn.net/lwqldsyzx/article/details/90005852此文过时,升级有可能会被替换。以下针对Mac,针对2.1.0这个版本,每一个版本破解方法不一样,其他平台自测下载https://www.vysor.io/安装,直接拉 Sysor.app到应用程序找到路径Vysor.app/Contents...原创 2019-01-29 23:48:06 · 3254 阅读 · 14 评论 -
Android Studio断点调试
下面会将debug模式和Attach模式的断点调试 好了开始写一个简单的调试程序,我们先来一个for循环设置断点(点击红点位置添加或取消断点)点击debug模式运行查看调试面板一、简单调试1. step over:一步步往下走当前程序运行的位置,我们看到i的值已经在程序代码中展示出来了,黄色的代码处,这个是AS的功能,对于我们调试来...转载 2018-12-24 13:09:09 · 284 阅读 · 0 评论 -
Gradle sync failed: Cause: com.android.build.gradle.api.BaseVariant.getOutputs()Ljava/util/List
AndroidStudio升级到3.0.1后我新建的项目发现一直报这个异常。 一开始还以为是因为没有翻墙的原因,导致哪个类库下载失败。后面一查发现是跟Butterknife 最新的8.8.1版本冲突了。原有的依赖方法,目前不适用,得删一些地方,解决办法1、首先,在你已经配置好ButterKnife8.8.1版本,刚升级AS3.0的同学,需要删除两行配置代码classp...原创 2018-08-13 18:13:34 · 184 阅读 · 0 评论 -
Error:There were multiple failures while executing work items
从GitHub上下载一个项目,导入Android studio之后报错。报错内容如下:Error:There were multiple failures while executing work itemsError:Execution failed for task ':app:mergeDebugResources'.> There were multiple failure...原创 2018-08-27 16:15:47 · 1969 阅读 · 0 评论 -
Android ANR
1、ANR排错一般有三种类型KeyDispatchTimeout(5 seconds) --主要是类型按键或触摸事件在特定时间内无响应 BroadcastTimeout(10 seconds) --BroadcastReceiver在特定时间内无法处理完成 ServiceTimeout(20 secends) --小概率事件 Service在特定的时间内无法处理完成2、哪些操作会导致AN...转载 2018-08-27 17:52:40 · 191 阅读 · 0 评论 -
Android O(8.0)通知栏解决方案
我一定要适配吗Android8.0通知栏吗? Google这次对于8.0系统通知渠道的推广态度还是比较强硬的。如果你将项目中的targetSdkVersion指定到了26或者更高,那么Android系统就会认为你的App已经做好了8.0系统的适配工作,当然包括了通知栏的适配。这个时候如果还不使用通知渠道的话,那么你的App的通知将完全无法弹出。因此这里给大家的建议就是,一定要适配。通知渠道...原创 2018-10-10 02:11:11 · 1919 阅读 · 0 评论 -
约束布局ConstraintLayout加快布局速度
Android Studio2.2更新布局设计器,同时,引人了约束布局ConstraintLayout。简单来说,可以把它看做是相对布局的升级版本,但是区别与相对布局更加强调约束。何为约束,即控件之间的关系。它能让你的布局更加扁平化,一般来说一个界面一层就够了;同时借助于AS我们能极其简单的完成界面布局。ConstraintLayout简介ConstraintLayout的优点非...转载 2018-10-17 11:07:49 · 226 阅读 · 0 评论 -
Compilation failed; see the compiler error output for details.
错误:Compilation failed; see the compiler error output for details意思为:编译失败了;有关详细信息,请参阅编译器错误输出解决:第一可以修改 修改build.gradle文件下的dependencies下的classpath配置版本降低Gradle版本构建号第二。对于android studio 3.0以上...原创 2018-11-19 16:08:19 · 24456 阅读 · 11 评论 -
Error: Program type already present: android.support.v4.accessibilityservice.AccessibilityServiceInf
报错原因:v4包冲突配置ButterKnife过程中报错(与support-v4包冲突,Program type already present: android.support.v4..)解决上github上源码那里查了一下,在根目录的build.gradle可以看到butterknife-8.8.1的support的版本号。配置的版本号是27.0.2,跟我的不一致,还差的挺...原创 2018-11-22 21:18:29 · 3160 阅读 · 0 评论 -
logcat read: unexpected EOF!Android Studio 不显示logcat日志的解决办法
解决方案命令行输入adb logcat -G 2m 即可原创 2018-11-25 02:18:32 · 1728 阅读 · 0 评论 -
利用IntentService与Service重启APP应用
项目开发过程中需要实现重启App的功能GitHub地址方式一:利用IntentService实现APP重启,用完即走IntentService IntentService,可以看做是Service和HandlerThread的结合体,在完成了使命之后会自动停止,适合需要在工作线程处理UI无关任务的场景。IntentService 是继承自 Service 并处理异步请求的一...原创 2018-12-10 16:28:59 · 443 阅读 · 0 评论 -
lintOptions -Android Studio
lint配置android { lintOptions { // true--关闭lint报告的分析进度 quiet true // true--错误发生后停止gradle构建 abortOnError false // true--只报告error ignoreWarnings true...原创 2018-12-23 01:57:29 · 477 阅读 · 0 评论 -
Android下打印出现read: Unexpected EOF解决
解决方案因为logcat日志信息太多了了,解决,在终端或命令窗口adb logcat -G 2m原创 2018-12-23 08:49:46 · 34133 阅读 · 0 评论 -
Android屏蔽禁用返回键
具体写法如下:@Override public boolean onKeyDown(int keyCode,KeyEvent event){ if(keyCode==KeyEvent.KEYCODE_BACK){ return true;//不执行父类点击事件 } return false;//继续执行父类其他点击事件 } 复写系统的onKeyDo...原创 2018-03-16 01:12:49 · 2481 阅读 · 1 评论