config.json如下
{
"minSdkVersion": "21",
"dependencies": [
"com.github.Jasonchenlijian:FastBle:2.4.0"
],
"project": {
"repositories": [
"maven { url 'https://jitpack.io' }"
],
"dependencies": [
"com.github.Jasonchenlijian:FastBle:2.4.0"
]
}
}
index.uts如下
/**
* 引用 Android 系统库,示例如下:
* import { Context } from "android.content.Context";
* [可选实现,按需引入]
*/
import Context from 'android.content.Context'
import BleManager from 'com.clj.fastble.BleManager'
/* 引入 interface.uts 文件中定义的变量 */
import { MyApi } from '../interface.uts';
export const myApi : MyApi = function () :string {
const context = UTSAndroid.getAppContext() as Context
BleManager.getInstance().init(context)
BleManager.getInstance()
.enableLog(true)
.setReConnectCount(1, 5000)
.setOperateTimeout(5000)
return "12312312"
}
云打包基座成功,但是一直找不到引入的包,运行之后编译错误
15:01:48.391 [plugin:uni:app-uts] 编译失败
15:01:48.391 error: 找不到名称“clj”。参考: https://doc.dcloud.net.cn/uni-app-x/uts/compiler-known-issues.html#error18
15:01:48.391 at uni_modules/my-ble/utssdk/app-android/index.uts:7:23
15:01:48.391 5 | /
15:01:48.391 6 | import Context from 'android.content.Context'
15:01:48.391 7 | import BleManager from 'com.clj.fastble.BleManager'
15:01:48.391 | ^
15:01:48.391 8 |
15:01:48.391 9 | / 引入 interface.uts 文件中定义的变量 */
15:01:48.391 error: 找不到名称“BleManager”。参考: https://doc.dcloud.net.cn/uni-app-x/uts/compiler-known-issues.html#error18
15:01:48.392 at uni_modules/my-ble/utssdk/app-android/index.uts:56:1
15:01:48.392 54 | export const myApi : MyApi = function () :string {
15:01:48.392 55 | const context = UTSAndroid.getAppContext() as Context
15:01:48.392 56 | BleManager.getInstance().init(context)
15:01:48.392 | ^
15:01:48.392 57 | BleManager.getInstance()
15:01:48.392 58 | .enableLog(true)
15:01:48.392 error: 找不到名称“BleManager”。参考: https://doc.dcloud.net.cn/uni-app-x/uts/compiler-known-issues.html#error18
15:01:48.392 at uni_modules/my-ble/utssdk/app-android/index.uts:57:1
15:01:48.392 55 | const context = UTSAndroid.getAppContext() as Context
15:01:48.392 56 | BleManager.getInstance().init(context)
15:01:48.392 57 | BleManager.getInstance()
15:01:48.392 | ^
15:01:48.392 58 | .enableLog(true)
15:01:48.392 59 | .setReConnectCount(1, 5000)
2 个回复
Ask小助手
根据错误日志和你的
config.json配置,问题在于依赖库没有被正确编译进自定义基座。虽然云打包成功了,但在本地真机运行时,UTS 编译器找不到com.clj.fastble这个包。根本原因分析
你的
config.json中重复配置了依赖:根据 UTS 插件配置规范,依赖应该配置在顶层的
dependencies数组中,而不是project.dependencies中。project.dependencies是用于配置 Gradle 插件的 classpath 依赖的(如com.huawei.agconnect:agcp:1.6.0.300),而非应用层的 implementation 依赖。解决方案
修改
config.json,只保留顶层的dependencies配置:修改后,需要重新提交云端打包自定义基座,因为依赖配置发生了变化。打包成功后,再使用新的自定义基座进行真机调试。
如果问题依然存在
根据知识库中的经验,如果重新打包后仍然报
找不到名称"xxx"的错误,通常是因为本地编译缓存未更新。请尝试:unpackage文件夹另外,请确保你的
index.uts中正确导出了函数供页面调用。你的代码中定义了myApi并已导出,这部分看起来是正确的。如果页面导入方式不对,也可能导致引用失败,页面中应这样导入:关于 UTS 插件依赖配置的说明
dependencies:用于配置 Android 原生库依赖(implementation)project.dependencies:用于配置 Gradle 插件的 classpath 依赖project.repositories:用于配置额外的 Maven 仓库地址你可以参考官方文档了解更多配置细节:UTS 插件 config.json 配置
如果按照以上步骤操作后问题仍然存在,请提供云打包的完整错误日志,以便进一步分析。
1***@qq.com (作者)
那我现在com.github.Jasonchenlijian:FastBle:2.4.0这个库的镜像在https://jitpack.io中,如何配置这个config.json
要回复问题请先登录或注册
公告
更多>相关问题