Android

安卓开发

  • Android中集成Speex录制音频压缩和解压播放示例

    Android中集成Speex录制音频压缩和解压播放示例

    Speex是一套主要针对语音的开源免费,无专利保护的音频压缩格式。 官网:https://www.speex.org/ 下载最新版:https://www.speex.org/downloads/ 解压后,得到 include 、 libspeex 两个文件夹,里面是h和c源码文件。 1.创建安卓工程并集成cpp 首先 将上面include 、 libspeex 两个文件夹放到cpp目录,并创建CMakeLists.txt编译入口文件和UtilSpeex.cpp...

  • Android录音实时回放示例

    Android录音实时回放示例

    本例设备: 小米note3 MIUI 12.0.1 Android 9 相关词:回放、蓝牙、耳机、录音。 android中支持的音频输出设备类型: AudioDeviceInfo[] devices = audoManager.getDevices(AudioManager.GET_DEVICES_OUTPUTS); AudioDeviceInfo info; int type = info.getType(); 0 TYPE_UNKNOWN 与未知或未初始化设备关联的设备类型 1 TYPE_BUILTIN_EARPIECE 所连...

  • ActivityResultContract找不到的情况

    ActivityResultContract找不到的情况

    项目/app/build.gradle/dependencies中, [crayon-6637840b974e2496053622/] 从这里看 https://mvnrepository.com/artifact/androidx.appcompat/appcompat 发布于Jun 01, 2022的appcompat1.4.2版本,编译依赖项有8个: ● androidx.activity:activity:1.2.4 ● androidx.annotation:annotation:1.3.0 ● androidx.appcompat:appcompat-resources:1.4.2 ● and...

  • uiautomatorviewer抓取Android页面失败的处理

    uiautomatorviewer抓取Android页面失败的处理

    本例场景: 手机:小米2SC,安卓5.0.2/MUI9.2;小米Note3,安卓9/MUI12 ERROR: null root node returned by UiTestAutomationBridge. Error while obtaining UI hierarchy XML file: com.android.ddmlib.SyncException :Remote object doesn't exits! https://blog.csdn.net/q915730058/article/details/108150792 https://blog.csdn.net/qq_40280920/ar...

  • Android桌面图标长按快捷菜单示例

    Android桌面图标长按快捷菜单示例

    Android 7.1.1 25 Nougat N_MR1 牛轧糖。 示例场景:             --> 功能页E 闪屏A --> 登录B --> 主页C --> 功能页D             --> 功能页F 快捷菜单--------------------------> 功能页D 正常进入C后,A和B都是销毁(finish)的。C保持存活,C退出即程序结束。 从C可以进入D或者E或者F。然后从桌面快捷菜单...

  • 组件化时使用Butterknife出现错误: 元素值必须为常量表达式

    组件化时使用Butterknife出现错误: 元素值必须为常量表达式

    首先在工程的根build.gradle里配置[crayon-6637840b97ed0385839031/] 然后在基础库组件中引入[crayon-6637840b97ed8813291658/] 最后在UI相关组件中引用基础库组件,即自动引入了Butterknife[crayon-6637840b97edd932042187/] 最终代码里使用“R2”访问view。[crayon-6637840b97ee1991272660/] - end

  • 自定义和源图片大小匹配的ImageView及带文字导出bitmap

    自定义和源图片大小匹配的ImageView及带文字导出bitmap

    使用 [crayon-6637840b9831f234636123/] 自定义View [crayon-6637840b98327775333347/] - end

  • Intent调用其它app时的FileProvider相关

    Intent调用其它app时的FileProvider相关

    本例的SDKversion: [crayon-6637840b98797615683066/] AndroidManifest.xml [crayon-6637840b9879f889964238/] src/main/res/xml/file_paths.xml [crayon-6637840b987a5779855888/] 文件工具类: [crayon-6637840b987ac328823227/] 在Intent中使用 [crayon-6637840b987b0557372381/] - end

  • android中创建目录或文件MediaProvider: Creating a non-default top level directory or deleting an existing one is not allowed!

    android中创建目录或文件MediaProvider: Creating a non-default top level directory or deleting an existing one is not allowed!

    Android10,11中因为文件管理权限更加严格出现的问题。 使用 File mkdirs 或 creatNewFile 时,代码执行但没有创建,系统日志 MediaProvider: Creating a non-default top level directory or deleting an existing one is not allowed! 调用目标文件时,直接报错 no such file or directory。 方案1: 把 targetSdkVersion 和 compileSdkVersion 改为小于 ...

  • Android工程组件化配置

    Android工程组件化配置

    示例代码:https://gitee.com/vigiles/component-app-demo 业务比较庞杂的应用,通常开发团队也很大,人员众多。对业务进行梳理后划分为可独立的n个部分,每个部分由一个人或团队进行开发。开发中这个部分可以进行独立的运行及调试。 业务层有若干可独立的业务组件,业务组件直接没有依赖关系。业务层的组件有library和application两个状态。 基础功能层的...

  • 替身版Android插件化方案

    替身版Android插件化方案

    示例代码: https://gitee.com/vigiles/ghost-plugin-demo 1.项目 1.1.宿主 打开AndroidStudio,新建项目,PhoneAndTablet项目。 填写配置信息。 默认入口宿主模块是app。 1.2.中间人 创建一个新的模块。 模块类型是Library。填写模块名及其它配置。 模块内默认为空。 1.3.插件 新建模块。 类型和入口模块相同,Pho...

  • Android集成百度地图SDK和定位SDK时的几个新鲜事

    Android集成百度地图SDK和定位SDK时的几个新鲜事

    https://lbsyun.baidu.com/index.php?title=androidsdk https://lbsyun.baidu.com/index.php?title=android-locsdk 在官方api上没看到有相关说明,这里记录一下。 本文百度sdk版本: BaiduMapSDK_Location_All:9.3.7 全量定位组件 BaiduMapSDK_Map:7.5.4 地图组件 1.BaiduMap配置 有时setMaxAndMinZoomLevel出现无效的情况,发现是代码顺序的问题。 [cray...

  • Android中集成百度地图SDK

    Android中集成百度地图SDK

    以百度地图SDK 9.3.7 为例。 1.百度地图开放平台创建应用 按此注册开发者账号 https://lbsyun.baidu.com/index.php?title=android-locsdk/quick-start/start 1.1.app签名文件sha1提取 【1】AndroidStudio默认的调试版签名文件在用户名下的.android目录中。直接在AS里点Run时,使用此签名。此签名密码为androi或空: 使用jdk/bin/keytool工具获取sha1: ...

  • LibGdx1.9.10的一个demo

    LibGdx1.9.10的一个demo

    https://libgdx.com/ 官方扩展库: Bullet:三维碰撞检测和刚体动力学库。 FreeType: 可缩放字体。非常适合动态操作字体大小。但是,请注意,如果您针对HTML目标进行交叉编译,那么它就不适用于该目标。 Tools: 一套工具,包括:粒子编辑器(2d/3d)、位图字体和图像纹理打包器。 Controllers:用于处理控制器(例如:XBox 360控制器)。 Box2d: 2D物理库 B...

  • 基于UiAutomator2的一个微信自动加好友脚本

    基于UiAutomator2的一个微信自动加好友脚本

    手机:HUAWEI,DIG-AL00,EMUI4.1,Android6.0 微信:6.7.3 不同手机上,或者不同版本的微信,控件的ID、文本也不尽相同;根据屏幕位置进行的操作更要做好适配。 黑产,灰产,群控,刷量 1.1启动微信 [crayon-6637840b9a7f1773617602/] 1.2切换首页的标签页 [crayon-6637840b9a7f9221405632/] 1.3滑动到通讯录顶部 [crayon-6637840b9a7fe415561340...

  • Mac中通过python3+UiAutomator2+WEditor测试环境

    Mac中通过python3+UiAutomator2+WEditor测试环境

    参考,https://testerhome.com/topics/11357 似乎还在开发阶段不够完善。 黑产,灰产,群控,刷量 一.Adb准备 仅使用adb程序,不必完全下载sdk。配置到环境变量。略。 二.Python3准备 1.安装brew [crayon-6637840b9ad76336200356/] 2.验证Mac已有python [crayon-6637840b9ad7d683803130/] 退出pythonshell [crayon-6637840b9ad82312049064/...