Tag: android studio

在哪种情况下,Kotlin构造函数参数中需要val / var?

正确的代码: class MainActHandler(val weakActivity: WeakReference<Activity>): Handler() { override fun handleMessage(msg: Message?) { val trueAct = weakActivity.get() ?: return if (msg?.what == ConversationMgr.MSG_WHAT_NEW_SENTENCE){ val sentence = msg.obj as String? trueAct.conversation.text = sentence } super.handleMessage(msg) } } 不能解决的代码: class MainActHandler(weakActivity: WeakReference<Activity>): Handler() { override fun handleMessage(msg: Message?) { val trueAct = weakActivity.get() ?: return if (msg?.what == […]

Kotlin库'classes.jar'具有不受支持的格式。 请更新库或插件

此消息出现在项目同步上。 我试图清理和重建项目,但没有成功。 我正在使用最新的插件版本0.12.275,“org.jetbrains.kotlin:kotlin-gradle-plugin:0.12.213”和“org.jetbrains.kotlin:kotlin-stdlib:0.12.213” 我已经试过稳定版本0.12.200插件和库,但我得到了同样的错误。 我正在使用Android Studio AI-141.1972460(金丝雀频道)。

Android Studio 3.0和gradle升级 – 创建apk时缺少base.apk代码

我试图在Android Studio 3.0(stable)中将我的gradle从2.3.3升级到3.0.0。 项目建立良好,但我创建/安装APK时遇到问题: Failure [INSTALL_FAILED_INVALID_APK: Package couldn't be installed in /data/app/xxxx Package /data/app/xxxx/base.apk code is missing] $ adb shell pm uninstall xxxx Unknown failure (at android.os.Binder.execTransact(Binder.java:674)) Error while Installing APK 如果我构建独立的APK并直接安装在设备/模拟器上,我得到它是格式不正确/不正确。 项目与Kotlin和DexGuard 8.0.12应该允许Kotlin和gradle 3.0。 什么是更令人讨厌的事实是,问题持续事件后恢复到2.3.3 gradle(清洁&无效,清洁生成,删除/构建路径 – 我试了一下)。

如何控制何时在Android Studio中通过Kotlin文件中的通配符替换Imports

我注意到,从同一个软件包中最多输入4个数据,自动导入将简单地在列表中添加导入: import android.support.v7.widget.AppCompatImageButton import android.support.v7.widget.LinearLayoutManager import android.support.v7.widget.RecyclerView import android.support.v7.widget.Toolbar 但添加第五个导入将使自动导入切换到通配符: import android.support.v7.widget.* 有没有办法保持自动导入,但告诉它不这样做,或更改门槛? 我不介意有一个长长的进口清单,这感觉…熟悉。

禁止“Android中不允许使用的标识符”

对于我在Kotlin中编写的应用程序,我使用反向测试的方法名称,如下所示: fun `API login error – don't save token or user`() { 它的工作原理,测试编译和工作没有问题,但在Android Studio Lint标记这些方法为错误,消息Identifier not allowed in Android 。 有没有什么办法可以抑制这一点,使Lint检查通过没有错误,并没有在Android Studio中用红色下划线标记?

找不到类databinding.FragmentBinding

我试图在我的片段中使用数据绑定,但在运行时出现以下错误: Could not find class 'com.example.databinding.FragmentUpSellBinding', referenced from method com.example.UpSellFragment.onCreateView 其结果是: FATAL EXCEPTION: main Process: nl.anwb.fietsen.debug, PID: 5563 java.lang.IllegalStateException: DataBindingUtil.inflate(…r, false) must not be null` 我的build.gradle看起来像这样: apply plugin: 'com.android.library' apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions' apply plugin: 'kotlin-kapt' android { dataBinding { enabled = true } } kapt { generateStubs = true } dependencies { […]

Gradle同步失败:原因:com / android / build / gradle / BaseExtension

我从github下载了一个项目,然后试图构建它。 但是,一旦Gradle运行,Android Studio(2.3.3)的事件日志显示了我: Gradle sync failed: Cause: com/android/build/gradle/BaseExtension Consult IDE log for more details (Help | Show Log) 并且 Error:(18, 0) com/android/build/gradle/BaseExtension <a href="openFile:C:\Users\Gustavo\AndroidStudioProjects\simpletask-android\app\build.gradle">Open File</a> 看起来Gradle在正确的位置找不到Kotlin,但是我不知道如何改变它。 Kotlin安装并更新(版本1.1.3)。 它也被配置为项目中“app”模块的依赖项。 但是,如上图所示,项目看到的外部库的版本是1.0.6而不是1.1.3。 这是问题吗? 我怎样才能改变这个外部库?

Android Studio kaptDebugKoltin内部编译器错误

我的kotlin安卓项目只是停下来建立和运行。 我不知道哪里出了问题,但前几天一切都很好。 现在重建它说: 日志包含以下内容: 2017-09-18 08:20:17,691 [ 870125] INFO – s.plugins.gradle.GradleManager – Instructing gradle to use java from D:/progs/Android Studio/jre 2017-09-18 08:20:17,752 [ 870186] INFO – ild.invoker.GradleBuildInvoker – Build command line options: [–configure-on-demand, -Pandroid.injected.invoked.from.ide=true, –init-script, C:\Users\User2\AppData\Local\Temp\asLocalRepo5085.gradle] 2017-09-18 08:20:17,753 [ 870187] INFO – xecution.GradleExecutionHelper – Passing command-line args to Gradle Tooling API: [–configure-on-demand, -Pandroid.injected.invoked.from.ide=true, –init-script, C:\Users\User2\AppData\Local\Temp\asLocalRepo5085.gradle] […]

Android Studio gradle项目(不是android项目),同步使gradle库丢失

使用Android Studio,而不是Intellij Kotlin gradle项目,没有android的东西。 同步build.gradle时丢失了图书馆。 很奇怪的行为。 同样的项目与Intellij很好地结合在一起。

领域,初始化一个空的字符串数组返回“不支持的类型java.lang.String ”上生成

我试图初始化一个Kotlin类中的空字符串数组,但是这样的语法似乎是逃避我,我已经检查了Kotlin文档,我认为我以正确的方式做,但是我总是最终当它生成时有以下消息: Error:Execution failed for task ':core:compileDebugJavaWithJavac'. > java.lang.IllegalStateException: Unsupported type java.lang.String[] 我已经尝试了下面的方法初始化它,Android Studio不红线任何这些。 var categories = emptyArray<String>() var categories = arrayOf<String>() var categories: Array<String> = emptyArray() var categories: Array<String> = arrayOf() 它似乎是一个bug,有趣的是,它影响了我以前在AS 2.3.2上稳定的Kotlin设置,奇怪的是,当我试图创建字符串列表时,我得到了相同的构建错误。 所以它似乎是一个特别在我的笔记本电脑上的错误,我使用相同版本的AS在我的桌面上运行完全相同的代码,在同一个项目上,一切都完全相同,然后编译。 好了,这个bug现在正在影响我使用普通Java的桌面,甚至没有Kotlin,下面是gradle stacktrace: Exception is: org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':core:compileDebugJavaWithJavac'. at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:84) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:55) at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:62) at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58) at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:88) at […]