小编Rom*_*ain的帖子

启用ProGuard时,Retrofit 2不发送数据

我尝试使用Retrofit 2登录我的用户.(基本上是使用基本标题对登录URL进行GET)它运行良好但是一旦我ProGuard它,标题授权就不再发送了.(见日志输出)

示例代码:

用户模型:

public interface UserService {

    @GET(GET_LOGIN)
    Observable<User> login(@Header("Authorization") String basic);
}
Run Code Online (Sandbox Code Playgroud)

登录活动:

public void onClick(View v) {
    mRetrofit.create(UserService.class)
             .login(Credentials.basic(email, password))
             .subscribeOn(Schedulers.io())
             .observeOn(AndroidSchedulers.mainThread())
             .subscribe(user -> {
                UserHelper.save(LoginActivity.this, user);
             }, throwable -> Dog.d);
}
Run Code Online (Sandbox Code Playgroud)

Proguard文件:

# Retrofit
-dontwarn retrofit2.** 
-dontwarn org.codehaus.mojo.**
-keep class retrofit2.** { *; }
-keepattributes Signature
-keepattributes Exceptions
-keepattributes *Annotation*
-keepclasseswithmembers class * {
    @retrofit.* <methods>;
}

-keepclasseswithmembers interface * {
    @retrofit.* <methods>;
}
Run Code Online (Sandbox Code Playgroud)

日志(proguard):

D/OkHttp: --> GET http://passport-supercairos.rhcloud.com/users/login HTTP/1.1
D/OkHttp: User-Agent: VirtualPassport-Client {Android-23} {Aquaris_E5}
D/OkHttp: …
Run Code Online (Sandbox Code Playgroud)

android proguard retrofit retrofit2

20
推荐指数
5
解决办法
1万
查看次数

使用com/android/jack/api/v03/Api03Config错误,Jack在预览4上失败

我对最新的Android Studio(预览4)有问题,并使用Jack进行编译.

我收到此错误:

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:transformClassesWithPreJackPackagedLibrariesForDebug'.
> com/android/jack/api/v03/Api03Config
Run Code Online (Sandbox Code Playgroud)

有任何想法吗 ?

我的gradle文件:http://pastie.org/private/ieb3wbkxhr1zbk0xr5dssw

来自Gradle的Stacktrace:http://pastie.org/private/agjsdikwk23zmaz2qz6xw

计算机运行WIN10是最新的,这个错误与我的防病毒无关,因为它可以在这里提到:https://code.google.com/p/android/issues/detail? id = 211132 (我不喜欢无论如何都没有:))

在Android Bug Tracker中发布为错误:

https://code.google.com/p/android/issues/detail?id=214156

请明星:)

android android-studio android-jack-and-jill

6
推荐指数
1
解决办法
902
查看次数

使用自定义视图构建时间轴

我正在构建一个带有定时事件的Android应用程序,我不确定应该使用什么布局来构建我的时间轴.

事件可以有不同的高度,当用户点击它们但它们具有相同的宽度时可以增长;

              .
              .
              .
------------- |
| Event 4   > | --------------
------------- | < Event 7    |
              | |            |
              | --------------
              .
              .
              .
Run Code Online (Sandbox Code Playgroud)

我有两种视图类型:

  • EventView 女巫持有事件信息并卓尔他的大纲
  • TimeBarView 巫婆是中间的酒吧(有一些属性,并在很长的跨度上延伸

我如何放置我的物品,以便尊重我的时间线上的时间(例如1周可能是10px)

任何帮助表示赞赏.谢谢 !

android android-layout

5
推荐指数
1
解决办法
1488
查看次数

如何使用 RxJava2 和 Retrofit2 处理无内容响应

我正在使用RxJava 2& Retrofit 2https://github.com/JakeWharton/retrofit2-rxjava2-adapter),我想知道如何处理无响应(204)类型。在 rxjava1 中,我正在使用Observable<Void>,但 rxjava2 不再允许它(https://github.com/ReactiveX/RxJava/wiki/What's- Different-in-2.0 -> Nulls )

现在,我已经绕过自定义类型(我称之为 NoContent)的 Json 解析,但我想知道是否有更好的方法。

编辑:

public class NoContent {
    public static class GsonTypeAdapter extends TypeAdapter<NoContent> {

        @Override
        public void write(JsonWriter out, NoContent value) throws IOException {
           out.nullValue();
        }

        @Override
        public NoContent read(JsonReader in) throws IOException {
           return new NoContent();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

android retrofit2 rx-java2

5
推荐指数
1
解决办法
1267
查看次数