从Android Gradle Plugin升级3.2.0到之后3.3.0-alpha13,我看到以下构建错误:
> Task :app:fabricGenerateResourcesDebug FAILED
ERROR - Crashlytics Developer Tools error.
java.lang.IllegalArgumentException: Crashlytics found an invalid API key: null.
Check the Crashlytics plugin to make sure that the application has been added successfully!
Contact support@fabric.io for assistance.
Run Code Online (Sandbox Code Playgroud)
似乎processDebugGoogleServices任务在fabricGenerateResourcesDebug任务之前不再运行.
我正在使用4.1.0Google服务插件和1.25.4Fabric插件的版本.
我想要包含仅用于测试的资源.
我的app模块build.gradle文件中有以下内容:
android {
...
sourceSets {
androidTest {
java.srcDirs = ['src/androidTest/java']
res.srcDirs = ['src/androidTest/res']
}
}
}
Run Code Online (Sandbox Code Playgroud)
java srcDirs路径是正确的,但如果我尝试从androidTest中的res目录获取资源,则无法找到该资源.
如何在androidTest目录中拥有仅包含在测试中的资源?
我有一个ViewPager控制五Fragments.当我从Fragment索引1 滑动到Fragment索引0时,我想消除动画中的短暂暂停.
目前,我没有打电话setOffscreenPageLimit(),所以我知道当我处于空闲状态时,Fragment0正在内存中,因为屏幕外页面限制默认为1(当前两侧各一个).ViewPagerFragmentFragment
这是令人困惑的地方.如果我打电话setOffscreenPageLimit(4)给我ViewPager,滑动从1到0动画的暂停消失了 - 动画很流畅.
因此,我得出结论,不知何故,将Fragments2-4 保持在内存中会将动画从Fragment1改为Fragment0.
保留Fragments2-4 如何将滑动动画从Fragment1改为Fragment0?
编辑
我运行了TraceView,onPageScrollStateChanged(int state)用于确定何时开始和停止跟踪,如下所示:
@Override
public void onPageScrollStateChanged(int state) {
if (state == 1 && mViewPager.getCurrentItem() == 1) {
Debug.startMethodTracing("ViewPagerTesting", 100000000);
}
if (state == 0 && mViewPager.getCurrentItem() == 0) {
Debug.stopMethodTracing(); …Run Code Online (Sandbox Code Playgroud) 我有一个简单的测试类:
public class SimpleTest extends AndroidTestCase {
public void testSomething() throws Throwable {
Assert.assertEquals(1 + 1, 2);
}
}
Run Code Online (Sandbox Code Playgroud)
我知道如何运行测试,但在哪里可以查看Android Studio中的输出?
我想使用使用MockRestAdapter创建的模拟Retrofit API服务实例,使用Espresso为Activity编写功能测试(https://github.com/square/retrofit/blob/master/retrofit-mock/src/main/java /retrofit/MockRestAdapter.java).
这有点棘手,因为你无法通过Activity的构造函数注入任何依赖项.
目前,单个Retrofit API服务实例存在于我的Application对象中,我在每个Activities的onCreate()方法中创建了对它的引用.
如何交换模拟Retrofit API服务?也许Dagger就是答案?
android ×5
java ×2
animation ×1
build.gradle ×1
crashlytics ×1
dagger ×1
firebase ×1
junit ×1
retrofit ×1