La class Kotlin Custom View implementa una interfaz que no se puede resolver en `: app: compileDebugKotlinAfterJava`. La versión idéntica de Java funciona bien

Tengo un proyecto de Android que contiene un aar library module con classs genéricas que se utilizan como base para varias aplicaciones. Todo está escrito en Kotlin y no se ha utilizado código Java (excepto bibliotecas de terceros).

El problema ocurre al tratar de armar la aplicación para ejecutar. Me aparece el siguiente error al intentar ejecutar mi aplicación:

 :app:compileDebugKotlinAfterJava e: Supertypes of the following classes cannot be resolved. Please make sure you have the requinetworking dependencies in the classpath: class com.test.app.view.ECMKotlinTextView, unresolved supertypes: com.test.lib.localization.Localizable 

A los efectos de esta pregunta, he escrito dos versiones separadas de un TextView personalizado que amplía la class android.widget.TextView e implementa una interfaz, digamos Localizable ; uno en Java y el otro en Kotlin .

ECMJavaTextView.java

 package com.test.lib.view; import android.annotation.TargetApi; import android.content.Context; import android.os.Build; import android.util.AttributeSet; import android.widget.TextView; import com.test.lib.localization.Localizable; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import java.util.Map; public class ECMJavaTextView extends TextView implements Localizable{ public ECMJavaTextView(Context context) { super(context); } public ECMJavaTextView(Context context, AttributeSet attrs) { super(context, attrs); } public ECMJavaTextView(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); } @TargetApi(Build.VERSION_CODES.LOLLIPOP) public ECMJavaTextView(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) { super(context, attrs, defStyleAttr, defStyleRes); } @Nullable @Override public String getTextId() { return "JAVA TEXT ID"; } @Override public void setTextId(@Nullable String s) { } @Nullable @Override public Map<String, String> getTextArgs() { return null; } @Override public void setTextArgs(@Nullable Map<String, String> map) { } @Override public void updateText(@NotNull String text) { } } 

ECMKotlinTextView.kt

 package com.test.lib.view import android.annotation.TargetApi import android.content.Context import android.graphics.Canvas import android.os.Build import android.util.AttributeSet import android.util.Log import android.widget.TextView import com.test.lib.localization.Localizable import com.test.lib.localization.updateText class ECMKotlinTextView : TextView , Localizable { override var textId: String? = "textID" get() = field set(value) { field = value } override var textArgs: Map<String, String>? = null get() = field set(value) { field = value } override fun updateText(text: String) { } constructor(context: Context?) : super(context){ } constructor(context: Context?, attrs: AttributeSet?) : super(context, attrs) { } constructor(context: Context?, attrs: AttributeSet?, defStyle: Int) : super(context, attrs, defStyle) { } @TargetApi(Build.VERSION_CODES.LOLLIPOP) constructor(context: Context?, attrs: AttributeSet?, defStyle: Int, defStyleRes: Int) : super(context, attrs, defStyle, defStyleRes) { } override fun onDraw(canvas: Canvas?) { super.onDraw(canvas) } } 

Ambos tienen layouts xml en el module de la biblioteca y los main_activity.xml en el file main_activity.xml . findViewbyId() aislar el problema en el método findViewbyId() (aquí uso la biblioteca kotlin-extensions para get las vistas, intenté con ambas).

MainActivity.kt

 import kotlinx.android.synthetic.main.content_main.* class MainActivity : BaseActivity(), NavigationView.OnNavigationItemSelectedListener { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) var java_textV = demo_java_text_view as ECMJavaTextView Log.d("JAVA", "${java_textV.textId}") var kotlin_textV = demo_kotlin_text_view as ECMKotlinTextView Log.d("Kotlin", "${kotlin_textV.textId}") } ... 

El segundo elenco siempre da el error mencionado anteriormente, pero si ECMKotlinTextView el elenco ( ECMKotlinTextView ) no tengo acceso a los methods Localizable que necesito. Un punto más interesante es que la class JAVA funciona como se esperaba.

No estoy seguro de si es algo que me falta o no tengo configurado o si actualmente es un error en los complementos de Kotlin. puede alguien ayudarme con esto? Alguna idea sería muy apreciada.