Tag: android studio

纯粹的kotlin模块中的“空测试套件”。 (斯波克/ Android装置)

我的Android应用程序是多模块项目: include (android-app/kotlin-android)':application', (pure kotlin)':presentation', (pure kotlin)':domain', (android-library/kotin-android)':dataproviders' 模块:应用程序和:数据提供者与Spock正常工作,测试运行和完成没有问题。 但是:纯粹kotlin模块的表现和领域与spock框架有问题。 有我简单的例子: MostPopularPresenterTest.groovy class MostPopularPresenterTest extends Specification { def "exampleTest"(){ when: int i = 1 then: i == 1 } } 此测试以错误结束: 未找到类:“pl.hypeapp.presentation.mostpopular.MostPopularPresenterTest”空的测试套件。 但是,用Java / Junit4写的测试通过并没有发生任何错误: MostPopularPresenterTest2.java public class MostPopularPresenterTest2 { @Test public void test(){ assertEquals(1, 1); } } 我正在使用Android Studio 3.0 Canary 5你可以看看我在github上的build.gradle文件: 的build.gradle dependencies.gradle […]

Kotlin:声明一个Activity静态的子类

在将Java代码转换为包含子类Fragment的Activity后,布局将无法正确渲染(logcat错误朝向本文底部)。 我想,因为声明一个活动的子类必须声明为静态的 ,这是我转换为Kotlin后的: class SettingsActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_settings) } override fun onOptionsItemSelected(item: MenuItem): Boolean { if (item.itemId == android.R.id.home) { finish() return true } return super.onOptionsItemSelected(item) } // Apparently the following class must be declared static. class SettingsFragment : PreferenceFragmentCompat(), OnSharedPreferenceChangeListener { override fun onCreatePreferences(savedInstanceState: Bundle, rootKey: String) […]

是否可以在Android Studio中将我的Kotlin文件移动到单独的包(源类型)中?

默认文件夹结构如下所示: app: -manifests -java -res 有没有一种方法可以在这里为kotlin创建另一个文件夹? 所以它会看起来像这样: app: -manifest -java -kotlin -res

在Android studio-Kotlin eroor中创建一个新项目

我对Kotlin非常陌生,我正在创建一个支持Android Studio 3.0 Canary中的Kotlin的新项目。 这个项目有两个问题。 R文件没有得到解决 包名称必须是“。” 分离标识符列表 我现在应该怎么做? 提前致谢。

我怎么能将InputStream转换成kotlin中的BufferInputStream

