[求助]DevEco Studio编译 OpenHarmony项目报错
[求助]DevEco Studio编译 OpenHarmony项目报错 各位大佬,今天编译默认项目,HarmonyOS下可以编译通过,但是把runtimeOS改成OpenHarmony后就编译报错了。有大佬遇到过吗😭😭😭
DevEco版本:5.1.1
SDK版本: 5.0.0.71(12)
详细报错:
> hvigor ERROR: Failed :entry:default@SyscapTransform...
> hvigor ERROR: Tools execution failed.
Command failed with exit code 4294967295: D:\Harmony_Develope\OpenHarmony_SDK\12\toolchains\syscap_tool.exe -R -e -i D:\DeveEcoStudioProjects\OHOTAdemo\entry\build\default\intermediates\syscap\default\rpcid.json -o D:\DeveEcoStudioProjects\OHOTAdemo\entry\build\default\intermediates\syscap\default
ERROR: [../../developtools/syscap_codec/src/syscap_tool.c: 151] -> cJSON_Parse failed, context buffer is:
坿P7
ERROR: [../../developtools/syscap_codec/src/main.c: 101] -> syscap_tool failed to complete. input: D:\DeveEcoStudioProjects\OHOTAdemo\entry\build\default\intermediates\syscap\default\rpcid.json
> hvigor ERROR: BUILD FAILED in 2 s 647 ms
生成的rpcid.json如下:
{
"api_version": 12,
"syscap": [
"SystemCapability.ArkUI.ArkUI.Full",
"SystemCapability.ArkUI.ArkUI.Napi",
"SystemCapability.ArkUI.ArkUI.Libuv",
"SystemCapability.ArkUI.ArkUI.Lite",
"SystemCapability.ArkUI.UiAppearance",
"SystemCapability.Base",
"SystemCapability.BundleManager.BundleFramework",
"SystemCapability.BundleManager.BundleFramework.Overlay",
"SystemCapability.BundleManager.DistributedBundleFramework",
"SystemCapability.BundleManager.Zlib",
"SystemCapability.Graphic.Graphic2D.EGL",
"SystemCapability.Graphic.Graphic2D.GLES2",
"SystemCapability.Graphic.Graphic2D.GLES3",
"SystemCapability.Graphic.Graphic2D.WebGL",
"SystemCapability.Graphic.Graphic2D.WebGL2",
"SystemCapability.Window.SessionManager",
"SystemCapability.WindowManager.WindowManager.Core",
"SystemCapability.Notification.CommonEvent",
"SystemCapability.Notification.Notification",
"SystemCapability.Notification.ReminderAgent",
"SystemCapability.Notification.Emitter",
"SystemCapability.Communication.IPC.Core",
"SystemCapability.Communication.SoftBus.Core",
"SystemCapability.Communication.NetManager.Core",
"SystemCapability.Communication.NetManager.Ethernet",
"SystemCapability.Communication.NetManager.NetSharing",
"SystemCapability.Communication.NetManager.MDNS",
"SystemCapability.Communication.NetManager.Vpn",
"SystemCapability.Communication.NetStack",
"SystemCapability.Communication.WiFi.Core",
"SystemCapability.Communication.WiFi.STA",
"SystemCapability.Communication.WiFi.AP.Core",
"SystemCapability.Communication.WiFi.P2P",
"SystemCapability.Communication.Bluetooth.Core",
"SystemCapability.Location.Location.Core",
"SystemCapability.Location.Location.Geocoder",
"SystemCapability.Location.Location.Geofence",
"SystemCapability.Location.Location.Gnss",
"SystemCapability.MultimodalInput.Input.Core",
"SystemCapability.MultimodalInput.Input.InputDevice",
"SystemCapability.MultimodalInput.Input.InputMonitor",
"SystemCapability.MultimodalInput.Input.InputConsumer",
"SystemCapability.MultimodalInput.Input.InputSimulator",
"SystemCapability.MultimodalInput.Input.Pointer",
"SystemCapability.MultimodalInput.Input.ShortKey",
"SystemCapability.MultimodalInput.Input.InfraredEmitter",
"SystemCapability.PowerManager.BatteryManager.Extension",
"SystemCapability.PowerManager.DisplayPowerManager",
"SystemCapability.PowerManager.ThermalManager",
"SystemCapability.PowerManager.PowerManager.Core",
"SystemCapability.PowerManager.BatteryManager.Core",
"SystemCapability.PowerManager.PowerManager.Extension",
"SystemCapability.Multimedia.Media.Core",
"SystemCapability.Multimedia.Media.AudioPlayer",
"SystemCapability.Multimedia.Media.AudioRecorder",
"SystemCapability.Multimedia.Media.VideoPlayer",
"SystemCapability.Multimedia.Media.VideoRecorder",
"SystemCapability.Multimedia.Media.CodecBase",
"SystemCapability.Multimedia.Media.AudioCodec",
"SystemCapability.Multimedia.Media.AudioDecoder",
"SystemCapability.Multimedia.Media.AudioEncoder",
"SystemCapability.Multimedia.Media.VideoDecoder",
"SystemCapability.Multimedia.Media.VideoEncoder",
"SystemCapability.Multimedia.Media.Spliter",
"SystemCapability.Multimedia.Media.Muxer",
"SystemCapability.Multimedia.Media.AVPlayer",
"SystemCapability.Multimedia.Media.AVRecorder",
"SystemCapability.Multimedia.Media.AVMetadataExtractor",
"SystemCapability.Multimedia.Media.AVImageGenerator",
"SystemCapability.Multimedia.AVSession.Core",
"SystemCapability.Multimedia.AVSession.Manager",
"SystemCapability.Multimedia.AVSession.AVCast",
"SystemCapability.Multimedia.AVSession.ExtendedDisplayCast",
"SystemCapability.Multimedia.Audio.Core",
"SystemCapability.Multimedia.Audio.Renderer",
"SystemCapability.Multimedia.Audio.Capturer",
"SystemCapability.Multimedia.Audio.Device",
"SystemCapability.Multimedia.Audio.Volume",
"SystemCapability.Multimedia.Audio.Communication",
"SystemCapability.Multimedia.Audio.Interrupt",
"SystemCapability.Multimedia.Audio.Tone",
"SystemCapability.Multimedia.Audio.PlaybackCapture",
"SystemCapability.Multimedia.Camera.Core",
"SystemCapability.Multimedia.Drm.Core",
"SystemCapability.Multimedia.Image.Core",
"SystemCapability.Multimedia.Image.ImageSource",
"SystemCapability.Multimedia.Image.ImagePacker",
"SystemCapability.Multimedia.Image.ImageReceiver",
"SystemCapability.Multimedia.ImageEffect.Core",
"SystemCapability.Multimedia.MediaLibrary.Core",
"SystemCapability.Multimedia.MediaLibrary.DistributedCore",
"SystemCapability.Multimedia.SystemSound.Core",
"SystemCapability.Telephony.CoreService",
"SystemCapability.Telephony.CallManager",
"SystemCapability.Telephony.CellularCall",
"SystemCapability.Telephony.CellularData",
"SystemCapability.Telephony.SmsMms",
"SystemCapability.Telephony.StateRegistry",
"SystemCapability.Global.I18n",
"SystemCapability.Global.ResourceManager",
"SystemCapability.Customization.ConfigPolicy",
"SystemCapability.Customization.CustomConfig",
"SystemCapability.Customization.EnterpriseDeviceManager",
"SystemCapability.BarrierFree.Accessibility.Core",
"SystemCapability.BarrierFree.Accessibility.Vision",
"SystemCapability.BarrierFree.Accessibility.Hearing",
"SystemCapability.ResourceSchedule.WorkScheduler",
"SystemCapability.ResourceSchedule.BackgroundTaskManager.ContinuousTask",
"SystemCapability.ResourceSchedule.BackgroundTaskManager.TransientTask",
"SystemCapability.ResourceSchedule.UsageStatistics.App",
"SystemCapability.ResourceSchedule.UsageStatistics.AppGroup",
"SystemCapability.Utils.Lang",
"SystemCapability.HiviewDFX.HiLog",
"SystemCapability.HiviewDFX.HiTrace",
"SystemCapability.HiviewDFX.Hiview.FaultLogger",
"SystemCapability.HiviewDFX.Hiview.LogLibrary",
"SystemCapability.HiviewDFX.HiChecker",
"SystemCapability.HiviewDFX.HiDumper",
"SystemCapability.HiviewDFX.HiAppEvent",
"SystemCapability.HiviewDFX.HiSysEvent",
"SystemCapability.HiviewDFX.HiProfiler.HiDebug",
"SystemCapability.HiviewDFX.HiCollie",
"SystemCapability.Update.UpdateService",
"SystemCapability.DistributedHardware.DeviceManager",
"SystemCapability.Security.DeviceAuth",
"SystemCapability.Security.DataTransitManager",
"SystemCapability.Security.DeviceSecurityLevel",
"SystemCapability.Security.Huks.Core",
"SystemCapability.Security.Huks.Extension",
"SystemCapability.Security.Asset",
"SystemCapability.Security.AccessToken",
"SystemCapability.Security.SecurityGuard",
"SystemCapability.Security.ScreenLockFileManager",
"SystemCapability.Account.OsAccount",
"SystemCapability.Account.AppAccount",
"SystemCapability.UserIAM.UserAuth.Core",
"SystemCapability.UserIAM.UserAuth.PinAuth",
"SystemCapability.MiscServices.InputMethodFramework",
"SystemCapability.MiscServices.Pasteboard",
"SystemCapability.MiscServices.Time",
"SystemCapability.MiscServices.Wallpaper",
"SystemCapability.MiscServices.ScreenLock",
"SystemCapability.MiscServices.Upload",
"SystemCapability.MiscServices.Download",
"SystemCapability.FileManagement.StorageService.Backup",
"SystemCapability.FileManagement.StorageService.SpatialStatistics",
"SystemCapability.FileManagement.StorageService.Volume",
"SystemCapability.FileManagement.StorageService.Encryption",
"SystemCapability.FileManagement.File.FileIO",
"SystemCapability.FileManagement.File.Environment",
"SystemCapability.FileManagement.File.DistributedFile",
"SystemCapability.FileManagement.AppFileService",
"SystemCapability.FileManagement.UserFileService",
"SystemCapability.FileManagement.UserFileManager.Core",
"SystemCapability.FileManagement.PhotoAccessHelper.Core",
"SystemCapability.FileManagement.DistributedFileService.CloudSyncManager",
"SystemCapability.FileManagement.DistributedFileService.CloudSync.Core",
"SystemCapability.USB.USBManager",
"SystemCapability.Sensors.Sensor",
"SystemCapability.Sensors.MiscDevice",
"SystemCapability.Startup.SystemInfo",
"SystemCapability.DistributedDataManager.RelationalStore.Core",
"SystemCapability.DistributedDataManager.CommonType",
"SystemCapability.DistributedDataManager.KVStore.Core",
"SystemCapability.DistributedDataManager.KVStore.DistributedKVStore",
"SystemCapability.DistributedDataManager.DataObject.DistributedObject",
"SystemCapability.DistributedDataManager.Preferences.Core",
"SystemCapability.DistributedDataManager.DataShare.Core",
"SystemCapability.DistributedDataManager.DataShare.Consumer",
"SystemCapability.DistributedDataManager.DataShare.Provider",
"SystemCapability.DistributedDataManager.CloudSync.Config",
"SystemCapability.DistributedDataManager.CloudSync.Client",
"SystemCapability.DistributedDataManager.CloudSync.Server",
"SystemCapability.Ability.AbilityBase",
"SystemCapability.Ability.AbilityRuntime.Core",
"SystemCapability.Ability.AbilityRuntime.FAModel",
"SystemCapability.Ability.AbilityRuntime.AbilityCore",
"SystemCapability.Ability.AbilityRuntime.Mission",
"SystemCapability.Ability.AbilityTools.AbilityAssistant",
"SystemCapability.Ability.Form",
"SystemCapability.Ability.DistributedAbilityManager",
"SystemCapability.Applications.CalendarData",
"SystemCapability.Applications.ContactsData",
"SystemCapability.Applications.Contacts",
"SystemCapability.Applications.Settings.Core",
"SystemCapability.Test.UiTest",
"SystemCapability.Web.Webview.Core",
"SystemCapability.Advertising.OAID",
"SystemCapability.Advertising.Ads",
"SystemCapability.Security.CertificateManager",
"SystemCapability.Security.CryptoFramework",
"SystemCapability.Security.CryptoFramework.Key",
"SystemCapability.Security.CryptoFramework.Key.SymKey",
"SystemCapability.Security.CryptoFramework.Key.AsymKey",
"SystemCapability.Security.CryptoFramework.Signature",
"SystemCapability.Security.CryptoFramework.Cipher",
"SystemCapability.Security.CryptoFramework.KeyAgreement",
"SystemCapability.Security.CryptoFramework.MessageDigest",
"SystemCapability.Security.CryptoFramework.Mac",
"SystemCapability.Security.CryptoFramework.Kdf",
"SystemCapability.Security.CryptoFramework.Rand",
"SystemCapability.Security.Cert",
"SystemCapability.BundleManager.BundleFramework.Core",
"SystemCapability.BundleManager.BundleFramework.FreeInstall",
"SystemCapability.BundleManager.BundleFramework.Resource",
"SystemCapability.BundleManager.BundleFramework.DefaultApp",
"SystemCapability.BundleManager.BundleFramework.Launcher",
"SystemCapability.BundleManager.BundleFramework.AppControl",
"SystemCapability.Ability.AbilityRuntime.QuickFix",
"SystemCapability.Graphic.Graphic2D.ColorManager.Core",
"SystemCapability.ResourceSchedule.BackgroundTaskManager.EfficiencyResourcesApply",
"SystemCapability.XTS.DeviceAttest",
"SystemCapability.Request.FileTransferAgent",
"SystemCapability.ResourceSchedule.DeviceStandby",
"SystemCapability.DistributedDataManager.UDMF.Core",
"SystemCapability.Multimedia.Media.AVScreenCapture",
"SystemCapability.Multimedia.Media.SoundPool",
"SystemCapability.Multimedia.Audio.Spatialization",
"SystemCapability.Multimedia.AudioHaptic.Core",
"SystemCapability.ArkUi.Graphics3D",
"SystemCapability.Graphics.Drawing",
"SystemCapability.Graphic.Graphic2D.NativeDrawing",
"SystemCapability.Developtools.Syscap",
"SystemCapability.Resourceschedule.Ffrt.Core",
"SystemCapability.Graphic.Graphic2D.NativeWindow",
"SystemCapability.Graphic.Graphic2D.NativeBuffer",
"SystemCapability.Graphic.Graphic2D.NativeImage",
"SystemCapability.Graphic.Graphic2D.NativeVsync",
"SystemCapability.Graphic.Vulkan",
"SystemCapability.Multimedia.Image.ImageCreator",
"SystemCapability.Ability.AppStartup",
"SystemCapability.Ability.AppExtension.PhotoEditorExtension"
]
}
cJSON_Parse failed 表明 rpcid.json 文件解析失败
1.检查 rpcid.json 文件是否存在语法错误(如括号未闭合、引号缺失、逗号错误等)。
2.清理构建缓存
执行以下操作:
删除 entry/build 目录;
在项目根目录运行 hvigor clean 或点击 DevEco Studio 菜单栏的 Build > Clean Project;
重新构建项目。
检查权限配置
确认 module.json5 中 requestPermissions 的 user_grant 类型权限是否包含 reason 和 usedScene 属性(如缺失会间接引发工具链错误)。
楼主删除 entry\build 目录,重新执行编译构建,确保生成的 rpcid.json 无残留错误。检查文件编码是否为 UTF-8 无 BOM 格式。然后调整 Syscap 配置—在 entry/oh-package.json5 中仅保留 OpenHarmony 支持的 Syscap,移除 HarmonyOS 专属能力,比如:
{
"syscap": [
"SystemCapability.ArkUI.ArkUI.Full",
"SystemCapability.ArkUI.ArkUI.Napi",
"SystemCapability.Base",
"SystemCapability.BundleManager.BundleFramework"
]
}
检查 SDK 工具链,确保 OpenHarmony 工程使用的 SDK 与 DevEco Studio 版本匹配。通过 File > Settings > SDK Manager 确认 OpenHarmony SDK 路径是否正确。
syscap_tool.exe
看日志用的是 api 12 的, 但是 ide 里面也有这个可执行文件
你可以试着降一下 ide 的版本,例如, 5.0.0
话说回来,这个问题我看的也不是很懂,只是提供一个思路
找HarmonyOS工作还需要会Flutter的哦,有需要Flutter教程的可以学学大地老师的教程,很不错,B站免费学的哦:https://www.bilibili.com/video/BV1S4411E7LY/?p=17
5.1.* 的 ide 默认是 18 的 api, 你这看起来像 12 的 api
12的
对 我要用12的SDK,
DevEco Studio编译OpenHarmony项目报错可能原因:
- SDK版本不匹配,检查项目配置的SDK版本是否与设备兼容
- 依赖缺失,确认build-profile.json中依赖项配置正确
- 资源文件错误,检查resources目录下的文件格式和命名规范
- Gradle插件版本冲突,查看项目级build.gradle中的classpath配置
- 缓存问题,执行File > Invalidate Caches清除缓存
常见解决方法:
- 同步项目配置(Tools > SDK Manager)
- 检查oh-package.json中的依赖版本
- 确认Node.js和npm版本符合要求
- 查看build日志定位具体错误行
从报错信息来看,问题出在syscap_tool.exe解析rpcid.json文件时失败。具体错误是"cJSON_Parse failed",表明json文件解析异常。
可能的原因:
- rpcid.json文件编码格式有问题,建议检查文件是否为UTF-8编码
- 文件内容被破坏,可以尝试删除build目录重新编译
- SDK工具链版本不匹配,OpenHarmony SDK 12的syscap_tool可能不兼容当前项目配置
建议操作步骤:
- 清理项目:删除entry/build目录
- 检查rpcid.json文件编码格式,确保是标准UTF-8
- 确认使用的OpenHarmony SDK版本与项目要求的版本一致
- 如果问题依旧,尝试创建一个全新的OpenHarmony项目测试基础编译功能
错误日志显示解析时出现乱码"坿P7",这通常表明文件二进制内容已损坏或编码格式异常。