Results 18 comments of androidmalin

1. 克隆代码, 切到 develop_kotlin 分支 `git clone [email protected]:androidmalin/AndroidComponentPlugin.git -b develop_kotlin` 2. 运行根目录下的 build_debug_apk.sh脚本, 生成插件demo apk, 拷贝到宿主目录, 安装宿主apk `./build_debug_apk.sh` 3. 安装后看看效果, 能不能正常启动插件.

你可以仔细看看, 插件apk工程中的代码 插件Activity 需要继承自BaseActivity, 插件中的上下文context需要从插件apk中 获取 Resources 的 https://github.com/androidmalin/AndroidComponentPlugin/blob/develop_kotlin/pluginapk/src/main/java/com/malin/plugin/PluginAppCompatActivity.kt#L17C33-L17C41 https://github.com/androidmalin/AndroidComponentPlugin/blob/develop_kotlin/pluginapk/src/main/java/com/malin/plugin/BaseActivity.kt#L21 https://github.com/androidmalin/AndroidComponentPlugin/blob/develop_kotlin/pluginapk/src/main/java/com/malin/plugin/PluginResourceUtil.kt#L23C47-L23C58 你是在自己的代码中使用的吧? 在公司项目里使用的话, 推荐你 用 腾讯的插件化框架 https://github.com/Tencent/Shadow

你需要修改一下插件工程中的代码 https://github.com/androidmalin/AndroidComponentPlugin/blob/develop_kotlin/pluginapk/src/main/java/com/malin/plugin/BaseActivity.kt#L17C72-L17C72 ```kotlin hostAppClazz = Class.forName("com.malin.hook.MApplication") ``` 把"com.malin.hook.MApplication" 改成你的宿主工程中自定义的Application的全路径名称. "com.malin.hook.MApplication" 这个类全称来自于demo的宿主工程 代码如下 https://github.com/androidmalin/AndroidComponentPlugin/blob/develop_kotlin/app/src/main/java/com/malin/hook/MApplication.kt#L9 https://github.com/androidmalin/AndroidComponentPlugin/blob/develop_kotlin/app/src/main/AndroidManifest.xml#L6

抱歉, 最近一直很忙, 没有时间看github上你的留言. ``` 找到了问题所在了,还是资源问题,插件中加载了宿主的类,但是资源又是插件自身的,主要还是插件的类和宿主的类的资源id不一样 ``` Demo工程里的代码, 是不是也有这种问题呢? 你可以在你的fork项目里, 改一下, 提交一下代码, 我学习一下.

@liu1352183717 刚看到, 你还在研究呀, 好有毅力!

I add demo code in develop_kotlin branch, you can pull the latest code again. detail: pluginapk module add `com.google.android.material:material:1.6.1` pluginapk module plugin_activity.xml add `com.google.android.material.button.MaterialButton` bug fixed logic in `pluginapk/src/main/java/com/malin/plugin/BaseActivity.java` ```java...

@bisaalz I have a question. Where is this directory "oc/kext" ? The file you provided is a compressed package. This package has two file HoRNDIS-9.2.pkg and HoRNDIS.kext.

@bisaalz thank you very much, I try it, It didn't work in mac os big sur.