如何将InputStream转换为Kotlin中的BufferInputStream? fun ConvertStreamToString(inputStream:InputStream): String { val bufferreader=BufferedReader(InputStreamReader(inputStream)) var line= String var AllString:String="" try { do { line=bufferreader.readLine() if (line!=null){ AllString+=line }

Android工作室代码覆盖不显示任何Kotlin类

我有2个基于Kotlin的AS项目。 一个正常工作,另一个没有。 两者具有相同的结构和gradle配置。 我使用Kotlin 1.1.4-2和AS 3.0b2。 问题是,当我运行代码覆盖时,我测试的类甚至不在覆盖报告中显示。 我看到的唯一的东西是R.java和BuildConfig.java,但没有找到我的源文件。 所有源文件都是基于Kotlin的。 我正在使用Spek进行单元测试。 与我的其他功能项目相同的设置和版本。 我尝试使用JaCoCo和Jetbrains代码覆盖率,都没有工作。 我很抱歉,我还无法嵌入图片。 这是问题: 覆盖率报告 这是我的项目结构: 文件结构 这里是我的gradle android块: compileSdkVersion 26 buildToolsVersion "26.0.1" defaultConfig { minSdkVersion 16 targetSdkVersion 26 versionCode 1 versionName libraryVersion } buildTypes { debug { testCoverageEnabled = true } release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } 和我的依赖: implementation fileTree(dir: 'libs', […]

Android Studio更新到0.6后,Kotlin问题

在Android Studio更新到0.6之后,Kotlin项目gradle同步失败。 日志包含: 2014-06-11 13:43:50,138 [ 24510] INFO – .BaseProjectImportErrorHandler – Failed to import Gradle project at 'projectpath' org.gradle.tooling.BuildException: Could not run build action using Gradle distribution 'http://services.gradle.org/distributions/gradle-1.12-all.zip'. at org.gradle.tooling.internal.consumer.ResultHandlerAdapter.onFailure(ResultHandlerAdapter.java:53) at org.gradle.tooling.internal.consumer.async.DefaultAsyncConsumerActionExecutor$1$1.run(DefaultAsyncConsumerActionExecutor.java:57) at org.gradle.internal.concurrent.DefaultExecutorFactory$StoppableExecutorImpl$1.run(DefaultExecutorFactory.java:64) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:744) at org.gradle.tooling.internal.consumer.BlockingResultHandler.getResult(BlockingResultHandler.java:46) at org.gradle.tooling.internal.consumer.DefaultBuildActionExecuter.run(DefaultBuildActionExecuter.java:43) at org.jetbrains.plugins.gradle.service.project.GradleProjectResolver.doResolveProjectInfo(GradleProjectResolver.java:183) at org.jetbrains.plugins.gradle.service.project.GradleProjectResolver.access$300(GradleProjectResolver.java:64) at org.jetbrains.plugins.gradle.service.project.GradleProjectResolver$ProjectConnectionDataNodeFunction.fun(GradleProjectResolver.java:358) at org.jetbrains.plugins.gradle.service.project.GradleProjectResolver$ProjectConnectionDataNodeFunction.fun(GradleProjectResolver.java:330) at org.jetbrains.plugins.gradle.service.project.GradleExecutionHelper.execute(GradleExecutionHelper.java:203) at […]

插件错误:Kotlin抛出未捕获的IllegalStateException

第二(我相信,也可能是第三)今天我遇到了这个问题 插件错误:Kotlin抛出未捕获的IllegalStateException。 唯一的选择是禁用插件。 我不这样做,只需重新启动Android Studio(3.0 Beta 6)。 到目前为止,我还没有遇到除了一次性弹出窗口以外的任何副作用,所以我想这可能只是与我的意外误导(这仍然是一个非常奇怪的原因,完全失败),但有什么办法来检查发生了什么? 因为这个错误信息没有说太多,即使我什么都不能做,所以报告这样的事情是没有用的。 如果有问题,我最近更新了kotlin插件(因为android studio向我展示了一个弹出窗口,提示我应该这样做)。 当然,我也更新了我的gradle构建文件,以便它读取 ext.kotlin_version = '1.1.4-3' 但是,因为我只是在学习Kotlin,所以我没有真正用它来说明是否可能发生了,如果我没有更新Kotlin插件的话。 所以它可能会或可能不会有关系。 ¯\ _(ツ)_ /¯

针对Kotlin文件的IntelliJ和Android Studio图标

我一直在试图理解什么IntelliJ(和Android Studio)正在做我的Kotlin文件图标。 在图片中,您可以看到Kotlin文件带有两个不同的图标 – 一个带有小“K”的矩形或带有小“K”的圆圈C(图中红圈)。 矩形版本还包含一个有用的“.kt”后缀。 在对这个问题的黑盒子进行了一些修改之后,看起来如果kotlin文件只是声明了一个与文件名匹配的类,那么它就会得到一个“圈出来的C”图标。 但是,如果它执行的任何类似于非Java的任何操作(如在类之外声明一个变量(例如val foo = 42 )),则图标将移至具有“K”的矩形。 这里的图标文档表明,IntelliJ认为具有“K”的矩形是“Kotlin文件”,而圈出的C是“Kotlin类”。 有人知道这是否有更深的含义? 我想我会在课堂外加入一个val声明来让我的Kotlin文件图标符号全部匹配。 然后他们也将有方便的“.kt”扩展名,以清楚地表明他们是Kotlin文件。 例如 – 这里是代码,将文件Foo.kt中您的图标更改为一个“K”的矩形: val bar = 42; class Foo {}

Android工作室插件ID:'kotlin-android-extensions'

我正在使用gradle,并且正在尝试将kotlin添加到我的项目中。 但是当我试图为gradle添加“kotlin-android-extensions”插件时,它无法找到它。