开发原生插件,调用第三方智能锁 SDK 卡在最后一步
let testModule = uni.requireNativePlugin("TestModule")
在Android Studio 中可以正常调用调试,打包成arr 点击按钮没反应(包括自己写的按钮,原来官方给的 demo “拓展 module” 的三个按钮“testAsyncFunc” “testSyncFunc” “跳转原生Activity” 覆盖 arr 后也没反应)。
uniplugin_module-release.aar
覆盖前 点击testAsyncFunc
覆盖后 点击testAsyncFunc
在 Hbuilder 中 console 原生插件testModule 能打印出来方法
{
"gotoNativePage": "function() { [native code] }",
"testAsyncFunc": "function() { [native code] }",
"removeAllEventListeners": "function() { [native code] }",
"testSyncFunc": "function() { [native code] }",
"initBle": "function() { [native code] }",
"addEventListener": "function() { [native code] }"
}
但就是无法调用。
这是 package.json
{
"name": "TestModule",
"id": "TestModule",
"version": "1.4",
"description": "XXX",
"_dp_type": "nativeplugin",
"_dp_nativeplugin": {
"android": {
"plugins": [
{
"type": "module",
"name": "TestModule",
"class": "io.dcloud.uniplugin.TestModule"
}
],
"integrateType": "aar",
"hooksClass": "io.dcloud.uniplugin.TestModule_AppProxy",
"compileOptions": {
"sourceCompatibility": "1.8",
"targetCompatibility": "1.8"
}
}
}
}
原生插件目录结构
TestModule_AppProxy
public class TestModule_AppProxy implements UniAppHookProxy {
@Override
public void onCreate(Application application) {
//可写初始化触发逻辑
try {
UniSDKEngine.registerModule("TestModule", TestModule.class);
Log.d("===========", "onCreate: 已注册");
} catch (WXException e) {
e.printStackTrace();
}
}
@Override
public void onSubProcessCreate(Application application) {
//子进程初始化回调
}
}
请问谁知道问题出在哪里吗?
是要配置混淆还是什么?
还是没有引入第三方 SDK?
6***@qq.com (作者)
不是官方有个 demo 调用拓展module的三个按钮吗?我覆盖arr后就没反应了,我写的按钮也是
2022-02-15 11:42
6***@qq.com (作者)
官方按钮 会弹出个 原生modal ,后来没反应了,不弹出了
2022-02-15 11:47
FullStack
回复 6***@qq.com: 可能你的插件,有错误
2022-02-15 11:51
6***@qq.com (作者)
回复 FullStack: 我更新详细描述了一下问题,我觉得应该不是插件的问题,因为无论我写多么简单的 方法都无法调用,但能在 Hbuilder的中打印出来是包含有改方法的
2022-02-15 11:55