parameters: (output_dir, entry_output_dir, so_files)
return_statement: return []
docstring: Creates directory with symlinked .so files if necessary.
  
    Returns list of JNI libs directories.
docstring_summary: Creates directory with symlinked .so files if necessary.
docstring_tokens: Creates directory with symlinked . so files if necessary .
function: def _CreateJniLibsDir(output_dir, entry_output_dir, so_files):
    """Creates directory with symlinked .so files if necessary.
  
    Returns list of JNI libs directories."""
  
    if so_files:
      symlink_dir = os.path.join(entry_output_dir, _JNI_LIBS_SUBDIR)
      shutil.rmtree(symlink_dir, True)
      abi_dir = os.path.join(symlink_dir, _ARMEABI_SUBDIR)
      if not os.path.exists(abi_dir):
        os.makedirs(abi_dir)
      for so_file in so_files:
        target_path = os.path.join(output_dir, so_file)
        symlinked_path = os.path.join(abi_dir, so_file)
        _CreateRelativeSymlink(target_path, symlinked_path)
  
      return [symlink_dir]
  
    return []
function_tokens: def _CreateJniLibsDir ( output_dir , entry_output_dir , so_files ) : if so_files : symlink_dir = os . path . join ( entry_output_dir , _JNI_LIBS_SUBDIR ) shutil . rmtree ( symlink_dir , True ) abi_dir = os . path . join ( symlink_dir , _ARMEABI_SUBDIR ) if not os . path . exists ( abi_dir ) : os . makedirs ( abi_dir ) for so_file in so_files : target_path = os . path . join ( output_dir , so_file ) symlinked_path = os . path . join ( abi_dir , so_file ) _CreateRelativeSymlink ( target_path , symlinked_path ) return [ symlink_dir ] return [ ]