# Android SO详解 在Android平台上,SO(Shared Object)是用C或C++编写的动态链接库,通常用于提高性能或实现特定的底层功能。SO的引入,使得开发者能够利用硬件加速或操作系统的底层功能,从而提升应用程序的整体性能。本文将详细探讨Android SO的基本概念、创建和使用SO的步骤,以及在Android项目中的应用实例。 ## 1. 什么是SO? S
原创 9月前
71阅读
语法:<uses-library       android:name="string"             android:required=["true" | "false"] />被包含于<application>中例如:<applicat
转载 2023-06-29 22:23:32
159阅读
# Android马甲及其实现 在Android应用程序开发中,我们常常听到“马甲”这个术语。它旨在通过不同的名和签名实现同一应用的多种变体,便于在市场上进行推广和测试。本文将深入探讨Android马甲的概念、实现过程以及相关的代码示例。 ## 什么是Android马甲 Android马甲又称为Flavors、Variants或Skins。它是一种封装技术,允许开发者在不改变核心
原创 9月前
188阅读
我们在2016年重写的Uber乘客App带来了丰富的功能和流畅的体验,并支持Uber的一系列产品(从uberPOOL到uberXL)和未来体验可扩展性(如JUMP Bikes)。Uber乘客App适用于全球市场,支持50种语言和30种支付方式,并且这些数字还在增加中。尽管我们让这个App尽可能高效,但它的功能还是导致其体积超过了60MB,使用了更多的网络带宽,并要求乘客的手机需要具备特定的硬件性能
# Android SO依赖重复问题及解决方案 在Android开发过程中,我们经常会遇到SO依赖重复的问题。SOAndroid平台上的动态链接库,用于实现一些特定的功能。但是,如果多个库依赖了同一个SO,就可能出现重复的问题,导致应用体积增大,甚至出现兼容性问题。 ## SO依赖重复的原因 SO依赖重复的主要原因是库之间的依赖关系没有得到合理的管理。例如,如果库A依赖了SO
原创 2024-07-28 07:39:08
234阅读
从事Android 已有2 、3年光景,但一直没有深入了解过混淆,和深入学习探究过混淆,只是知道有这么一个topic,直到前些天,遇到了一个问题 下定决心系统学习相关知识点。问题来源:自己再debug状态下没有任何问题,但是打了release就有问题,要不是闪退,要不就是网络请求没有效果,数据请求错误。然后自己把release的混淆关闭,一切也没有问题,这个时候可以锁定问题出在混淆上了。于是乎,
Android相关LOCAL_CPPFLAGS := -Wno-sign-promo -Wno-missing-field-initializers -fvisibility=hidden -fvisibility-inlines-hidden如果函数不添加 __attribute__((visibility ("default")))其它依赖的文件
原创 2022-05-06 22:08:18
104阅读
# 安卓防抓 So 实现指南 ## 1. 引言 在移动应用开发中,保护应用的数据安全尤为重要。特别是在安卓开发中,使用网络传输的数据可能会被黑客拦截和篡改,导致隐私泄露或数据安全问题。为了防止这种情况,我们可以通过防抓的技术来加固我们的应用。本文将详细介绍如何在安卓应用中实现防抓措施,包括具体步骤和代码示例。 ## 2. 流程概述 防抓的实施可以分为以下几个步骤: | 阶段
原创 2024-09-10 05:28:20
70阅读
 因为最近业务上涉及安全的问题然后有一些加密解密的方法和key的存储问题本来想存储到手机里面,但是网上说一般敏感信息不要存储到手机Sdcard上而且我这个如果从网络建立通信获取的话,又太耗时,所以黑客论坛上就有人建议把加密解密的关键信息写在so里,然后从so里面调用要想破解so就涉及到汇编语言的,这个没功力的话一般做不成的 O(∩_∩)O  作者:Andye大体流程 
转载 2024-08-14 16:20:27
34阅读
  应用程序二进制接口(Application Binary Interface)定义了二进制文件(尤其是.so文件)如何运行在相应的系统平台上,从使用的指令集,内存对齐到可用的系统函数库。在Android 系统上,每一个CPU架构对应一个ABI:armeabi,armeabi-v7a,x86,mips,arm64- v8a,mips64,x86_64。  so文件和jar存放到工程的libs目
