Anko: Android Studio 3.1 Canary 3 can';t see ANko Preview

Created on 16 Nov 2017  路  11Comments  路  Source: Kotlin/anko

I install latest Anko Support and

declare as below

class MyActivityUI : AnkoComponent {
override fun createView(ui: AnkoContext) = ui.apply {
verticalLayout {
val name = editText()
button("Say Hello") {
onClick { ctx.toast("Hello, ${name.text}!") }
}
}
}.view
}

class IEOverViewActivity : AppCompatActivity(), NavigationView.OnNavigationItemSelectedListener {

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState) 
    MyActivityUI().setContentView(this)
}

Still , View > Tool Windows can't see Anko Preview / Anko Support Preview

please tell me what to do, thanks.

bug fixed

Most helpful comment

This issue is related to Kotlin 1.1.6+, fixed plugin will be published soon

All 11 comments

Same here with AS 3.0.0

Any logged exceptions?

Same for 3.0. I get an "Anko Support threw an uncaught NoClassDefFoundError" and the preview view is grey with only the text "__anko.preview.View" in it.

@DFreds Could you please post stacktrace? It should be available via red icon in bottom-right corner after exception happened.

@4u7 do you mean this?
org/jetbrains/kotlin/codegen/CodegenFileClassesProvider
java.lang.NoClassDefFoundError: org/jetbrains/kotlin/codegen/CodegenFileClassesProvider
at org.jetbrains.kotlin.android.dslpreview.DslPreviewClassResolver.resolveClassDescription(DslPreviewClassResolver.kt:113)
at org.jetbrains.kotlin.android.dslpreview.UpdateActivityNameTask.processRequest(UpdateActivityNameTask.kt:42)
at org.jetbrains.kotlin.android.dslpreview.UpdateActivityNameTask.processRequest(UpdateActivityNameTask.kt:12)
at org.jetbrains.kotlin.idea.util.LongRunningReadTask$1$1.run(LongRunningReadTask.java:110)
at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:931)
at org.jetbrains.kotlin.idea.util.LongRunningReadTask$3.run(LongRunningReadTask.java:226)
at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$1(CoreProgressManager.java:176)
at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:556)
at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:501)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:66)
at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:163)
at org.jetbrains.kotlin.idea.util.LongRunningReadTask.runWithWriteActionPriority(LongRunningReadTask.java:223)
at org.jetbrains.kotlin.idea.util.LongRunningReadTask$1.run(LongRunningReadTask.java:105)
at com.intellij.openapi.application.impl.ApplicationImpl$2.run(ApplicationImpl.java:334)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)

This issue is related to Kotlin 1.1.6+, fixed plugin will be published soon

exception fixed with 3367ad5cda1a510514012ddd12c7ad052ed9f9e6

Preview should work normally with upcoming AS 3.1 Canary 5 update, otherwise feel free to reopen.

I follow your instruction and search "Convert to Anko Layout DSL" , can't find

How to solve it
java.lang.NoSuchMethodError: org.jetbrains.anko.AnkoContext$Companion.create(Landroid/content/Context;Z)Lorg/jetbrains/anko/AnkoContext;
at __anko.preview.View.init(Unknown Source)
at __anko.preview.View.(Unknown Source)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at org.jetbrains.android.uipreview.ViewLoader.createNewInstance(ViewLoader.java:481)
at org.jetbrains.android.uipreview.ViewLoader.loadClass(ViewLoader.java:264)
at org.jetbrains.android.uipreview.ViewLoader.loadView(ViewLoader.java:222)
at com.android.tools.idea.rendering.LayoutlibCallbackImpl.loadView(LayoutlibCallbackImpl.java:211)
at android.view.BridgeInflater.loadCustomView(BridgeInflater.java:337)
at android.view.BridgeInflater.loadCustomView(BridgeInflater.java:348)
at android.view.BridgeInflater.createViewFromTag(BridgeInflater.java:248)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:730)
at android.view.LayoutInflater.inflate(LayoutInflater.java:492)
at android.view.LayoutInflater.inflate(LayoutInflater.java:394)
at com.android.layoutlib.bridge.impl.RenderSessionImpl.inflate(RenderSessionImpl.java:325)
at com.android.layoutlib.bridge.Bridge.createSession(Bridge.java:384)
at com.android.tools.idea.layoutlib.LayoutLibrary.createSession(LayoutLibrary.java:193)
at com.android.tools.idea.rendering.RenderTask.createRenderSession(RenderTask.java:547)
at com.android.tools.idea.rendering.RenderTask.lambda$inflate$3(RenderTask.java:681)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)

Thanks 4u7 @4u7

Was this page helpful?
0 / 5 - 0 ratings

Related issues

bapspatil picture bapspatil  路  4Comments

AndwareSsj picture AndwareSsj  路  4Comments

evansherry picture evansherry  路  4Comments

SuleymanovTat picture SuleymanovTat  路  4Comments

mvysny picture mvysny  路  4Comments