[求助]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"
  ]
}

cke_581.png


11 回复

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 路径是否正确。

我看了下entry/oh-package.json5这个文件没有 HarmonyOS专属能力,甚至连 syscap标签都没有😭

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项目报错可能原因:

  1. SDK版本不匹配,检查项目配置的SDK版本是否与设备兼容
  2. 依赖缺失,确认build-profile.json中依赖项配置正确
  3. 资源文件错误,检查resources目录下的文件格式和命名规范
  4. Gradle插件版本冲突,查看项目级build.gradle中的classpath配置
  5. 缓存问题,执行File > Invalidate Caches清除缓存

常见解决方法:

  1. 同步项目配置(Tools > SDK Manager)
  2. 检查oh-package.json中的依赖版本
  3. 确认Node.js和npm版本符合要求
  4. 查看build日志定位具体错误行

从报错信息来看,问题出在syscap_tool.exe解析rpcid.json文件时失败。具体错误是"cJSON_Parse failed",表明json文件解析异常。

可能的原因:

  1. rpcid.json文件编码格式有问题,建议检查文件是否为UTF-8编码
  2. 文件内容被破坏,可以尝试删除build目录重新编译
  3. SDK工具链版本不匹配,OpenHarmony SDK 12的syscap_tool可能不兼容当前项目配置

建议操作步骤:

  1. 清理项目:删除entry/build目录
  2. 检查rpcid.json文件编码格式,确保是标准UTF-8
  3. 确认使用的OpenHarmony SDK版本与项目要求的版本一致
  4. 如果问题依旧,尝试创建一个全新的OpenHarmony项目测试基础编译功能

错误日志显示解析时出现乱码"坿P7",这通常表明文件二进制内容已损坏或编码格式异常。

回到顶部