728x90

[현상]

개인프로젝트 중 힐트 어노테이션 의존성(?)을 추가하니 빌드에러가 난다..... 

    ksp(libs.hilt.android.compiler)

 

[원인]

KSP 는 아직 힐트를 지원하지 않음

 

https://issuetracker.google.com/issues/179057202

 

Google Issue Tracker

 

issuetracker.google.com

 

증말 너무한다잉

 

 

[해결]

kapt 로 돌아가야한다 뿌엥...

 

Before

plugins {
	// ...
    id("com.google.devtools.ksp")
}

dependencies {
	// ...
        ksp(libs.hilt.android.compiler)
}

 

After

plugins {
	// ...
    kotlin("kapt")
}

dependencies {
	// ...
        kapt(libs.hilt.android.compiler)
}

 

혹시 추가 설명이 필요하신 분은 아래 링크 참고 

 

https://kotlinlang.org/docs/kapt.html#annotation-processor-arguments

 

kapt compiler plugin | Kotlin

 

kotlinlang.org

 

그렇게... 나의 빌드속도 향상이여...안녕히... 

android dev 의 'Migrate from kapt to KSP' 문서에서 발췌..

 

모듈화가 되어있기는 하나 Hilt 는 뭐 거의 다 쓰이기때문에.....하..... 

그냥 업뎃을 기다려야겠다

 

그래서 프로덕션에서는 maintenance 상태인 kapt 를 쓰는구나....ㅎ

728x90
728x90

요즘 자기전에 짬짬히 읽어서 1~4장까지 오늘 읽었따

아직 코딩은안해봤는데 여기까지는 안드 스터디잼 하면서 뭣도모르고 짜증내면서 따라서 코딩해본(?) 부분이라서 헐 이게 이뜻이었구낭~ 하면서 읽어가는 중이다.... 

1~4장 리뷰 한번에 쓰려했는데 쓰다보니 많아져서 따로써야겟당 낼마저 쓸..까..?

 

1장 

간단히 스튜디오 설치와 SDK등에 대해 얘기해주고, 

레이아웃 파일과 리소스 등의 파일 구조에 대해 알려준다. 

리소스의 리소스 ID는 R.class에 자동으로 생성된다는 것....

여기서 아항 그래서 맨날 R.class.뭐시기 하는구나 했다 (당연한건데 설명해줘야 아는 ㅠㅠ)

 

그리고 간단히 버튼을 만들고 리스너를 설정해보는데 

Button객체를 선언하면서 lateinit을 사용하는 이유를 배웠다... 

클래스 속성 정의시 초기화를 해야하는데 버튼객체가 인플레이트 되는 시점은 onCreate, setContnetnView가 호출되고 실행되는 때 이므로 그 밖에서 선언할 때는 lateinit을 사용하는 것이다. 

 

그리고 예시에서 리스너를 익명 클래스로 사용하는데 이 부분은 배우긴 했지만 뭔가 맘으로 잘 안받아들여져서.. ㅠㅠ 코틀린 문법 공부를 더해야하나 싶다... 

 

텍스트로 된 책인데도 자동 임포트 같은 부분을 잘 알려줘서 참 좋당 가끔 이런거 다 안쓰고 타이핑하게 만드는 악덕한책들도있는데 하하.... 아니 그게 배우는 과정이라면 할말은 없지만.... 

 

암튼 뭐든지 사용할때 뭘 상속받은 클래스인지 파라미터의 의미는 뭔지 친절하게 설명해주니 참 좋다.... 

 

마지막 부분에는 빌드 과정에 대해서도 간략히 소개하여 그 부분을 3번은 읽어보았당

 

 

 

 

근데 처음...처음만드는 사람이 보기엔 좀 어렵지않낭..? 아니 경력 프로그래머면 괜찮으려나 ㅠㅠ 책제목이 실무 어쩌구니깐..... 

 

728x90

+ Recent posts