mogoweb / chromium_webview

Android WebView wrapper based on chromium
http://mogoweb.github.com
BSD 3-Clause "New" or "Revised" License
514 stars 160 forks source link

编译出错 #33

Open liaoyuanhuo opened 8 years ago

liaoyuanhuo commented 8 years ago

你好,按照readme的步骤更新完代码后,编译时出现存在调用extern版本下skia不存在接口等错误,请问这些错误如何解决?

mogoweb commented 8 years ago

能否给点详细的信息?比如什么编译目标、编译环境、出错信息等

liaoyuanhuo commented 8 years ago

非常感谢你的回复,以下是问题的具体描述 1.系统环境 Ubuntu 14.04.1 LTS cpu:i3 内存:4g 2.获取代码 gclient config --name=src/chromeview git://github.com/mogoweb/chromium_webview.git gclient sync 这一步同步完成后src下的chromeview消失,须手动再次拷入 3.编译步骤

  1. 设置环境变量CHROME_SRC
  2. 在.gclient 同层级目录下生成chromium.gyp_env文件{ 'GYP_DEFINES': 'OS=android', }
  3. source ./chromeview/build/envsetup.sh
  4. mogo_gyp
    1. ninja -C out/Debug libchromeview -j8 4.错误描述 1.目前编译停止在如下错误: ../../cc/resources/resource_provider.cc: In function 'void cc::{anonymous}::CopyBitmap(const SkBitmap&, uint8_t*, SkColorType)': ../../cc/resources/resource_provider.cc:120:22: error: 'const class SkBitmap' has no member named 'readPixels' bool success = src.readPixels(dst_info, dst, dst_row_bytes, 0, 0); ^ [108/3134] CXX obj/cc/resources/cc.tile_manager.o ninja: build stopped: subcommand failed. 5.关于按键焦点问题 使用content shell 只能使用tab键来获取网页焦点,能否描述下content api按键传递到网页的流程,以及更改tab键为方向键来控制网页焦点,请问这个要如何修改?
mogoweb commented 8 years ago

sorry, please rollback to 34a843db0ad81e4f4618a271e6d13b619a25fb84. I tried to upgrade chromium version to v37, but not done yet.

I'll fixes this problem in master branch.

About focus moving, I'll examine the code.

mogoweb commented 8 years ago

I have reverted the last two commits. You can pull the chromium_webview source and execute the command "gclient sync" to get the proper source.

liaoyuanhuo commented 8 years ago

Thank you. I'll try

liaoyuanhuo commented 8 years ago

when i gclient sync it's error
gclient.py: error: --gclientfile target must be a filename, not a path Traceback (most recent call last): File "src/chromeview/tools/fetch_deps.py", line 90, in main() File "src/chromeview/tools/fetch_deps.py", line 87, in main sys.exit(deps_fetcher.DoGclientSyncForChromium()) File "src/chromeview/tools/fetch_deps.py", line 61, in DoGclientSyncForChromium always=self._options.verbose, cwd=self._root_dir) File "/mnt/hgfs/untitled/cv/depot_tools/gclient_utils.py", line 293, in CheckCallAndFilterAndHeader return CheckCallAndFilter(args, **kwargs) File "/mnt/hgfs/untitled/cv/depot_tools/gclient_utils.py", line 538, in CheckCallAndFilter rv, args, kwargs.get('cwd', None), None, None) subprocess2.CalledProcessError: Command 'gclient sync --verbose --reset --force --with_branch_heads --gclientfile=/mnt/hgfs/untitled/cv/chromium-src/.gclient-mogo' returned non-zero exit status 2 in /mnt/hgfs/untitled/cv/chromium-src Error: Command '/usr/bin/python src/chromeview/tools/fetch_deps.py -v' returned non-zero exit status 1 in /mnt/hgfs/untitled/cv/chromium-src

mogoweb commented 8 years ago

you can modify gclient.py and remove the following lines:

if (options.config_filename and options.config_filename != os.path.basename(options.config_filename)): self.error('--gclientfile target must be a filename, not a path')

I think that depot_tools has been updated, so it not support this method.