2023.10.31(화)
- whereweare 앱도 실행시 오류가 난다. 구글플레이서비스가 다른 라이브러리와 충돌난다는 것이다. 그래서 충돌체크를 하지 않도록 설정했다. 그래들 설정에서 맨 하단에 아래 사항을 추가했다.
- 참고 사이트 : https://medium.com/@cheoldongchoi/could-not-determine-the-dependencies-of-task-in-project-app-a-resolved-google-play-services-212fe64028ae
googleServices { disableVersionCheck = true }
2023.10.29(일)
- 계속 중복된 라이브러리가 있다고 에러가 뜬다. 유튜브에서 알려준 대로 모듈 그래틀 설정파일에 아래 사항을 추가했더니, 해결되었다. (dependencies 안에 아래 추가)
constraints { implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.0") { because("kotlin-stdlib-jdk7 is now a part of kotlin-stdlib") } implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.0") { because("kotlin-stdlib-jdk8 is now a part of kotlin-stdlib") } }
- 앱이 미실행시 FCM을 받아서 실행이 되지 않는 문제를 해결했다. 첫번째 문제는 MainActivity가 세팅해야 하는 CallLetter를 백그라운드 수신시에는 세팅되지 않아 요청을 받지만 처리하지 못하고 있었다. 두번째 문제는 채널 설정이 제대로 되어 있지 않아 GpsService가 제대로 호출되지 않고 에러가 나면서 종료된다. LogCat을 통해 에어를 확인할 수 있었다. 그래틀이 업그레이드되어 자세한 에러를 확인할 수 있었던 거 같다. 이 두가지 문제를 해결하니, 미실행시에도 잘 동작한다. 그래서 화면을 쓸데없이 띄우는 기능은 제거했다.
- 채널 설정관련 도움받은 링크
2023.10.15(일)
- 버스에서 네비게이션 용도로 사용하는 태블릿에 버스위치 확인앱을 설치하기로 했다. 더 이상 내가 개인적으로 관리하지 않아 좋다.
- 버스앱이 종료되면 응답하지 않은 오류가 있어 태블릿에 저장된 로그를 보다가 수신응답은 하는데, 위치정보를 보내지 않은 이유를 알았다.
- MainActivity가 실행되지 않은 상태에서 알림으로 오는 경우 환경설정을 하지 않아 호출부호값이 없어 종료된다.
- 메세지가 수신시 값을 체크해서 환경변수를 레지스트리에서 읽어와야 한다.
- 오랜 만에 노트북에 설정된 개발환경에서 실행하는데도 오류가 난다. 이유는 google-services가 업데이트 되어 발생한 문제이다. 아래와 같이 수정했다.
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.6.2'
classpath 'com.google.gms:google-services:4.3.3'
}
}
참고사이트 : https://stackoverflow.com/questions/54055141/in-project-app-a-resolved-google-play-services-library-dependency-depends-on-a
- 컴파일이 에러 없이 잘 끝난 줄 알았는데, 다시 에러가 난다.
2023.11.26(일)
- github 에서 내려받아 Mac에서 안드로이드 스듀디오를 실행하니 에러가 뜬다. 하지만 진짜 오류는 다른 곳에 있었다. 오류가 발생하니 다음에 명시된 부분을 찾을 수 없다는 오류가 뜬 것이다. 또한 특수한 문자라서 인식할 수 없다는 부분도 윈도우의 Path 설정으로 오류가 난 것이다. 결국 경로만 다시 설정해 주니 실행이 잘 되었다.
2023.12.07(목)
- fcm 메세지를 보낼때 data만 보내는 경우 priority를 high로 설정해야 잠자기 모드에서도 메세지를 받을 수 있다.
- 포그라운서비스에서 5초 이내에 startforground()를 호출하지 않으면 종료된다.
- github에서 내려받아 실행하니, GpsService클래스가 생성된 후 startforGround()를 호출할 때 에러가 뜬다.
android.app.MissingForegroundServiceTypeException:
- 그래서 Manifest.xml파일에서 서비스 호출하는 타입을 지정해 주고 권한을 설정했더니, 잘 된다. (아래 사항은 그래들 버전에 따라 불필요한 경우도 있다.)
<uses-permission android:name=”android.permission.FOREGROUND_SERVICE_LOCATION” />
<service
android:name=”.GpsService”
android:enabled=”true”
android:stopWithTask=”false”
android:foregroundServiceType=”location” />
2023.12.10(일)
- 버스내 와이파이를 이용하는 운전사용 앱에서 발신이 늦은 건지, 발송순서와 무관하게 자료가 수신이 되었다. 순서대로 위치정보가 도착하지 않아 버스위치가 제멋대로 이다. 가까이 도착한 거 같은데, 아직 한참 전이라고 뜨기고 한다. 오차 범위가 5분이 넘어 문제가 있다.
- Thread 를 실행하고 통신이 되지 않아 어떤 순서대로 발송되는지는 몰라도 어쨌든 운전자용 앱의 통신이 되지 않아 문제가 발생한 거 같다.
- 대책은 없다. 그냥 버스 내 와이파이 사용량이 한계에 도달하지 않기를 바랄 뿐이다.