在framework/base/下添加模块

问题

在framework/base/下添加代码,正常来说,直接添加文件夹和类文件就可以了,但是编译会报错,为什么呢?

因为在build/core/task/check_boot_jars/check_boot_jars.py 文件中的 CheckJar 方法,会去检测导入包名 是否合法。

def CheckJar(jar):
  """Check a jar file.
  """
  # Get the list of files inside the jar file.
  p = subprocess.Popen(args='jar tf %s' % jar,
      stdout=subprocess.PIPE, shell=True)
  stdout, _ = p.communicate()
  if p.returncode != 0:
    return False
  items = stdout.split()
  for f in items:
    if f.endswith('.class'):
      package_name = os.path.dirname(f)
      package_name = package_name.replace('/', '.')
      # Skip class without a package name
      if package_name and not whitelist_re.match(package_name):
        print >> sys.stderr, ('Error: %s: unknown package name of class file %s'
                              % (jar, f))
        return False
  return True

解决方案

通过同文件夹(build/core/task/check_boot_jars/)下的 package_whitelist.txt 文件 声明 包的合法性

如:添加 com.wudaokou..*

你可能感兴趣的:(在framework/base/下添加模块)