分享

chromium 自动生成jni文件

 wusiqi111 2020-11-20

jdk/java版本与Android源码编译中的错误

错误一:javap未指向有效的java版本

<span style="font-size:18px;">Traceback (most recent call last):
  File "../../base/android/jni_generator/jni_generator.py", line 1065, in <module>
    sys.exit(main(sys.argv))
  File "../../base/android/jni_generator/jni_generator.py", line 1061, in main
    options.optimize_generation)
  File "../../base/android/jni_generator/jni_generator.py", line 999, in GenerateJNIHeader
    jni_from_java_source = JNIFromJavaSource.CreateFromFile(input_file)
  File "../../base/android/jni_generator/jni_generator.py", line 555, in CreateFromFile
    contents)
  File "../../base/android/jni_generator/jni_generator.py", line 282, in ExtractFullyQualifiedJavaClassName
    raise SyntaxError('Unable to find "package" line in %s' % java_file_name)SyntaxError: Unable to find "package" line in ../java/src/org/chromium/android_webview/AwContents.java
make[3]: *** [out/target/product/f090_gps_kk/obj/GYP/shared_intermediates/android_webview/jni/AwContents_jni.h] Error 1
make[3]: *** Waiting for unfinished jobs....</span>

原因 javap不存在于环境变量中

使用 sudo update-alternatives --config javap 查看指向,选择合适的版本,如果不存在,则添加javap

sudo update-alternatives --install /usr/bin/javap javap /usr/lib/jvm/jdk1.6.0_45/bin/javap 300

配置 sudo update-alternatives --config javap 注:如果只有一个可选的话,则不会列表,即无需处理

转载出自:http://www.cnblogs.com/rainduck/p/3718227.html

错误二 Chromium gyp HashSet_jni.h

<span style="font-size:18px;">out/target/product/mx3/obj/GYP/shared_intermediates/content/jni/HashSet_jni.h:10:26: error: extra tokens at end of #ifndef directive [-Werror]
out/target/product/mx3/obj/GYP/shared_intermediates/content/jni/HashSet_jni.h:11:26: error: missing whitespace after the macro name [-Werror]
target thumb C++: content_content_common_gyp <= external/chromium_org/content/common/android/surface_texture_peer.cc
In file included from external/chromium_org/content/common/android/hash_set.cc:5:0:
out/target/product/mx3/obj/GYP/shared_intermediates/content/jni/HashSet_jni.h:24:20: error: expected initializer before '<' token
out/target/product/mx3/obj/GYP/shared_intermediates/content/jni/HashSet_jni.h:26:17: error: expected initializer before '<' token
out/target/product/mx3/obj/GYP/shared_intermediates/content/jni/HashSet_jni.h:29:22: error: expected '{' before '<' token
out/target/product/mx3/obj/GYP/shared_intermediates/content/jni/HashSet_jni.h:29:22: error: expected unqualified-id before '<' token
external/chromium_org/content/common/android/hash_set.cc:30:1: error: expected '}' at end of input
cc1plus: all warnings being treated as errors
make: *** [out/target/product/mx3/obj/STATIC_LIBRARIES/content_content_common_gyp_intermediates/content/common/android/hash_set.o] 错误 1make: *** 正在等待未完成的任务....</span>

这可能是由于java版本不符,请安装相应版本的jdk。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多