转载 2023-07-02 17:07:20
319阅读
最近正好也用了Smalidea,就ZZ的原贴做一些补充。可调试APP如果Android的系统属性ro.debuggable等于1(用getprop ro.debuggable验证),则所有APP都可调试。如果ro.debuggable等于0,某APP的AndroidManifest.xml中有android:debuggable=”true”,该APP可调试。对于模拟器,ro.debuggable
Android开发中,使用`so`(Shared Object)文件进行本地库的调用,是高效实现特定功能的一种方法。尤其是在需要使用C/C++编写性能密集型代码时,这种做法显得尤为重要。下面就来详细说明一下在Android使用`so`文件的整个过程。 ## 环境准备 首先,我们需要准备好适合开发的环境。以下是目前Android开发中与`so`文件兼容的技术栈情况: ```mermaid
原创 6月前
81阅读
# Android 使用so库 在Android开发中,我们经常会使用so库(Shared Object Library),这是一种用C/C++编写的动态链接库,可以为我们的应用提供更高效的性能和更多的功能。本文将介绍如何在Android项目中使用so库,并附上代码示例。 ## 为什么使用so库 在Android应用中,有些功能可能无法用Java实现,或者用Java实现性能不够好。这时我们
原创 2024-03-13 07:31:14
212阅读
# Android SO如何使用 Android SO(System Overlay)是一种可以显示在其他应用之上的视图,可以用于实现悬浮窗、全局操作按钮等功能。在本文中,我们将介绍如何在Android应用中使用Android SO。 ## 准备工作 在开始使用Android SO之前,我们需要在AndroidManifest.xml文件中添加权限声明: ```xml ``` ## 创
原创 2024-05-01 03:38:59
64阅读
我们在项目的开发过程中,避免不了的是引入一些第三方的应用,如果是开源的三方,那么风险还是比较好把控的,若是一些商用的 SDK 那么就要小心了,难免会遇到说在其他的手机上运行没有问题,但是在华为 Mate 8 上运行却有问题的情况。大概情况如下描述:问题及解决方案描述第一个项目 libs 文件中有 arm64-v8a、armeabi、armeabi-v7a第二项项目 libs 文件中有 armeab
一、前言Google Play要求八月份起新应用须打包为AAB格式,开发者上传打包文件整合成aab格式,根据不同的处理器/分辨率等下载对应的安装,减少冗余,所以安装会减小。二、Android App Bundle(AAB)Android App Bundle 是一种发布格式,其中包含您应用的所有经过编译的代码和资源,它会将 APK 生成及签名交由 Google Play 来完成。 使用 And
转载 2023-09-28 11:07:15
78阅读
动态加载的优点静态加载,不灵活,apk 有可能大。所以采用动态加载 so 库文件,有以下几点好处:灵活,so 文件可以动态加载,不是绑定死的,修改方便,so 库有问题,我们可以动态更新。so 库文件很大的话,采用动态加载可以减少 apk 的,变小。其实我们常用第三方 so 库,单个可能没问题,如果多个第三方 so 库文件,同时加载可能会出现冲突,而动态加载就能够解决这一问题。注意路径陷阱动态加
转载 2023-07-27 13:35:58
349阅读
 一、前言  总结一下这两天学习的Android注入so文件,通过遍历got表hook函数调用  1.注入so文件  2.so文件中遍历got表hook函数 二、注入so文件  1)注入进程  1.编程思路分为以下几个步骤  ①.每个进程都在/proc目录下,以进程id为文件夹名,所以可以通过/proc/<pid>/cmdline文件中中读取进程名称,和我们需要注入
## 动态加载 SO 包在 Qt for Android 中的实现 在 Android 的开发中,使用动态链接库(即 SO 文件)是一个常见的需求。动态加载 SO 可以让应用在运行时根据需要加载不同的功能模块,提高了灵活性和扩展性。本文将详细介绍如何在 Qt for Android 中实现动态加载 SO 的过程。 ### 流程概述 以下是实现动态加载 SO 的主要步骤: | 步骤
原创 8月前
97阅读
总结:1.名和签名都相同的apk才能替换; 2.通过修改AndroidManifest.xml中的android:label="@string/app_name"可以修改apk安装后的显示名称; 3.在eclipse中通过run as安装的apk是使用系统默认的签名; ======================== 1.签名的意义   为了保证每个应用程序开发商合
转载 2023-09-11 20:55:33
0阅读
  • 1
  • 2
  • 3
  • 4
  • 5