简体   繁体   English

使用新类为 Android 构建 Chromium 时出现“错误:找不到符号”

[英]"error: cannot find symbol" when building Chromium for Android with new classes

I need to create a custom OmniboxResultsAdapter (org.chromium.chrome.browser.omnibox) for Chromium for Android.我需要为 Android 的 Chromium 创建一个自定义的 OmniboxResultsAdapter (org.chromium.chrome.browser.omnibox)。 If I edit existing classes, everything is fine, but if I add new classes (for example, empty MyClass with no fields or methods) and try to use it in code (eg, MyClass myObject = new MyClass()) and try to make a build with:如果我编辑现有类,一切都很好,但是如果我添加新类(例如,没有字段或方法的空 MyClass)并尝试在代码中使用它(例如,MyClass myObject = new MyClass())并尝试使一个构建:

 chromium/src$ ninja -C out/Release chrome_public_apk

I get:我得到:

    ../chrome/android/java/src/org/chromium/chrome/browser/omnibox/LocationBarLayout.java:1430: error: cannot find symbol
            MyClass myObject = new MyClass();
            ^
      symbol:   class MyClass
      location: class LocationBarLayout

    ../chrome/android/java/src/org/chromium/chrome/browser/omnibox/LocationBarLayout.java:1430: error: cannot find symbol
            MyClass myObject = new MyClass();
                                   ^
      symbol:   class MyClass
      location: class LocationBarLayout
    2 errors

    ninja: build stopped: subcommand failed.

I suppose the compiler cannot find the class because of ProGuard.我想编译器因为 ProGuard 找不到这个类。

What files do I need to modify to get the right result?我需要修改哪些文件才能获得正确的结果?

The java class of Chromium is declared in file src/chrome/android/java_sources.gni . Chromium 的 java 类在文件src/chrome/android/java_sources.gni You need to add the file path of MyClasst to that file like this:您需要将 MyClasst 的文件路径添加到该文件中,如下所示:

"java/src/org/chromium/chrome/browser/MyClass.java"

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM