Tag: android studio

Android Studio和Kotlin:未解决的参考:也

也从Android Studio编译并运行: val greeted = "World".also { println("Hello $it") } 然而,编辑also强调, it是错误的,不要给intellisense任何帮助。 申请仍然有效,当我去源时,我可以看到既apply also定义。 我如何让Android Studio also能识别? Android Studio 2.3.3 kotlin_version ='1.1.3-2' Kotlin插件1.1.3-release-Studio2.3-2 我也有早期版本的这个问题。

使用kapt Android Studio进行注释处理

我正在尝试使用kapt来使用我的注释处理器。 但是我遇到了一些问题。 注释处理器jar这样连接: kapt files('libs/processor.jar') provided files('libs/processor.jar') 1)我正在使用JavaPoet进行代码生成。 并以这种方式拯救我的班级 JavaFile javaFile = JavaFile.builder(PACKAGE, typeSpec).build(); javaFile.writeTo(processingEnv.getFiler()); 但是它总是保存它以生成\ generated \ source \ kapt \ release,并且永远不会调试文件夹而不管构建变体。 2)第二个问题是,生成的文件有时不刷新,直到我按生成 – >重建

将现有的Android Studio项目添加到VSTS

我有一个使用Kotlin在Android Studio中开发的现有Android项目。 它尚未受版本控制。 我想将它添加到Visual Studio Team Services中一个新的传统TFVC项目中,而不是一个Git项目。 任何人都可以解释如何做到这一点,或指向我的教程? 我已经安装了Team Services插件并配置了TF可执行文件,但是现在我正在尝试将我的项目与新的或现有的TFVC项目关联起来。 我看到一个选项导入到Git TFS项目,但TFVC没有。 没有什么似乎完全符合我的需要。 任何指针?

升级Android Studio 2.3后DataBinding无法正常工作

DataBinding在我的项目中工作得很好,但今天升级Android Studio 2.3之后。 运行“应用程序”失败,因为以下错误: Error:(15, 40) Error: package com.javan.myrecorder.databinding not exist. import com.javan.myrecorder.databinding.FragmentEventsBinding; :app:compileMockDebugJavaWithJavac FAILED 我只是升级android工作室,并没有改变任何东西。 所有的插件是最新的! 现在我的问题是,为什么发生这个错误,我怎么能解决它? 任何帮助,欢迎! 英语不是我的母语; 请原谅我的错误。 EDIT1 像android项目googlesamples / android-architecture git checkout todo-databinding 然后运行./gradlew assembleDebug生成,由于以下错误生成失败: 完成建立日志 EDIT2 我已经解决了这个问题,因为在升级到Gradle 2.3之后破坏了数据绑定 。 在build.gradle(app)添加 apply plugin: 'com.android.application' apply plugin: 'com.neenbedankt.android-apt' ..balabala dependencies { apt 'com.android.databinding:compiler:2.3.0' } 我的项目中的一些文件: gradle-wrapper.properties #Mon Mar 06 10:59:04 CST […]

活动中的碎片奇怪的行为

原则上,软件应该是可预测的,但不是… 我创建了一个包含播放按钮的fragment (用于播放音频),因为我有许多活动需要播放一些音频,所以我们的活动只是通过XML导入片段,他们将音频文件放在一些预期的地方, fragment按需播放,或者当活动呈现给用户时自动播放。 到现在为止还挺好。 但令人惊奇的是,很长一段时间,我可以访问la Kotlin的fragment ,如果在活动XML中,片段有id→ fPlayer 。我可以在活动中做如fPlayer.tV1.text="whatever" 甚至在onStart事件fPlayer.play(bPlay) (从片段bPlay一个按钮),它工作了一段时间,直到我不得不求助于更经典的方法: val fragment = getFragmentManager().findFragmentById(R.id.fPlayer) if(fragment!=null) { val f2: PlayerFragment = fragment as PlayerFragment f2.tV1.text = "What ever" f2.play(bPlay) } 问题是它怎么可能起作用?

为什么试图访问常量值的未解决的参考?

该应用程序在Kotlin单例对象中定义常量: @file:JvmName("APIConstants") package com.myapp.api object APIConstants { const val HTTP_RESPONSE_CODE_NOT_AUTHORIZED = 401 etc…. } 然后他们被用于另一个班级: import com.myapp.api.APIConstants.HTTP_RESPONSE_CODE_NOT_AUTHORIZED etc … class API { private fun returnBadResponse(response: Response<*>, callback: ApiAuthListener<*>) { if (response.code() == HTTP_RESPONSE_CODE_NOT_AUTHORIZED) { callback.onBadAuthToken() } else { callback.onFailure(response.message(), getServerError(response)) } } 在这个类中,Android Studio(3.0 beta)提供了为常量添加导入的提示,并没有给出任何问题的指示(没有红色下划线等,方法中的常量引用以紫色斜体文本显示它已经解决了)但是当我建立这个项目时,我得到了这个: Error: Unresolved reference: HTTP_RESPONSE_CODE_NOT_AUTHORIZED 我已经尝试清除IDE缓存并重新启动它,并做一个干净的构建,这没有什么区别。 我已经尝试删除@JvmName注释,甚至将常量值放在没有包含对象的文件的根目录中,但是不允许构建。 为什么类没有引用这个常量,特别是当IDE强烈建议它可以解决这个问题的时候呢?

Android Studio不能应用我的设计更改

我试图通过删除操作栏或更改标题来更改某些活动的主题。 起初,我正在使用设计选项卡中的AppTheme选项。 但是,在网上搜索后,我知道我做的是错误的方式,所以我进入AndroidManifest文件手动进行更改。 不幸的是,它也不工作。 这是我的清单文件的代码: <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="net.wonderheart"> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".MainActivity" android:label="Sign Up"/> <activity android:name=".Login" android:label="Log In"/> <activity android:name=".drawable.welcome"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".UserProfile" android:theme="@style/AppTheme.NoActionBar"/> <activity android:name=".HomePage" > </activity> </application> </manifest> 以下是我尝试更改的一些活动: 成功更改 操作栏标题操作栏标题未更改 […]

Android Studio在构建Kotlin项目时报告“无法识别启动活动:找不到默认活动”

我正在尝试使用Kotlin和Anko构建一个Android应用程序。 当我在Android Studio中选择“运行”时,出现错误: 无法识别启动活动:找不到默认活动 启动活动时出错 和应用程序不启动。 模拟器和真正的手机都出现这个错误。 为了尝试缩小这个问题,我尝试了几个示例Anko项目,其中包括android-anko-sample ,他们都展示了同样的破坏行为。 我有其他Android项目,我用Java编写,他们运行没有这个问题,这表明这是一个Kotlin或Anko特定的问题。 我甚至可以在我的一个Java应用程序和上面链接的“android-anko-sample”应用程序之间来回切换,并且始终如一地重现android-anko-sample的问题,而我的Java应用程序每次都能正常工作。 我已经看过涉及这个错误信息的其他问题,并且发布的解决方案要么不适用,要么没有帮助。 有一件事我注意到,奇怪的是,当我在Android Studio中打开AndroidManifest.xml (这些Anko应用程序中的任何一个)时,活动的名称显示为红色,就好像它们是错误一样。 以下是来自android-anko-sample的内容: 请注意,该应用程序确实安装在手机/模拟器上,我可以点击图标并运行它。 当我从Android Studio中选择运行时,它不会自动启动,这很不方便。 我该如何解决这个问题? 我在用着: Android Studio 2.1.2 Ubuntu Linux 16.04 Oracle JDK 1.8.0_131-b11 代码在这里: https://github.com/vsouhrada/android-anko-sample 几个Android Studio窗格的完整内容可以在这个要点中获得: https://gist.github.com/xenomachina/e8027b385661038c3f020a543493eebf

我必须重新启动IDE才能运行测试

当在IDE中直接运行单个测试时,Android Studio 2.2出现奇怪的错误 – 我要么“没有找到测试”,要么运行我之前编译的测试。 例: @Test fun testyTest() { } 我将创建这个测试,并得到“没有找到测试”。 所以我重新启动,并测试被发现! 显然,上面的测试通过了,因为它是空的。 接下来,我想让我的测试失败。 所以我手动抛出一个异常,并在下面添加一行代码。 @Test fun testyTest() { throw RuntimeException() } 现在我重新编译,而且这个测试也通过了,因为IntelliJ由于某种原因已经缓存了以前的测试并重新执行了。 为了使这个测试正常失败 – 我必须重新启动IDE。 任何人都知道发生了什么事? 注意 – 我在这个项目中使用了Kotlin。 编辑2:这是一个Android 库项目中的JVM测试(非android, src/test/java )。 编辑:这是一个完整的测试类 package com.example.zak import org.junit.Before import org.junit.Test class ExampleTest { @Before fun setUp() { } @Test fun testyTest() { //throw […]

使用Android Studio 3.0 beta7版本时,Kotlin注释处理器会导致编译时错误

我正在使用Android Studio 3.0 Beta 7编译Android项目,使用Kotlin 1.4-2和Room Persistence Library 1.0.0-beta1。 这是我的Gradle文件的一部分,我添加了房间依赖关系: implementation "android.arch.persistence.room:runtime:1.0.0-beta1" kapt "android.arch.persistence.room:compiler:1.0.0-beta1" 编译时,我收到以下错误: 警告:警告:注释处理器“android.arch.persistence.room.RoomProcessor”支持的源版本“RELEASE_7”小于“源1.8” 添加stacktrace /调试标志来编译选项后,这是我得到的错误: 错误:org.jetbrains.kotlin.kapt3.diagnostic.KaptError:批注处理时出错 10:08:03.727 [错误] [org.gradle.internal.buildevents.BuildExceptionReporter] 10:08:03.727 [错误] [org.gradle.internal.buildevents.BuildExceptionReporter]失败:生成失败,出现异常。 10:08:03.727 [错误] [org.gradle.internal.buildevents.BuildExceptionReporter] 10:08:03.727 [错误] [org.gradle.internal.buildevents.BuildExceptionReporter] *什么错误:10:08:03.727 [错误] [org.gradle.internal.buildevents.BuildExceptionReporter]执行失败的任务':app:kaptDebugKotlin'。 10:08:03.727 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]>内部编译器错误。 10:08:03.728 [错误] [org.gradle.internal.buildevents.BuildExceptionReporter] 10:08:03.728 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] * Exception is:10:08 :03.728 [错误] [org.gradle.internal.buildevents.BuildExceptionReporter] org.gradle.api.tasks.TaskExecutionException:任务':app:kaptDebugKotlin'的执行失败。 10:08:03.728 [错误] [org.gradle.internal.buildevents.BuildExceptionReporter]在org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:100)10:08:03.728 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] […]