Tag: android studio

注释处理器不工作 – 不创建文件

我现在已经找到了为什么我自己的注释处理器不能在我的一个项目中工作的原因。 安装如下所示: Android Studio 2.3.3 gradle构建工具2.3.3 注释处理器在android studio中启用 我尝试了常见的解决方案: 从Android Studio最近删除我的项目 无效缓存并重新启动android studio 再次导入我的项目到android studio(确保注释处理启用之前) 没什么帮助。 我有另一个项目中的注释处理工作,并将其与这个项目进行了比较。 唯一的区别是我在其他项目中使用kotlin。 所以我只是添加以下到我的新项目: Kotlin和apply plugin: 'kotlin-android'和突然注释处理工程。 为什么? 我还没有发现任何关于这个,但在我的情况下,注解处理不再工作了(在旧的Android版本,它确实做了,不知道什么时候破了),而不应用kotlin插件… 据我所知,我不必应用注释处理器插件,对吗? 我错过了别的吗? 示例build.gradle : apply plugin: 'com.android.library' apply plugin: 'me.tatarka.retrolambda' apply plugin: 'kotlin-android' android { if (project.hasProperty('setup.compileSdk')) { compileSdkVersion setup.compileSdk buildToolsVersion setup.buildTools defaultConfig { minSdkVersion setup.minSdk targetSdkVersion setup.targetSdk } } else […]

Kotlin:由于textView,Android应用程序意外停止

这里是一个简单的代码,我正在运行 class Second : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) //val intent = intent.getStringExtra("textValue").toString() val text: TextView //text = findViewById(R.id.textView) as TextView // this statement //text.text = "New Text" setContentView(R.layout.second) } } 这是textView代码 <TextView android:id="@+id/textView" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Second Activity!" /> 现在,当我取消注释textView代码的应用程序停止工作,并没有这些行的作品可能是什么原因?

Android Studio中的R.drawable的访问会引发KotlinFrontEndException

对于Android开发,我使用Kotlin插件0.10.206。 当我尝试通过R.drawable访问资源时。 Android Studio(1.0.2)在事件日志中显示,每当我在该文件中执行某些操作(添加代码/删除代码/滚动)时,KotlinFrontEndException被发送。 我做错了什么或者是插件中的错误? 有人知道解决方案吗? 这是导致异常的代码部分之一: val notification = notificationBuilder .extend(NotificationCompat.WearableExtender().addPage(secondPageNotification) .setBackground(loadBitmapFromAsset(R.drawable.clock_background)) ) .build() 这里是例外说明: Exception in processing references for copy paste in file MainActivity.kt}: Exception while analyzing expression at (218,60) in /Users/jp/AndroidStudioProjects/…/MainActivity.kt: R.drawable.clock_background at org.jetbrains.jet.lang.types.expressions.ExpressionTypingVisitorDispatcher.getTypeInfo(ExpressionTypingVisitorDispatcher.java:167) at org.jetbrains.jet.lang.types.expressions.ExpressionTypingVisitorDispatcher.getTypeInfo(ExpressionTypingVisitorDispatcher.java:103) at org.jetbrains.jet.lang.types.expressions.ExpressionTypingServices.getTypeInfo(ExpressionTypingServices.java:173) at org.jetbrains.jet.lang.resolve.calls.ArgumentTypeResolver.getArgumentTypeInfo(ArgumentTypeResolver.java:187) at org.jetbrains.jet.lang.resolve.calls.ArgumentTypeResolver.analyzeArgumentsAndRecordTypes(ArgumentTypeResolver.java:254) at org.jetbrains.jet.lang.resolve.calls.CallResolver.doResolveCall(CallResolver.java:423) at org.jetbrains.jet.lang.resolve.calls.CallResolver.doResolveCallOrGetCachedResults(CallResolver.java:359) at org.jetbrains.jet.lang.resolve.calls.CallResolver.resolveFunctionCall(CallResolver.java:312) at org.jetbrains.jet.lang.resolve.calls.CallExpressionResolver.getResolvedCallForFunction(CallExpressionResolver.java:79) at org.jetbrains.jet.lang.resolve.calls.CallExpressionResolver.getCallExpressionTypeInfoWithoutFinalTypeCheck(CallExpressionResolver.java:184) […]

Android Studio / Kotlin – 无效错误“覆盖方法应该调用超级”

我有一个由一个ContainerActivity类扩展的BaseActivity类。 因为我想在其他几个项目中使用BaseActivity ,所以我将它移动到一个Android库中,并作为Gradle依赖项添加到这些其他项目中。 除了移动Base类之外,在扩展它的类中没有任何代码改变。 然而,他们现在都有覆盖方法的错误,超级方法用@CallSuper注释。 这个子类仍然在调用超级方法。 我也可以编译和运行没有问题的项目。 这是错误消息的图像。 这里是一个图像,你可以看到我实际上是调用超级方法。 (从onCreate中删除了额外的代码) 这是BaseActivity 有没有人找到一个解决方案,让IDE认识到这不是一个错误? 更新: 我添加了一个应用程序模块到我的图书馆项目。 他们也有同样的错误。 看起来像包含一个库的任何东西,如果从@CallSuper注释的库中扩展一个方法,就会显示错误

