- 博客(89)
- 资源 (36)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Android Studio使用Google Flutter完整教程
一套代码 iOS、Android 两端运行,Google Flutter 实在太强大。。“Flutter 可帮助你更容易、更快速的开发界面美观的移动应用。” — — GoogleFlutter 使用的是 Google 自己开发的网络编程语言——Dart 语言,因此,开发者只要使用过 Java 或 JavaScript 之类的语言,那么 Flutter 也极容易上手。2017 ...
2020-03-24 11:32:17
20046
5
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 【一键新机】免root/不刷机/拒绝Xposed 实现 Android改机,全新技术分析。
此篇文章仅探讨Android底层技术。不提供任何软件和安装包……我们通过一些底层技术对手机中的各种基础信息进行一个修改。主要修改的参数有:Android_Id、IMEI、手机序列号、手机号码、WIFI-MAC、WIFI-Name、安卓系统版本、ROM固件、手机号码、手机型号、手机品牌、CPU型号、手机制造商、GPS定位、通话记录模拟、手机短信模拟……等各类安卓手机系统信息的修改功能...
2020-03-24 11:31:29
91458
92
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Dagger2 在 Android 项目的正确使用方式【完整篇】
Dagger2的入门难度极大,我们直奔主题,先使用起来 再去思考原理。网上几乎都是Java的用法,谨慎参考。当你看到没有使用dagger.android这个库的讲解,都是Java用的,Android如果那样用人都会累死的。。Java用法是Android的基础,是最原始的用法,Android所有的库都是对Java用法做了优化,我们先从最基础的来讲。很多人开发Android都不看Googl...
2018-12-19 18:43:09
6372
12
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Xposed是如何为所欲为的?
Flutter使用Dart语言开发。本篇整体介绍一下Dart语言。上一篇Android Studio使用Google Flutter完整教程中SDK和插件以及环境变量的配置都很详细了。如下截图是Dart语言SDK下载地址。对于Android开发,我们仅用到FlutterSDK。Web和服务端开发都是从此处下载SDK。与上一篇提到 Flutter官网下载的FlutterSDK是一...
2018-09-12 18:53:35
6720
1
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 使用Django搭建web服务器(最最正确的方式)
今晚在Mac OS中搭建web服务器时遇到一点冲突,逛了几个论坛和网站,都说的太片面。先列出最正确的搭建步骤:(无论你是任何操作系统,或者任何版本,都没毛病)① 随便找个位置建一个文件夹(比如:Windows下的D盘)② 打开终端(Windows下是cmd) cd 进入文件夹位置(简单吧)③ 创建一个虚拟环境(虚拟环境就是磁盘一个位置,为了后续部署到服务器,这也是必须的并且是最正...
2018-06-04 23:17:01
21082
6
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Android studio无法连接识别检测各种模拟器和手机的问题 (万能方案)。
Android Studio运行程序时检测不到模拟器的解决方法:现在我们公司好多新手Android开发对于模拟器无法连接非常苦恼,逐一给他们调试也很麻烦,尤其是一些Java也想运行一下Android的项目..现在整理一下非常全面的连接模拟器的方法..(首先确保path环境变量配置正确)adb命令不知道的先打开cmd输入一下adb如果path环境配置正确就会出现很多adb的命令提示.....
2017-09-14 14:18:23
40104
3
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 解决SurfaceView渲染的各种疑难杂症
RecyclerView加载多个surfaceview覆盖,旋转,黑屏 ??SurfaceView黑色背景??透明背景??多层嵌套被遮挡??苦苦找了好多天,各个论坛问遍了,都是互相抄,痛苦的我,尝试了好多种方式都解决不了。翻了几天surfaceview的源码和API,现把解决方法总结,分享一下。首先说:不能在list视图中使用VideoView,因为VideoView继承Surfa...
2017-06-07 14:43:48
39903
27
原创 使用Android高性能音频--OpenSL ES和AAudio
AAudio 是作为 OpenSL ES 库的轻量级原生 Android 替代项而开发。 与 OpenSL ES 相比,AAudio API 不仅较小,而且容易使用。使用Android系统底层的OpenSL ES或者AAudio都可以实现一个高性能的音频程序,尤其是AAudio更是简单易用,性能上,功能上都更佳,但是AAudio 是在 Android O 版本中才引入的全新 Android C API,在以前的系统版本中只能使用OpenSL ES。那么我们需要做的是在新版本系统中使用AAudio在不支
2022-02-17 17:18:03
7232
10
原创 使用 Cuttlefish 虚拟 Android 设备
什么是 Cuttlefish?cuttlefish是一种可配置的虚拟 Android 设备,既可以远程运行(使用第三方云产品,如 Google Cloud Engine),又可以在本地运行(在 Linux x86 机器上)。Cuttlefish 的目标使平台和应用开发者不再依赖于物理硬件来开发和验证代码更改。 通过与核心框架保持高度一致,以高保真度为重点来复制真实设备的基于框架的行为。 支持 API 级别 28 之后的所有 API 级别。 在各个 API 级别达到一致的功能水平,与物理硬.
2022-02-17 12:13:15
8143
3
原创 Android多开和虚拟化--Docker概念的详细介绍
本文只是对Docker的概念做了较为详细的介绍,并不涉及一些像Docker环境的安装以及Docker的一些常见操作和命令。通过阅读本文你将知道以下概念:容器什么是Docker?Docker思想、特点Docker容器主要解决什么问题容器 VS 虚拟机Docker基本概念:镜像(Image),容器(Container),仓库(Repository)
2022-02-16 12:03:30
4446
原创 使用 WorkManager 管理后台和前台工作
WorkManager 是应对长执行时间工作的推荐方案,推荐您使用 WorkManager 实现请求和取消长时间运行的工作任务。通过本文了解到如何以及何时使用加急工作 API,如何编写可靠的高性能多进程应用。
2022-02-16 11:51:30
2437
原创 Android基于Docker容器的双系统多开实现和自动化部署
本文技术涉及基于Docker容器的移动端双系统实现系统及方法,所述系统包括相互连接的内核层及应用程序层,其中,应用程序层包括Docker模块以及Docker模块根据Docker创建的多个容器,所述内核层包括LSM模块,所述LSM模块用于对多个容器内的进程进行访问控制。本文技术提供的基于Docker容器的移动端双系统实现系统及方法,可有效阻止Docker容器进程对宿主机中没有被隔离文件资源的访问,完善了Docker容器与宿主机之间的访问控制机制,可满足多元场景的实用性及移动端的安全性,同时又可以省去多个移动端
2022-01-20 12:12:02
9466
4
原创 Android12 Jetpack SplashScreen API总结
官方Android 12的Splash Screen文档地址官方Splash Screen兼容库,支持所有版本系统本篇文章主要围绕下面三个问题来介绍:我们能从Android 12 SplashScreen API里面学到什么?新出的SplashScreen兼容库又是什么?能做成什么样子?小甲同学:我想看Android12 SplashScreen源码,可以吗?SplashScreen使用首先我们需要把 compileSdk 和 targetSdk(可选) 升级到31 。Android1.
2021-10-19 19:25:55
2616
2
原创 对比Compose 、kotlin、flutter 移动端跨平台的未来。
此篇文章只讨论跨平台技术:你是否掌握了大部分Android开发需要的知识点呢?你是否完整的看完过一本Android基础入门的书呢?你的技术栈是否还是片面的一角?Kotlin Multiplatform Mobile ?jetpack 中的 Compose Multiplatform ?还是使用Dart 的 flutter ?还是选择html的方式 RN/Cordova /等……??1、html肯定没人会选,就像用eclipse开发一样,都是多少年前的事了。2、如果你不会kotlin,
2021-09-08 20:00:26
5084
5
原创 Android 11 限制反射,如何破解?
先来分析一下问题出现的原因我们看一眼Android 11 的源码,如下:static jobject Class_getDeclaredMethodInternal(JNIEnv* env, jobject javaThis, jstring name, jobjectArray args) { // …… Handle<mirror::Method> result = hs.NewHandle( mirror::Class::GetDeclaredMethodInte.
2021-09-07 14:24:03
2455
原创 Jetpack CameraX 最新最全解读-开发实践
本文可能是当下最新最全的CameraX解读,篇幅较长,慢慢享用。我们的生活已经越来越离不开相机,从自拍到直播,扫码再到VR等等。相机的优劣自然就成为了厂商竞相追逐的赛场。对于app开发者来说,如何快速驱动相机,提供优秀的拍摄体验,优化相机的使用功耗,是一直以来追求的目标。前言Android 5.0 时期Camera接口便已弃用,所以一般的做法是使用其替代者Camera2接口。但随着CameraX的出现,这个选择变得不再唯一。我们先来回顾下图像预览这一简单的需求,使用Camera...
2021-05-21 17:38:01
566
1
原创 Jetpack WorkManager的使用-完全解析
谷歌官方API介绍兼容范围广WorkManager最低能兼容API Level 14,并且不需要你的设备安装有Google Play Services。因此,你不用过于担心兼容性问题,因为API Level 14已经能够兼容几乎100%的设备了。WorkManager依据设备情况选择方案WorkManager能依据设备的情况,选择不同的执行方案。在API Level 23+,通过JobScheduler来完成任务,而在API Level 23以下的设备中,通过AlarmManager和B
2021-04-23 21:22:22
290
3
原创 Coil - Google推荐的协程图片加载库
随着Kotlin的转正,Glide不再是最佳选择。看一下Google极力推荐的Coil框架。GitHub:https://coil-kt.github.io/coil/Coil可以配合Kotlin协程实现图片加载,非常适合在Kotlin/Android项目中使用:性能优秀 体积较小:其包体积与Picasso相当,显著低于Glide和Fresco,仅仅只有1500个方法,但是在功能上却不输于其他同类库 简单易用:配合Kotlin扩展方法等语法优势,API简单易用 技术先进:基于Corouti
2021-04-09 18:48:24
1228
5
原创 Mac m2芯片 全量编译ijkplayer生成Android库
ijkplayer编译GitHub地址:https://github.com/Bilibili/ijkplayer最近做新人培训,讲了下编译过程,发现很多人拉不下代码,也编译不过去。我用一台新电脑重新梳理了一个新环境会遇到哪些坑,这里简单记录一下完整的内容和踩过的坑。1. 环境准备# install homebrew, git, yasmruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/mas
2021-04-09 18:18:05
1292
6
原创 Kotlin替换Dagger2/Hilt的依赖注入框架--Koin。
Koin、Dagger2、Hilt 目前都是非常流行的库,面对这么多层出不穷的新技术,我们该做如何选择,是一直困扰我们的一个问题。Hilt 与 Dagger2 区别并不大,Hilt就是对Dagger2的封装。Koin框架,适用于使用Kotlin开发 ,是一款轻量级的依赖注入框架,无代理,无代码生成,无反射。相对于Dagger2 而言Koin更加适合Kotlin语言。Koin官网:https://start.insert-koin.io/#/quickstart/kotlinGitHub:ht
2020-12-20 16:30:00
1123
3
原创 Android云手机平台搭建-2020圈钱热潮
这突如其来的投资大潮,《云手机》疫情期间在整个互联网行业掀起重磅性的热潮。刚刚在上月底百度紧锣密鼓的发布了自己百度云手机。市场上的云手机种类很多,主要服务于现在潮流的小工作室,引流、消息整合,群控云控等。所有的银行、服装品牌等都有云控,而且市场上最粗糙简陋的云控,几乎都供给银行使用了,我最佩服这些采购部门。。什么是云手机?云手机(Cloud Phone)是在云上运行APP的仿真手机。云手机服务根据不同场景提供多种规格的云手机,稳定24小时不间断,全面兼容Android原生APP,流畅运行大型手
2020-05-19 17:06:48
10657
2
原创 从Zygote孵化frameworks进程,分析StartActivity流程中intent传递数据的最大值。
当我们用Intent传输大数据时,有可能会出现错误:valintent=Intent(this@MainActivity,Main2Activity::class.java)valdata=ByteArray(1024*1024)intent.putExtra("111",data)startActivity(intent)如上我们传递了1M大小的数据时,结果...
2020-05-08 10:33:55
454
1
原创 Android 10.0相关权限的变更(使用WiFi Direct必须打开定位)
最近很多厂商推送了Android10.0 的ROM。Android之后,大量的App出现了闪退或者打不开,白屏等问题。获取定位权限注意:在Android10.0里,获取定位权限需要增加以下权限。<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION"/><!-- 关于...
2020-04-07 12:10:11
2601
2
原创 Android ROM定制 入门到精通(含改机、移植、破解网络层、root原理、植入hook框架,反安全监测等)
最近在定制一款ROM,拉取谷歌源码,解包、精简、修改、打包。想要实现MIUI一样的效果和国人常用的功能设置和手势。在这个过程中遇到了很多疑难问题,也发现公司刚招来的这些小孩基础太差,而且他们根本不知道去哪学习,怎么学习,学点啥才能编译ROM。我查了一下相关资料确实太少。系统点的书也是2011出版的,太古老了,这些年真正深入到系统层,framework层开发的人太少,但是随着市场淘汰了大批的技术...
2020-02-28 19:39:58
13772
32
原创 史上最全面 Android逆向培训之__Xposed使用
刚招来个Android,干了半个月辞职了,他走之后,成堆的bug被测了出来,都是这个新人代码都没看懂就开始改的一塌糊涂,还给提交了。实在是让人头疼,清理了一个月多月才把他半个月写的bug清理个差不多。实在是得不偿失。有了这个前车之鉴,不得不重视新人的岗前培训,毕竟面试找个来了就能上手的实在是太难了。《写给新手入职的培训资料》-- by 齐浩 2019/5/20 15:28推荐:...
2019-09-23 16:00:47
4596
2
原创 谷歌推荐Data Binding实现MVVM模式(完整文档)
Data Binding 类库这篇文档将教你如何运用 Data Binding 类库来编写声明试布局,并且尽量减少粘合代码对你的应用逻辑和布局上的绑定。Data Binding 是一种灵活和广泛兼容的类库,它是一个支持库,因此你可以在任何 Android 2.1(API level 7+) 以上的设备 使用。为了使用 Data Binding,Android Gradle 插件版本必须为 ...
2019-08-06 18:51:21
1012
原创 逆向PPTV视频真实播放地址全过程(Java版)
分析视频地址有什么用?有些朋友经常会问到这个问题,其实这也是思维肌肉训练的问题。我举一个宋老师讲过的例子(天气预报和投资机会之间的关系)。说加勒比海出现热带飓风,普通小白看到这个新闻就会想和自己有什么关系呢?但是经过训练的大脑就会上网查飓风的等级,在哪里着落,移动方位是怎么样的。因为他知道俄克拉荷马库欣是美国原油期货的交割地,飓风会造成原油淤积那里运不出去,结果是库存增加,原油价格下跌。你还在看...
2019-01-07 17:40:11
3026
4
原创 Android面向切面编程框架(AspectJ 讲解)
安装AspectJAndroid上的ApsectJ开发由几部分组成,AspectJ gradle插件,ApsectJ依赖,还有 AspectJ编译器。首先安装AspectJ编译器很简单,就跟安装JAVA环境一样,下载链接:http://www.eclipse.org/downloads/download.php?file=/tools/aspectj/aspectj-1.9.0.jar目...
2018-12-26 17:39:50
1070
2
原创 Charles 抓包 从入门到精通
Charles 激活方法在线破解,需要破解的可以点击这里查看。简介Charles是在 Mac 下常用的网络封包截取工具,在做移动开发时,我们为了调试与服务器端的网络通讯协议,常常需要截取网络封包来分析。Charles 通过将自己设置成系统的网络访问代理服务器,使得所有的网络访问请求都通过它来完成,从而实现了网络封包的截取和分析。除了在做移动开发中调试端口外,Charl...
2018-12-12 18:56:07
446
3
原创 异步编程:JDeferred 2.x 的使用(针对Android)
本库的地址:https://github.com/jdeferred/jdeferred依赖方法:implementation 'org.jdeferred.v2:jdeferred-android-aar:2.0.0-beta1'这个库是流式思想的实践,类同于rxjava,但更加简单(当然功能也没有rxjava强大)1,核心promise的方法:// 万能方法:可以传入Do...
2018-11-08 18:55:31
2149
1
原创 Android开发万能Utils(工具大全)
AndroidUtils Android开发不得不收藏的Utils之前写这篇文章主要是项目应用到的Utils,发现已经有一个更全面的开源库总结,所以还是非常震惊可以总结的这么全面,在此我准备重新梳理一遍~(一共两个库)GitHub地址:https://github.com/Blankj/AndroidUtilCode第一个库:Gradle:implementation 'co...
2018-10-09 18:49:39
19598
7
原创 gradle使用技巧之全局变量
我们常用的gradle设置全局变量的方式如下:${System.env.xx}rootProject.ext.xxgradle.buildToolsVersionAndroid Studio 3.0版本之后对gradle的配置支持越来越完善了。我们Android使用gradle工程,也经常使用gradle的各种便捷配置。但是gradle对于Android Studio的支持并没有想...
2018-10-07 19:36:49
12110
原创 最新Butterknife集成 全部方法(完整版)
集成分为了两部分:①仅仅在App主工程使用:在App的 build.gradle 中添加如下代码:版本号9之前的没有适配AndroidX,工程迁移AndroidX时会报错。dependencies { implementation 'com.jakewharton:butterknife:9.0.0-rc3' // 必须要有,不然无法绑定点击事件 annotationPr...
2018-09-25 11:20:10
2201
原创 Android studio 混淆打包 proguard-rules.pro 与 bulid.gradle 配置总结
现在写的app 基本都是经过混淆了的,如果不混淆, 发布出去,别人一反编译 就可以直接看你的源码了ok 来说一下混淆吧:build.gradle文件apply plugin: 'com.android.application'android { //签名文件 改为自己的路径 signingConfigs { config { ...
2017-07-04 18:12:05
6453
原创 android studio logcat 无筛选 显示全部日志 无应用包名区分
android studio logcat 无筛选 显示全部日志 无应用包名区分 不显示所有应用出现这个情况后很多同学无法解决,重启adb,重启studio,重启电脑,都是没用的。。。其实是有个开关选项关了。见截图:Tools->Android->Enable ADB Integration active.前面必须有个勾才可以。关于studio如何筛选日志,有部分同...
2017-07-03 18:15:52
7858
5
原创 android studio 初次使用Kotlin(环境准备篇)
谷歌在今年举行的I/O开发者大会上宣布,将Kotlin语言作为安卓开发的一级编程语言。Kotlin由JetBrains公司开发,与Java100%互通,并具备诸多Java尚不支持的新特性。。那么你知道Kotlin是什么吗?如果还不知道那就赶紧自行百度一下。关于Android studio 3.0之后集成Kotlin,目前2.3使用Kotlin与3.0会有什么区别呢,基本没什么区别。接下来
2017-06-02 15:46:09
4115
原创 Android studio2.3.1 更新以后Error:Failed to open zip file. Gradle's dependency cache may be corrupt
更新android studio 2.3.1之后,新建工程报错如图。。。更改gradle位置为studio内部gradle位置之后依然不行。。但是android studio 2.3版本好像可以。最终解决办法:下载一个gradle替换掉默认目录下的gradle。。地址:https://services.gradle.org/distributions/gradle-3.3-
2017-04-24 14:41:30
1053
原创 Android studio怎么配置javadoc生成项目API
最近正好在办理离职,交接的问题。。由于工作很多,写交接文档量非常的大,也容易出现疏漏。。由于之前是独立开发,自己封装框架和自定义样式及主题,所交接的东西实在太多。而且总监招来一个啥都不懂的新手,现在IT培训班都是骗子培训班了。你们懂得。。想多了都是泪,虽说目前Android正经的招聘信息寥寥无几,但是人活着总有自己的一些追求和想法。想到最坏的结果,并且毅然去做——就是在实现梦想的路上。
2017-03-20 15:50:42
827
原创 Android 自定义view的知识梳理。
关于越来越多的新手找不到自定义view的学习资料或者无法学会自定义view。本篇专门讲解一下初级进阶必经之路,自定义view。。我们先把自定义View细分一下,分为两种 A 自定义ViewGroup B 自定义ViewViewGroup 就是个容器,简单自定义我们一般采用继承特殊view或者ViewGroup 的方式。
2017-03-13 13:38:10
448
原创 Android 3D开发,OpenGL ES 的使用(一)
最近有人问OpenGL ES 的使用,我通过几行代码演示一下。不需要讲 来源 历史或大篇前奏。。通过短短的一段就能迅速理解OpenGL ES 初步使用方法,对OpenGL ES 有了大概的概念和感知。和其他view的使用一样: <GLSurfaceView android:id="@+id/gl_view" android:layout...
2017-03-09 00:56:52
4038
腿部自主拉伸.mp4
2020-05-19
xUtils-3.5.jar和使用示例
2018-09-05
Android高级进阶 顾浩鑫
2017-10-12
图片手势类
2017-07-20
React Native入门与实战
2017-03-23
拍照保存并上传服务器
2016-10-10
Android编程权威指南
2015-08-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人