由于有中文命名的文件导致无法生成差分包

在生成差分包的时候提示
script.SetPermissions("/"+item.name, item.uid, item.gid,item.mode)
  File"../build/tools/releasetools/edify_generator.py",line 213, in SetPermissions
    self.script.append('set_perm(%d, %d, 0%o, "%s");' % (uid, gid,mode, fn))
TypeError: %d format: a number is required, not NoneType

在网上搜索出现这个问题是由于有中文命名的文件导致,但是怎么查出是哪个地方的中文文件导致了这个错误,通过在edify_generator.py加打印可确认文件名字。
 def SetPermissions(self, fn, uid, gid, mode, selabel, capabilities):
    """Set file ownership and permissions."""
    if not self.info.get("use_set_metadata", False):
      self.script.append('set_perm(%d, %d, 0%o, "%s");' % (uid, gid, mode, fn))
    else:
      print "=================fn  %s ==========" % (fn,)
      if capabilities is None: capabilities = "0x0"
      cmd = 'set_metadata("%s", "uid", %d, "gid", %d, "mode", 0%o, ' \
          '"capabilities", %s' % (fn, uid, gid, mode, capabilities)
      if selabel is not None:
        cmd += ', "selabel", "%s"' % ( selabel )
      cmd += ');'
      print "=================cmd  %s ==========" % (cmd,)
      self.script.append(cmd)
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值