SweetBlue
SweetBlue copied to clipboard
Unable to compile ( cannot find symbol )
Followed getting started guide on Readme. Went to run and got these errors during the build. Cloned v2.52.17
/Users/someone/git/Project/app/src/main/lib/sweetblue/library/src/main/java/com/idevicesinc/sweetblue/BleManager.java:165: error: cannot find symbol
public static interface DiscoveryListener extends GenericListener_Void<DiscoveryEvent> {
^
symbol: class GenericListener_Void
location: class BleManager
/Users/someone/git/Project/app/src/main/lib/sweetblue/library/src/main/java/com/idevicesinc/sweetblue/BleManager.java:165: error: cannot find symbol
public static interface DiscoveryListener extends GenericListener_Void<DiscoveryEvent> {
^
symbol: class DiscoveryEvent
location: class BleManager
/Users/someone/git/Project/app/src/main/lib/sweetblue/library/src/main/java/com/idevicesinc/sweetblue/BleManager.java:369: error: cannot find symbol
public static interface UhOhListener extends GenericListener_Void<UhOhListener.UhOhEvent> {
^
symbol: class GenericListener_Void
location: class BleManager
/Users/someone/git/Project/app/src/main/lib/sweetblue/library/src/main/java/com/idevicesinc/sweetblue/BleManager.java:555: error: cannot find symbol
public static class UhOhEvent extends Event {
^
symbol: class Event
location: interface UhOhListener
/Users/someone/git/Project/app/src/main/lib/sweetblue/library/src/main/java/com/idevicesinc/sweetblue/BleManager.java:554: error: cannot find symbol
@Immutable
^
symbol: class Immutable
location: interface UhOhListener
5 errors
I think it must have something to do with the @Immutable annotation as that is a custom annotation definition.
I just changed my project to import SweetBlue as a module and Im now getting even more errors:
/Users/someone/git/Project/sweetblue/library/src/main/java/com/idevicesinc/sweetblue/BleManager.java:165: error: cannot find symbol
public static interface DiscoveryListener extends GenericListener_Void<DiscoveryEvent> {
^
symbol: class GenericListener_Void
location: class BleManager
/Users/someone/git/Project/sweetblue/library/src/main/java/com/idevicesinc/sweetblue/BleManager.java:165: error: cannot find symbol
public static interface DiscoveryListener extends GenericListener_Void<DiscoveryEvent> {
^
symbol: class DiscoveryEvent
location: class BleManager
/Users/someone/git/Project/sweetblue/library/src/main/java/com/idevicesinc/sweetblue/BleManager.java:369: error: cannot find symbol
public static interface UhOhListener extends GenericListener_Void<UhOhListener.UhOhEvent> {
^
symbol: class GenericListener_Void
location: class BleManager
/Users/someone/git/Project/sweetblue/library/src/main/java/com/idevicesinc/sweetblue/BleManager.java:555: error: cannot find symbol
public static class UhOhEvent extends Event {
^
symbol: class Event
location: interface UhOhListener
/Users/someone/git/Project/sweetblue/library/src/main/java/com/idevicesinc/sweetblue/BleManager.java:554: error: cannot find symbol
@Immutable
^
symbol: class Immutable
location: interface UhOhListener
/Users/someone/git/Project/sweetblue/library/src/main/java/com/idevicesinc/sweetblue/BleManager.java:588: error: method does not override or implement a method from a supertype
@Override
^
/Users/someone/git/Project/sweetblue/library/src/main/java/com/idevicesinc/sweetblue/BleManager.java:592: error: cannot find symbol
this.getClass(),
^
symbol: method getClass()
/Users/someone/git/Project/sweetblue/library/src/main/java/com/idevicesinc/sweetblue/BleManager.java:3072: error: incompatible types: DiscoveryListener cannot be converted to GenericListener_Void
postEvent(m_discoveryListener, event);
^
/Users/someone/git/Project/sweetblue/library/src/main/java/com/idevicesinc/sweetblue/BleManager.java:3079: error: incompatible types: DiscoveryListener cannot be converted to GenericListener_Void
postEvent(m_discoveryListener, event);
^
/Users/someone/git/Project/sweetblue/library/src/main/java/com/idevicesinc/sweetblue/BleManager.java:3099: error: method postEvents in class BleManager cannot be applied to given types;
postEvents(m_discoveryListener, events);
^
required: GenericListener_Void,List<T>
found: DiscoveryListener,List<DiscoveryEvent>
reason: cannot infer type-variable(s) T
(argument mismatch; DiscoveryListener cannot be converted to GenericListener_Void)
where T is a type-variable:
T extends Event declared in method <T>postEvents(GenericListener_Void,List<T>)
/Users/scottterry/git/QuickBlue_Android/sweetblue/library/src/main/java/com/idevicesinc/sweetblue/P_DeviceManager.java:487: error: incompatible types: DiscoveryListener cannot be converted to GenericListener_Void
m_mngr.postEvent(listener, event);
^
/Users/scottterry/git/QuickBlue_Android/sweetblue/library/src/main/java/com/idevicesinc/sweetblue/P_DeviceManager.java:554: error: incompatible types: DiscoveryListener cannot be converted to GenericListener_Void
device.getManager().postEvent(listener, event);
^
/Users/scottterry/git/QuickBlue_Android/sweetblue/library/src/main/java/com/idevicesinc/sweetblue/P_UhOhThrottler.java:81: error: incompatible types: UhOhListener cannot be converted to GenericListener_Void
m_mngr.postEvent(m_uhOhListener, event);
^
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
Note: Some messages have been simplified; recompile with -Xdiags:verbose to get full output
13 errors
Note: I also tried just cloning this repo directly and trying to run the integration
module and i get the exact same errors.
FYI in your project build.gradle file you need to swap jcenter() and google() so that google() comes first. Also i had to add google() as a dependency under allprojects.repositories. Gradle would not even sync for me until i did these things. This SO post led me to this conclusion: https://stackoverflow.com/questions/50786296/failed-to-resolve-common-open-file-gradle-build
buildscript {
repositories {
google()
jcenter()
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.1.2'
classpath 'commons-codec:commons-codec:1.8'
//classpath 'org.apache.ant:ant-jsch:1.7.1', 'jsch:jsch:0.1.29'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
google()
jcenter()
mavenCentral()
}
}
Its possible that I am using a newer version of Android Studio that you guys are. Perhaps that is why things are not working for me. Listed below is the version I am using:
Android Studio 3.1.3 Build #AI-173.4819257, built on June 4, 2018 JRE: 1.8.0_152-release-1024-b01 x86_64 JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o Mac OS X 10.13.6