在最新版本的Android Studio中,android监视器已更改为android profiler.Android分析器很棒,但我没有看到任何截屏或录制设备屏幕的选项.所以我的问题是现在在哪里捕捉选项?
我的Android应用程序是多模块项目:
include (android-app/kotlin-android)':application', (pure kotlin)':presentation', (pure kotlin)':domain', (android-library/kotin-android)':dataproviders'
Run Code Online (Sandbox Code Playgroud)
模块:应用程序和:数据提供程序与Spock一起正常运行,测试运行和完成没有问题.但是:表示和:纯kotlin模块的域有spock框架的问题.有我的简单例子:
MostPopularPresenterTest.groovy
class MostPopularPresenterTest extends Specification {
def "exampleTest"(){
when:
int i = 1
then:
i == 1
}
}
Run Code Online (Sandbox Code Playgroud)
此测试以错误结束:
未找到类:"pl.hypeapp.presentation.mostpopular.MostPopularPresenterTest"空测试套件.
但是,用Java/Junit4编写的测试传递良好并且没有抛出任何错误:
MostPopularPresenterTest2.java
public class MostPopularPresenterTest2 {
@Test
public void test(){
assertEquals(1, 1);
}
}
Run Code Online (Sandbox Code Playgroud)
我正在使用Android Studio 3.0 Canary 5您可以在github上查看我的build.gradle文件:
有人可以帮助我解决我的问题吗?
编辑:运行/.gradlew测试测试正在运行.
我的Android应用程序是多模块项目:
include (android-app/kotlin-android)':application', (pure kotlin)':presentation', (pure kotlin)':domain', (android-library/kotin-android)':dataproviders'
Run Code Online (Sandbox Code Playgroud)
我正在使用Junit/Mockito进行测试,我遇到的问题只是为kotlin android模块生成代码覆盖率.
Android studio可以看到经过测试的行.
ui.viewmodel包中的测试类:
但是,对于纯kotlin(例如域,演示)测试覆盖率工作正常:
我正在使用Android Studio 3.0 Canary 8您可以在github上查看我的build.gradle文件:
android应用程序模块中的示例测试:
纯kotlin模块中的示例测试:
有人可以帮助我解决我的问题吗?我尝试通过Jacoco生成代码覆盖,但它也没有显示代码覆盖率.
尝试开始使用Travis CI进行我的Android项目,但Travis在构建我的android项目时仍然失败.
原因:
:app:connectedDebugAndroidTest FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:connectedDebugAndroidTest'.
> com.android.builder.testing.api.DeviceException: No connected devices!
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
BUILD FAILED
Run Code Online (Sandbox Code Playgroud)
链接到travis:https: //travis-ci.org/hypeapps/Episodie/builds/158706530
.travis.yml:
language: android
jdk:
- oraclejdk8
before_install:
- chmod +x gradlew
env:
global:
- ANDROID_API_LEVEL=24
- EMULATOR_API_LEVEL=21
- ANDROID_BUILD_TOOLS_VERSION=24.0.1
- ANDROID_ABI=google_apis/armeabi-v7a
- ADB_INSTALL_TIMEOUT=20 # minutes (2 minutes …
Run Code Online (Sandbox Code Playgroud) 我正在寻找一种在状态栏后面绘制 BottomSheetDialogFragment 的解决方案。我尝试覆盖样式:
<style name="BaseBottomSheetDialog" parent="@style/Theme.Design.Light.BottomSheetDialog">
<item name="android:windowIsFloating">false</item>
<item name="android:colorBackgroundCacheHint">@null</item>
<item name="android:windowFrame">@null</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowAnimationStyle">@null</item>
<item name="android:windowTranslucentStatus">true</item>
<item name="android:windowTranslucentNavigation">true</item>
<item name="android:windowDrawsSystemBarBackgrounds">true</item>
<item name="android:backgroundDimEnabled">false</item>
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowNoTitle">true</item>
<item name="bottomSheetStyle">@style/BottomSheet</item>
</style>
Run Code Online (Sandbox Code Playgroud)
但没有任何效果。我的父布局是fitSystemWindows="true"
编辑:我忘了提及我的 BottomSheetDialogFragment 已完全展开并且MATCH_PARENT
. 也许有不同的灵魂可以在片段上获得底部工作表行为,而无需从 BottomSheetDialogFragment 扩展。
我的Android应用程序正在使用BaseGameUtils,每次启动Android Studio时都会出现以下错误:
错误:任务执行失败':BaseGameUtils:processDebugAndroidTestManifest'.java.lang.RuntimeException:清单合并失败:uses-sdk:minSdkVersion 1不能小于库中声明的版本7 [com.android.support:appcompat-v7:20.0.0] F:\ Programowo\androidapps\FixMath\BaseGameUtils\build\intermediates\explosion-aar\com.android.support\appcompat -v7\20.0.0\AndroidManifest.xml建议:使用工具:overrideLibrary ="android.support.v7.appcompat"强制使用
我在启动Android Studio上只收到一次此错误.
这就是看我的项目结构应用项目结构的方式
android ×6
junit ×2
kotlin ×2
bottom-sheet ×1
git ×1
java ×1
spock ×1
travis-ci ×1
unit-testing ×1