- 博客(152)
- 资源 (61)
- 问答 (4)
- 收藏
- 关注
原创 Android 中集成 Google 应用内评分
需注意,应用内评价只适用于搭载 Android 5.0(API 级别 21)或更高版本且安装了 Google Play 商店的 Android 设备,并且应用必须使用 1.8.0 或更高版本的 Play Core 库。同时,为提供优质用户体验,Google Play 会强制执行限时配额,规定系统向用户显示评价对话框的频率,因此不要频繁调用相关方法。如果请求成功,将返回启动应用内评价流程所需的。在确定适合提示用户进行评价的阶段,使用。
2025-04-02 00:00:00
203
原创 android 查看手机 apk 安装路径
使用时,需先确保设备已通过 USB 线连接电脑且开启 USB 调试模式,电脑也配置好了 adb 环境。在命令行窗口输入该指令回车执行,即可获取对应应用。是 Android Debug Bridge(adb)命令行工具中的一条指令。作用是打印出指定已安装应用包(这里是。文件在设备中的存储路径。比如,若执行该命令的设备上安装了微信,运行。文件在设备里的存放位置。
2025-04-01 16:30:23
199
原创 Android 集成 Facebook 登录
通过以上步骤,你可以实现一个稳定且用户友好的 Facebook 登录功能。如果遇到问题,建议优先检查 。
2025-04-01 16:20:50
916
原创 如何在拦截器中修改请求头或请求体?
以下是如何在// 创建 OkHttpClient 并添加拦截器.build();// 创建请求.build()).build();// 发起请求// 处理响应} else {在上述代码中,创建了一个实例,并添加了和两个拦截器。然后创建一个包含表单数据的请求,并发起请求。最后根据响应结果进行相应的处理。
2025-03-29 01:30:00
299
原创 如何编写一个自定义的OkHttp拦截器?
/ 自定义日志拦截器类@Override// 获取原始请求// 记录请求信息// 继续处理请求,获取响应// 记录响应信息// 自定义请求头拦截器类// 构造函数,用于传入请求头的名称和值@Override// 获取原始请求// 创建新的请求,添加自定义请求头.build();// 继续处理修改后的请求以下是如何在中使用上述自定义拦截器的示例:// 创建 OkHttpClient 并添加拦截器.build();
2025-03-28 10:33:45
216
原创 OkHttp的拦截器是如何工作的?
OkHttp 中的拦截器本质上是实现了接口的类。该接口定义了一个intercept方法,在这个方法中可以对请求进行修改、添加额外的处理逻辑,也可以对响应进行处理。当发起一个网络请求时,OkHttp 会按照一定的顺序依次调用各个拦截器,每个拦截器都有机会对请求和响应进行处理,处理完成后将请求传递给下一个拦截器,直到最终得到响应并依次返回。
2025-03-28 10:31:38
599
原创 NDK版本不兼容可能会导致哪些问题?
当 NDK(Native Development Kit)版本不兼容时,可能会引发一系列不同类型的问题,以下从编译构建、运行时、功能使用以及依赖库方面为你详细介绍:
2025-03-27 17:08:10
401
原创 android 一步完成 aab 安装到手机
家人们谁懂!在 Android 系统安装 aab 应用超麻烦。满心期待快速体验,却发现 aab 无法直装,得先转为 apks 格式,这过程复杂易错。好不容易转好,还得安装 apks,一番折腾,时间与耐心全耗尽。别愁,其实有简便安装方案,快随我来一探究竟。使用&&app.apks&&
2025-03-27 11:56:46
539
原创 Android Gradle 插件(AGP)版本与 Gradle 版本需要严格对应
通过合理选择 AGP 和 Gradle 版本,可以避免构建问题并充分利用新特性。如果使用第三方库(如 Dagger、Retrofit),检查其文档是否支持新版 AGP。Android Studio 会提示同步,点击 。升级后若出现编译错误,需查阅 官方迁移指南。
2025-03-27 10:02:11
735
原创 Android Studio 最新版(2023+) 的 build.gradle 配置详解
✅ 更清晰的依赖版本控制。✅ 更好的多模块协作支持。✅ 更快的增量编译速度。✅ 更安全的签名管理。
2025-03-26 17:31:44
716
原创 90%开发者都中招!Google支付集成中的隐秘陷阱与反杀攻略
在服务器端使用 Google Play Developer API 验证。在商品配置中勾选所有目标国家,并检查设备时区/语言设置。本地数据库与 Google Play 服务状态不同步。未在 Google Play 控制台设置本地化价格。未在 ProGuard 中配置混淆规则导致类找不到。未在 Google Play 控制台正确配置。Google Play 控制台中未配置商品的。本地缓存未及时清除,残留旧账号的购买信息。在控制台为每个商品添加多语言/多地区定价。在控制台添加测试账号,并在代码中通过。
2025-03-25 00:00:00
869
原创 android 去掉状态栏的方法汇总
在 Android 开发中,隐藏或去除状态栏(Status Bar)有多种方法,具体实现方式取决于应用场景和目标 Android 版本。以下是常用的 及其代码示例:在 Android 开发中,隐藏或去除状态栏(Status Bar)有多种方法,具体实现方式取决于应用场景和目标 Android 版本。以下是常用的 。
2025-03-24 14:49:27
404
原创 Android 接入 Google 支付(Google Play Billing)
在发布应用之前,你需要进行充分的测试,确保支付流程正常工作。可以使用 Google Play 控制台的测试账号进行测试。测试通过后,就可以将应用正式发布到 Google Play 商店。在 Google Play 控制台中,为你的应用配置内购商品(一次性购买)或订阅商品。你需要提供商品的名称、描述、价格等信息。在你的 Android 项目中,添加 Google Play Billing 库的依赖。当用户完成购买后,你需要处理购买结果并确认购买。这可以防止用户重复购买。
2025-03-24 10:49:38
317
原创 android Firebase Cloud Messaging (FCM) 接入
【代码】android Firebase Cloud Messaging (FCM) 接入。
2025-03-22 10:00:00
997
1
原创 android 接入google 登录
在 Android 应用中接入 Google 登录功能,可让用户使用他们的 Google 账号快速登录应用。
2025-03-21 15:41:06
528
原创 Android 接 Twitter Share ,常见问题及解决方案
替换为你在 Twitter 开发者平台获取的实际 API 密钥和密钥密码。这样就可以在 Android 应用中实现基本的 Twitter 分享功能啦。在上述代码中,需要将。
2025-03-21 15:23:46
1079
原创 android facebook 分享到 messenger
在 Android 应用中实现分享内容到 Facebook Messenger,可以使用。在应用的设置中,添加 Android 平台,并配置包名和默认活动。),Messenger 会自动抓取这些信息生成富媒体卡片。应用签名是否与 Facebook 后台配置的匹配。替换为你的 Facebook App ID。使用 Facebook SDK 提供的。Facebook 开发者平台中的。创建一个新应用,并获取。
2025-03-21 14:23:02
472
原创 Android集成Facebook登录与分享的常见问题及解决方案
或未在添加正确的密钥哈希Debug/Release密钥哈希混淆(如用调试密钥打包正式APK):点击登录按钮后无跳转,或返回onCancel()未正确配置中的<activity>或未启用Facebook应用或测试权限进入→ 设置 → 高级 → 启用「应用可访问性」添加测试用户:角色 → 测试用户 → 新建。
2025-03-21 14:07:10
891
原创 安全漏洞:明文存储与组件暴露
Activity/BroadcastReceiver未设权限被恶意调用。SharedPreferences未加密存储敏感数据。
2025-03-21 12:17:41
196
原创 内存泄漏:非静态内部类持有Activity引用
Activity销毁后仍被内部类(如Handler、Runnable)隐式持有,导致无法回收,频繁触发GC,引发OOM。
2025-03-21 12:15:44
210
原创 android adjust 卸载与重装监测
打开您的选择与 Firebase 项目关联的 Google Cloud 项目。搜索IAM & 管理员 (IAM & Admin)。从侧栏菜单中选择角色 (Roles)。选择+ 新建角色 (Create Role)。输入以下详细信息:TitleID选择+ 添加权限 (Add Permissions)。在输入属性名称或值 (Enter property name or value)字段中输入并从搜索结果中进行选择。勾选选项,然后选择添加 (Add)。选择创建。
2025-03-21 11:47:30
604
原创 记录 google UMP (User Messaging Platform ) SDK 接入
为了遵守《欧盟地区用户意见征求政策》,使用发布商产品(Google AdSense、Ad Manager 或 AdMob)的合作伙伴在向以下地区的用户投放个性化广告时,必须使用经 Google 认证且与 IAB 的透明度和用户意见征求框架 (TCF) 集成的意见征求管理平台 (CMP)
2025-03-21 11:04:41
142
原创 Facebook 获取 token 变动
Log.e("测试", "onCurrentAccessTokenChanged: "+ accessToken.isExpired() );* @param oldAccessToken 变更前的访问令牌。* @param accessToken 新的访问令牌。类关注当前的访问口令变动。
2025-02-06 10:46:49
219
原创 google 应用内评价
在应用内拉起 google 评价弹窗,用户提交 Play 商店的评分和评价,无需退出应用或游戏。应用内评价在应用的整个过程中随时触发。用户可以使用 1 到 5 星系统对您的应用进行评分,还可以选择添加评论。评价提交后将发送到 Play 商店并最终显示。设备要求:需要安装了 Google Play 商店的设备且设备系统在Android 5.0(API 级别 21)或更高版本的 Android 设备。
2024-07-15 15:03:06
2131
原创 kotlin 防范竞态
当你调用成员,这个成员可能为null,可能为空值,就必须采用。防范竞态条件【尽量使用?+ 内置函数 + 空合并操作符】条件,这个是 KT 编程的规范化。
2023-11-25 10:53:12
520
原创 kotlin 内置函数对数组进行各种操作
find():用于在数组中查找符合指定条件的元素,并返回该元素。distinctBy():根据指定条件去除重复元素。
2023-11-23 17:48:07
954
原创 java MessageDigest 实现加密算法
MessageDigest 是 Java 中的一个类,用于实现加密算法,例如 SHA-256、SHA-512、MD5 等。它可以将任意长度的数据转换为固定长度的哈希值,通常用于密码验证、数字签名等场景。
2023-11-17 10:56:06
526
原创 在 Android App Bundle (AAB) 文件中MANIFEST.MF、BATTLECH.RSA 和 BATTLECH.SF 分别是???
这三个文件一起构成了 Android App Bundle 文件的数字签名,用于确保 AAB 文件在传输和安装过程中没有被篡改或恶意修改。
2023-11-15 11:31:52
327
原创 android debug 签名文件的别名和秘钥是什么???
当您在 Android Studio 中创建一个新的 Android 项目时,它会自动为您生成一个 Debug 签名文件,用于在开发和调试过程中对应用进行签名。,Debug 签名文件仅用于开发和调试目的,并不适合用于正式发布应用。在正式发布应用之前,您需要使用自己的正式签名证书对应用进行签名。这些是默认值,您可以在 Android Studio 的项目配置中找到这些值。Debug 签名文件的。
2023-11-15 11:29:43
399
原创 kotlin 字符串转整形
"转换失败")//这里,使用了 Elvis 运算符?否则打印字符串 "转换失败"。//-------------- 字符串转整形的操作,尽量使用 toIntOrNull() 函数完成 -----------------//-------------- 字符串转整形的操作,尽量使用 toIntOrNull() 函数完成 -----------------val age2:Int = "666.6".toInt() //这里会崩溃。//字符串里面放入 Double 类型,无法转换成 Int 的,会奔溃。
2023-11-14 16:25:39
344
原创 android 闪屏图适配尺寸
以下是 Android 启动画面图像的一些最常见尺寸: 320 x 480像素(肖像) 480 x 320像素(横向) 480 x 800像素(肖像) 800 x 480像素(横向) 720 x 1280像素(肖像) 1280 x 720像素(横向) 1080 x 1920 像素(外观) 1920 x 1080 像素(横向)如果您提供了多个大小的启动画面图像,Android 会根据设备的屏幕密度自动选择最合适的图像。res/drawable-xhdpi(1080 x 1920 像素)
2023-11-09 11:11:54
748
TA创建的收藏夹 TA关注的收藏夹
TA关注的人