错误:执行任务':app:javaPreCompileDebug'失败。 > java.io.IOException:无法删除annotationProcessors.json

我正在尝试在Android Studio 3.0 Canary 2中的Kotlin中进行编码。当我在代码中进行更改时,我必须从Build – > Rebuild Project然后运行重建完整的应用程序 在对代码进行更改之后,只需点击运行按钮,就会随机显示此错误。 错误:执行任务':app:javaPreCompileDebug'失败。 java.io.IOException:无法删除C:\ Users \ williams \ AndroidStudioProjects \ Kotlin \ FirstDemo \ app \ build \ intermediates \ javaPrecompile \ debug \ annotationProcessors.json 可能是什么问题? 这似乎与构建工具或Kotlin编译器的问题,因为它适用于Java 。 顶级build.gradle // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { ext.kotlin_version = […]

Android的kotlin onTouchListener要我重写performClick()

我试图摆脱Android Studio要求我的onTouchListener重写performClick,我做的警告,但警告仍然存在。 draggableBar!!.setOnTouchListener(View.OnTouchListener { view, motionEvent -> when (motionEvent.getAction()) { MotionEvent.ACTION_DOWN -> { } MotionEvent.ACTION_UP -> { view.performClick() } } return@OnTouchListener true }) 这可能是一个Android Studio错误,或者我做错了什么?

Getpreferences不能在片段中工作

像findViewById , getSharedPreferences命令不工作内部Fragment我正在使用kotlin,我的代码如下 fun update (v:View){ Val sharedpref = getSharedPreferences("logindata",Context.MODE_PRIVATE)} LOG E/AndroidRuntime: FATAL EXCEPTION: main Process: com.techno.app, PID: 25691 java.lang.IllegalStateException: Could not find method update(View) in a parent or ancestor Context for android:onClick attribute defined on view class android.support.v7.widget.AppCompatButton at android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.resolveMethod(AppCompatViewInflater.java:327) at android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:284) at android.view.View.performClick(View.java:5721) at android.widget.TextView.performClick(TextView.java:10936) at android.view.View$PerformClick.run(View.java:22620) at android.os.Handler.handleCallback(Handler.java:739)

Kotlin在Android Studio 3.0-alpha8中应用()扩展lint消息

亲爱的Stackoverflow同仁! 我有以下代码,产生followin lint错误。 fun newInstance(message: String?): DialogFragment { return DialogFragment().apply { arguments = Bundle().apply { putString("arg", message) } } } 该消息指出, apply()函数中的this引用指向BaseBundle类,它是API 21以来可用的,它将在较低的API上崩溃。 Bundle#putString(key,value)在低版本上肯定可用,但在Android Studio 3.0-alpha8中有错误。 这个问题很奇怪,因为我可以看到反编译的代码是这样的: 哪个引用Bundle类型不是BaseBundle 。 为什么我们首先有Lint错误?

Android Studio 3.0 – 无法找到方法'com.android.build.gradle.internal.variant.BaseVariantData.getOutputs()Ljava / util / List'

试图用Android Studio 3.0 Canary 1启动一个新的Kotlin项目显示这个错误。 全迹: 错误:无法找到方法'com.android.build.gradle.internal.variant.BaseVariantData.getOutputs()Ljava / util / List;'。 这种意外错误的可能原因包括: Gradle的依赖关系缓存可能已损坏(有时发生在网络连接超时之后)。重新下载依赖项并同步项目(需要网络) Gradle构建过程(守护进程)的状态可能已损坏。 停止所有的Gradle守护进程可能会解决这个问题。 停止Gradle构建过程(需要重新启动) 您的项目可能使用与项目中的其他插件或项目请求的Gradle版本不兼容的第三方插件。 在损坏的Gradle进程的情况下,您也可以尝试关闭IDE,然后杀死所有的Java进程。 我已经尝试了前两个选项,第三方插件是默认的。 gradle-wrapper.properties #Thu May 18 08:36:52 BST 2017 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists distributionUrl=https\://services.gradle.org/distributions/gradle-4.0-milestone-1-all.zip 的build.gradle // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { ext.kotlin_version = '1.1.2-3' repositories { maven { […]

它被认为是惯用的,总是喜欢属性而不是支持字段?

我最近使用Android Studio的Kotlin插件将Android项目从Java转换为Kotlin。 转换后,我的班级中的许多字段都被突出显示,并且将鼠标悬停在其上显示消息 这个属性有一个后台字段 我是否应该从这个消息/警告的存在推断出,它总是被认为比较习惯(在Kotlin中)使用明确定义的getter和/或setter的属性? 或者,IDE对信息消息有点太过分热心了? 包含对官方消息来源的引用的答案优先:)