HarmonyOS 鸿蒙Next 使用DevEco Studio新建demo项目构建并Upload Product报错提示处理

发布于 1周前 作者 sinazl 来自 鸿蒙OS

HarmonyOS 鸿蒙Next 使用DevEco Studio新建demo项目构建并Upload Product报错提示处理 问题部分截图,工程build-profile.json5内容如下;尝试修改了各种可疑的配置都无法解决。感觉问题提示不是很清晰,应该并非编译配置的问题。

同样的问题搜索到1个:建了一个元服务 demo ,在upload Product的时候 提示build文件配置有错,但是并没有看到有用的信息。

{
  "app": {
    "signingConfigs": [],
    //工程的签名信息,可包含多个签名信息
    "products": [
      {
        "name": "default",
        //定义产品的名称,支持定制多product目标产物
        "signingConfig": "default",
        //指定当前产品品类对应的签名信息,签名信息需要在signingConfigs中进行定义
        "compatibleSdkVersion": "5.0.1(13)",
        //指定应用/元服务兼容的最低版本
        "targetSdkVersion": "5.0.1(13)",
        //指定应用/元服务目标版本
        "runtimeOS": "HarmonyOS",
        //指定为HarmonyOS
      }
    ],
    // 构建模式的集合,每个构建模式是指在执行不同target任务时使用何种构建配置的一套方案,默认打包hap时使用debug,打包app时使用release
    "buildModeSet": [
      {
        "name": "release",
        //定义构建模式的类型名称,系统默认给出test、debug和release,用户也可以自定义
        "buildOption": {
          //配置项目在构建过程中使用的相关配置
          "packOptions": {
            //包配置选项,可用于构建app时避免生成签名的hap
            "buildAppSkipSignHap": false
          },
          "debuggable": false,
          "resOptions": {
            "compression": {
              "media": {
                "enable": true
                // 是否对media图片启用纹理压缩
              },
              // 纹理压缩文件过滤,非必填,不填会压缩资源目录中的所有图片
              "filters": [
                {
                  "method": {
                    "type": "sut",
                    // 转换类型
                    "blocks": "4x4"
                    // 转换类型的扩展参数
                  },
                  // 指定用来参与压缩的文件,需要满足所有条件且不被exclude过滤的文件才会参与压缩
                  "files": {
                    "path": [
                      "./**/*"
                    ],
                    // 指定资源目录中的所有文件
                    "size": [
                      [
                        0,
                        '10k'
                      ]
                    ],
                    // 指定大小10k以下的文件
                    // 指定分辨率小于2048*2048的图片
                    "resolution": [
                      [
                        {
                          "width": 0,
                          "height": 0
                        },
                        // 最小宽高
                        {
                          "width": 2048,
                          "height": 2048
                        }
                        // 最大宽高
                      ]
                    ]
                  },
                  // 从files中剔除掉不需要压缩的文件,需要满足所有过滤条件的文件才会被剔除
                  "exclude": {
                    "path": [
                      "./**/*.jpg"
                    ],
                    // 过滤所有jpg文件
                    "size": [
                      [
                        0,
                        '1k'
                      ]
                    ],
                    // 过滤大小1k以下的文件
                    // 过滤分辨率小于1024*1024的图片
                    "resolution": [
                      [
                        {
                          "width": 0,
                          "height": 0
                        },
                        // 最小宽高
                        {
                          "width": 1024,
                          "height": 1024
                        }
                        // 最大宽高
                      ]
                    ]
                  }
                }
              ]
            }
          }
        },
        //cpp相关编译配置
        "externalNativeOptions": {
          "path": "./entry/src/main/cpp/CMakeLists.txt",
          //CMake配置文件,提供CMake构建脚本
          "arguments": [],
          //传递给CMake的可选编译参数
          "abiFilters": [
            //HarmonyOS当前支持的ABI编译环境
            "arm64-v8a",
            "x86_64"
          ],
          "cppFlags": ""
          //设置C++编译器的可选参数
        },
        "sourceOption": {
          //使用不同的标签对源代码进行分类,以便在构建过程中对不同的源代码进行不同的处理
          "workers": []
        },
        //配置筛选har依赖.so资源文件的过滤规则
        "nativeLib": {
          "filter": {
            //按照.so文件的优先级顺序,打包最高优先级的.so文件
            "pickFirsts": [
              "**/1.so"
            ],
            //按照.so文件的优先级顺序,打包最低优先级的.so文件
            "pickLasts": [
              "**/2.so"
            ],
            //根据正则表达式排除匹配到的.so文件,匹配到的so文件将不会被打包
            "excludes": [
              "**/3.so",
              //排除所有名称为“3”的so文件
              "**/x86_64/*.so"
              //排除所有x86_64架构的so文件
            ],
            //允许当.so重名冲突时,使用高优先级的.so文件覆盖低优先级的.so文件
            "enableOverride": true
          }
        }
      }
    ]
  },
  "modules": [
    {
      "name": "entry",
      //模块名称,须与模块中module.json5文件中的module.name保持一致
      "srcPath": "./entry",
      //标明模块根目录相对工程根目录的相对路径
      "targets": [
        //定义构建的APP产物,由product和各模块定义的targets共同定义
        {
          "name": "default",
          //target名称,由各个模块的build-profile.json5中的targets字段定义
          "applyToProducts": [
            "default"
            //表示将该模块下的"default" Target打包到"default" Product中
          ]
        }
      ]
    }
  ]
}

cke_216.png


更多关于HarmonyOS 鸿蒙Next 使用DevEco Studio新建demo项目构建并Upload Product报错提示处理的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

5 回复

问题已经解决,感谢楼上老哥的提示。工具右上角有个设置 Build Mode的选项,调整一下就好了。默认的模式是default, 这个名字要和 build-profile.json5中的 buildModeSet中的 name一致就好了。不一致,就会报标题中的错误。

cke_854.png

cke_11743.png

更多关于HarmonyOS 鸿蒙Next 使用DevEco Studio新建demo项目构建并Upload Product报错提示处理的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


build mode 你设置的是什么?

找HarmonyOS工作还需要会Flutter的哦,有需要Flutter教程的可以学学大地老师的教程,很不错,B站免费学的哦:https://www.bilibili.com/video/BV1S4411E7LY/?p=17

这不是在buildModeSet中设置的吗?我改了 test, debug, release都是一样的结果。

针对HarmonyOS 鸿蒙Next使用DevEco Studio新建demo项目构建并Upload Product时遇到的报错提示处理,可以尝试以下步骤:

  1. 检查网络连接:确保你的计算机与目标服务器(如华为开发者网站)之间的网络连接稳定。网络不稳定可能导致上传失败。

  2. 核对项目配置:仔细检查config.json文件中的配置信息,确保所有必要的字段都已正确填写,如appidpackage等,且与华为开发者账号中的信息一致。

  3. 更新DevEco Studio:确保你使用的DevEco Studio是最新版本。旧版本可能存在已知问题,更新到最新版本可能解决这些问题。

  4. 清理和重建项目:在DevEco Studio中,尝试清理并重建项目。这可以通过“Build”菜单中的“Clean Project”和“Rebuild Project”选项完成。

  5. 查看日志:仔细检查构建和上传过程中的日志输出,寻找可能的错误信息或警告,这些信息通常能提供关于问题的更多线索。

  6. 检查签名证书:确保你使用的签名证书是有效的,并且与你的开发者账号关联。证书问题常常是上传失败的原因之一。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部