如何在Android代码中调试“错误:找不到符号方法”?

时间:2019-01-03 07:12:26

标签: java android beacon

为什么会出现这些错误,以及如何解决这些问题呢……菜鸟请帮忙?

error: cannot find symbol method getServiceUuid()
error: cannot find symbol method toByteArray()
error: cannot find symbol variable UrlBeaconUrlCompressor

代码:

beaconManager.setRangeNotifier(new RangeNotifier() {
    @Override
    public void didRangeBeaconsInRegion(Collection<Beacon> beacons, Region region) {

        // code to get URL below!!!!!
        for (Beacon oneBeacon : beacons) {
            if (oneBeacon.getServiceUuid() == 0xfeaa && oneBeacon.getBeaconTypeCode() == 0x10) {
            // This is a Eddystone-URL frame
                String url = UrlBeaconUrlCompressor.uncompress(oneBeacon.getId1().toByteArray());
                Log.d("BeaconsEverywhere", "I see a beacon transmitting a url: " + url +
                            " approximately " + oneBeacon.getDistance() + " meters away.");
            }
        }
    }
}            

1 个答案:

答案 0 :(得分:1)

根据您提供的详细信息,我可以看到您遇到了

错误

找不到以下方法的符号方法

  • toByteArray()
  • getServiceUuid()

和类:UrlBeaconUrlCompressor

这些类和方法属于信标库,但是在您的代码中您无法访问这些类和方法,可能有两个可能的原因:

  • 您尚未导入相关软件包:检查是否正确导入了它们,例如:(如果您使用的是altBeacon的UrlBeaconUrlCompressor

    导入org.altbeacon.beacon.utils.UrlBeaconUrlCompressor;

  • 您尚未在构建环境中正确添加依赖项。示例:

    依赖项{ 编译'com.google.apis:google-api-services-proximitybeacon:v1beta1-rev38-1.25.0'}

否则您可能没有为altbeacons添加依赖项

但是,我建议您在问题中添加适当的日志堆栈和gradle依赖项。