`
liyixing1
  • 浏览: 959236 次
  • 性别: Icon_minigender_1
  • 来自: 江西上饶
社区版块
存档分类
最新评论

Android Studio开发第Xposed模块

阅读更多
需要提前了解的

根据个人的理解,Xposed模块本身是不需要运行的,只有当hook被调用时,Xposed会主动去唤醒对应的assets/xposed_init中指定的类,但唤醒本身不会让Active激活,所以hook本身不要直接调用本模块定义的Active

1.Android Studio创建项目
2.编辑AndroidMainifest.xml
新创建的内容是
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="lsiding.com.wechattools">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>


给标签application增加代码

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="lsiding.com.wechattools" >

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme" >
        <activity android:name=".MainActivity" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

<!--增加xposed模块配置-->
            <meta-data
            android:name="xposedmodule"
            android:value="true" />
<!--描述-->
        <meta-data
            android:name="xposeddescription"
            android:value="Easy example which makes the status bar clock red and adds a smiley" />
<!--xposed api最低版本要求-->
        <meta-data
            android:name="xposedminversion"
            android:value="54" />
    </application>

</manifest>



---------------------------------------------------------------------




3.增加依赖包到lib目录(注意这里不能使用libs目录,该目录在android studio中会以另外一个编译机制运行)








这里添加完依赖包后,需要修改依赖范围,(右击项目 Open Module Settings)改成Provided(编译时依赖,但是这个包不会直接打入apk,因为xposed 框架本身已经有这个包了,在唤起这个hook时,会把依赖包加入classpath运行)。






---------------------------------------------------------------------





4.增加一个新类(这个新类最好不要直接使用MainActivity,因为xposed无法初始化Activity的上下文,会造成这个类运行失败)

package lsiding.com.wechattools;

/**
 * hook 工具
 * Created by Administrator on 2017-11-11.
 */

import de.robv.android.xposed.IXposedHookLoadPackage;
import de.robv.android.xposed.XposedBridge;
import de.robv.android.xposed.callbacks.XC_LoadPackage.LoadPackageParam;

public class WechatHook  implements IXposedHookLoadPackage {
    public void handleLoadPackage(final LoadPackageParam lpparam) throws Throwable {
        XposedBridge.log("Loaded app: " + lpparam.packageName);
    }
}






---------------------------------------------------------------------




5.编辑assets/xposed_init

增加assets目录



增加文件
xposed_init

内容
lsiding.com.wechattools.WechatHook
这个是唤起hook需要调用的class

  • 大小: 93.3 KB
  • 大小: 79 KB
  • 大小: 89.4 KB
  • 大小: 96 KB
分享到:
评论

相关推荐

    xposed模块入门开发1

    - 当模块开发完成后,将其打包成APK并分享给其他用户,他们可以通过Xposed Installer来安装。 通过以上步骤,一个基本的Xposed模块就开发完成了。需要注意的是,由于涉及到系统级别的修改,开发过程中应尽量遵循...

    android_xposed:android xposed模块开发

    如何在xposed模块开发中安装存放在assets文件夹下的XposedInstall.apk? ok 如何不显示安装界面情况下安装assets文件夹下的XposedInstall.apk ok 静默安装后, 在模块程序中如何打开XposedInstall程序? 通过获取包名和...

    Android-xposed-ktx一个Kotlin写的Xposed的扩展项目

    4. **Lambda表达式和高阶函数**:Kotlin支持简洁的lambda表达式和高阶函数,使得事件处理和回调更加简洁、清晰,这在处理Xposed模块的事件监听时尤为方便。 5. **数据类和密封类**:Kotlin的数据类自动提供了equals...

    Xposed-api-82使用lib库.zip

    Xposed框架是Android系统上的一款强大的插件框架...总之,Xposed-api-82是为Android 4.3系统开发Xposed模块的基础,通过正确地使用这个库,开发者可以创造出各种强大的系统级功能,但同时也需要注意潜在的风险和挑战。

    xposed api-82

    - **模块开发流程**:创建一个Xposed模块通常涉及以下步骤:配置模块的AndroidManifest.xml,编写实现Xposed接口的类,打包成apk并安装到设备上。 - **适配不同Android版本**:由于Xposed API-82是针对API级别82的...

    XposedBridgeApi-82

    Xposed框架由德国开发者Rovo89开发,它的工作原理是利用Android系统的Zygote进程启动时的hook机制,将Xposed的核心库注入到系统中。Zygote是Android系统中的父进程,所有应用进程都是从Zygote克隆而来,因此,一旦...

    安卓开发xposed修改手机各项配置源码(as版)

    2. **Android Studio支持**:由于使用了Android Studio作为开发环境,开发者可以利用其强大的代码编辑、调试和构建工具,使得源码编写和模块开发更为便捷。AS提供了丰富的插件和集成的Gradle支持,便于管理依赖和...

    XPOSED依赖JAR包下载, XposedBridgeApi-89.jar

    Xposed模块也是一个Android程序,编译之后也是一个apk安装包。与普通程序不一样的地方是如下四点: 让EdXposed知道我们安装的这个程序是个xposed模块。 模块里要包含有xposed的API的jar包,以实现下一步的hook操作。...

    xposed实例

    3. **Xposed模块开发**:编写Xposed模块通常涉及到Java编程,需要对Android系统API和Xposed API有深入理解。开发者需要创建一个继承自`de.robv.android.xposed.IXposedHookZygoteInit`或`de.robv.android.xposed....

    Xposed API模块 JAR 54到89整合包

    使用Xposed API模块开发插件时,开发者需要具备以下基础知识: 1. **Java编程**:因为Xposed插件是用Java编写的,所以开发者需要熟悉Java语言。 2. **Android SDK**:理解Android系统的架构和SDK,包括如何使用...

    Xposed-Android-Studio-Project:适用于Android Studio的Xposed框架演示项目

    Xposed-Android-Studio-Project 适用于Android Studio的Xposed框架演示项目。 只需导入项目并开始构建xposed模块即可。 图书馆-XposedBridgeApi-54.jar 对于教程:

    Xposed学习资料整合

    "code(无Android studio)"可能是一些模块的源代码,对于开发者来说,这是一个很好的学习和参考素材,可以了解如何编写自己的Xposed模块。 总之,Xposed框架为Android用户提供了一个无限的自定义空间,无论是普通...

    xposedDemo

    总的来说,"xposedDemo"是一个旨在解决Xposed模块导致闪退问题的示例应用,它利用了Android Studio和Xposed框架的功能,通过hook技术来修正系统行为,保证应用的正常运行。对于想要学习Xposed框架和Android系统级...

    一个简单的xposed项目demo

    **Xposed模块开发流程:** 1. **环境准备**:首先,你需要一个已经root的Android设备,并且安装了Xposed Installer。 2. **创建项目**:使用Android Studio或其他IDE创建一个新的Android项目。 3. **添加依赖**:在`...

    xposed application Template

    总之,"xposed application Template"为开发者提供了一个快速启动Xposed模块开发的基础,只需根据自身的项目需求进行相应的修改和扩展,即可构建出强大的系统级功能插件。在实际操作中,务必了解和遵循Android的编程...

    xposed-v88-sdk25-x86.zip

    由于许多开发工具,如 Android Studio,提供了多种版本的 SDK 平台,选择正确的 Xposed 版本对于确保与模拟器兼容至关重要。 标签 "android"、"安卓模拟器" 和 "xposed" 强调了这个压缩包的核心主题:Android 系统...

    Android代码-dumpDex

    下载源码编译或者下载apk包并安装,应用xposed模块后重启,运行加固的应用后,插件会自动将dex文件dump到 /data/data/包名/dump 目录 apk文件不会实时更新,获取最新apk请自行编译源码 源码编译 将源码下载或者clone...

    Android微信机器人源码

    Android微信机器人源码即Xposed模块,基于Xposed框架开发,接入讯飞星火大模型,可以实现聊天消息自动回复,基于微信8.0.43版本,将源码下载后,添加到代码里自己申请的讯飞API Key相关信息,编译成Apk,在对应的...

    AS_XposedModule.rar

    通过AS_XposedModule,开发者可以学习如何利用Xposed框架进行Android系统的底层修改,理解hook机制,以及如何在Android Studio中创建和调试Xposed模块。这对于那些希望深入定制Android系统或开发个性化插件的开发者...

    WiFiKeyView:用于显示上下文菜单项的 XPosed 模块,该菜单项将使用 WiFi 密码生成吐司

    此模块的核心是 Java 代码实现,因为 Android 系统主要使用 Java 和 Kotlin 作为开发语言。开发者利用 Android SDK 中的相关 API,如 WiFiManager 和 KeyStore,来获取和解析 WiFi 密码。KeyStore 系统服务用于存储...

Global site tag (gtag.js) - Google Analytics