小编Aru*_*kar的帖子

Jenkins无法解析com.android.tools.build:gradle:3.0.0-alpha8

我升级到Android工作室版本3.0 Canary 8并按照Android工作室的自动提示将android gradle插件版本升级为"3.0.0-alpha8".

我的Jenkins构建现在无法解析"com.android.tools.build:gradle:3.0.0-alpha8.".以下是构建错误日志

Could not resolve all files for configuration ':classpath'.
Could not find com.android.tools.build:gradle:3.0.0-alpha8.
Searched in the following locations:
https://jcenter.bintray.com/com/android/tools/build/gradle/3.0.0-alpha8/gradle-3.0.0-alpha8.pom      
https://jcenter.bintray.com/com/android/tools/build/gradle/3.0.0-alpha8/gradle-3.0.0-alpha8.jar
https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle/3.0.0-alpha8/gradle-3.0.0-alpha8.pom         https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle/3.0.0-alpha8/gradle-3.0.0-alpha8.jar        https://maven.fabric.io/public/com/android/tools/build/gradle/3.0.0-alpha8/gradle-3.0.0-alpha8.pom        https://maven.fabric.io/public/com/android/tools/build/gradle/3.0.0-alpha8/gradle-3.0.0-alpha8.jar
Run Code Online (Sandbox Code Playgroud)

我的根项目build.gradle如下:

buildscript {
repositories {
    jcenter()
    google() 
    // maven { url "https://maven.google.com" } does not work as well
    maven { url 'https://maven.fabric.io/public' }
}
dependencies {
    classpath 'com.android.tools.build:gradle:3.0.0-alpha8'
    classpath 'com.google.gms:google-services:3.1.0'
    classpath 'io.fabric.tools:gradle:1.23.0'
}
}
Run Code Online (Sandbox Code Playgroud)

相同的代码在Android Studio上成功构建,但在Jenkins上失败

android jenkins android-studio android-gradle-plugin gradle-plugin

8
推荐指数
1
解决办法
2724
查看次数

分块流不符合预期的Retrofit + RxJava

@GET("poll/session/{sessionId}/details")
Observable getSessionDetails(@Path("sessionId") String sessionId);

@GET("poll/session/{sessionId}/details")
@Streaming
Observable getSessionDetails(@Path("sessionId") String sessionId);

@Override
public Observable getSessionDetails(String sessionId) {
return sessionAPI.getSessionDetails(sessionId)
.flatMap(responseBody -> events(responseBody.source()));
}

public static Observable<String> events(BufferedSource source) {
    return Observable.create(subscriber -> {
        try {
            while (!source.exhausted()) {
                subscriber.onNext(source.readUtf8Line());
            }
        } catch (IOException e) {
            e.printStackTrace();
            subscriber.onError(e);
        }
        subscriber.onCompleted();
    });
}
Run Code Online (Sandbox Code Playgroud)

除非完成所有块,否则不会调用events()方法.

但是,大块的流预计会被大块交付,这似乎并没有发生.

我已尝试使用和不使用@Streaming注释到API,但行为是相同的.

我曾经使用Android Retrofit 2 + RxJava:听取无休止的流作为参考来做我的实现

rest android rx-java retrofit2

4
推荐指数
1
解决办法
445
查看次数