小编woj*_*ski的帖子

使用按钮"运行"时,Android studio 2.0 gradle transformClassesWithDexForDebug失败

从android studio 1.5迁移到2.0后我遇到了问题

在我的一个项目(只有一个)我不能使用android studio运行按钮,

因为那时,构建在gradle任务"transformClassesWithDexForDebug"上失败

有错误:

:app:transformClassesWithDexForDebug
AGPBI: {"kind":"error","text":"Uncaught translation error: com.android.dx.cf.code.SimException: local variable type mismatch: attempt to set or access a value of type java.lang.Object using a local variable of type int. This is symptomatic of .class transformation tools that ignore local variable information.","sources":[{}]}
AGPBI: {"kind":"error","text":"1 error; aborting","sources":[{}]}

 FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:transformClassesWithDexForDebug'.
> com.android.build.api.transform.TransformException: java.lang.RuntimeException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command '/usr/lib/jvm/java-8-oracle/bin/java'' finished with non-zero exit …
Run Code Online (Sandbox Code Playgroud)

gradle android-studio-2.0

29
推荐指数
3
解决办法
4万
查看次数

为什么在Android上使用Retrofit的RxJava doOnError()不起作用,但是Subscriber onError会起作用

谁能解释我为什么这样的代码:

 networApi.getList()
            .subscribeOn(Schedulers.newThread())
            .observeOn(AndroidSchedulers.mainThread())
            .doOnError(throwable -> {
                throwable.getMessage();
            })
            .doOnNext(list -> {
                coursesView.populateRecyclerView(list);
                courseList = (List<Course>) courses;
            }).subscribe();
Run Code Online (Sandbox Code Playgroud)

如果没有互联网进入doOnError但是进一步抛出它以便应用程序关闭,但代码如下:

networkApi.getList()
            .subscribeOn(Schedulers.newThread())
            .observeOn(AndroidSchedulers.mainThread())
            .subscribe(new Subscriber<List<? extends Course>>() {
                @Override
                public void onCompleted() {

                }

                @Override
                public void onError(Throwable e) {
                    e.getMessage();
                }

                @Override
                public void onNext(List<? extends Course> list) {
                    coursesView.populateRecyclerView(list);
                    courseList = (List<Course>) list;
                }
            });
Run Code Online (Sandbox Code Playgroud)

按照我的预期工作,这意味着当没有互联网连接时,它什么都不做.

android subscriber rx-java retrofit rx-android

22
推荐指数
1
解决办法
6044
查看次数

“com.android.vending.INSTALL_REFERRER”不知何故参数丢失并更改为(不是%20set)

我的应用程序中的 INSTALL_REFERRER 广播有问题。

我正在尝试创建一些有关广告系列等的信息,但在大多数设备上,我的网址为“ https://play.google.com/store/apps/details?id=com.test.apptest&referrer=utm_source%3Dmy_test_source

编辑:同样的事情发生在链接“market://details?id=com.test.apptest&referrer=utm_source%3Dmy_test_source”

是变成类似的东西

"utm_source=(not%20set)&utm_medium=(not%20set)"

我不知道 google play 商店应用程序出现这种行为的原因是什么,但也许有人已经解决了?

编辑 2:看起来它与 google play 商店应用程序版本有关。在 12.5.15 版上 - 一切正常,如预期的那样,在 12.5.30 版的设备上仅提供(未设置)

编辑 3:回答 Harry 的评论,我只有一封来自 google 开发人员支持的电子邮件。现在我用有效的firebase动态链接替换了引用链接(但不是utm_source,需要做你的自定义链接)

在此处输入图片说明 问候沃伊泰克

android broadcastreceiver google-play install-referrer

7
推荐指数
1
解决办法
2587
查看次数

如何在没有丑陋的instanceof的情况下处理Retrofit Rx onError中的各种错误

我想知道你在改造Rx onError时处理不同类型错误(如http异常,没有互联网连接异常等)的方法,而不使用instanceof像这里提到的那样:如何使用RxJava处理Retrofit 2中的网络错误处理:处理错误在Retrofit 2 RX中

在kotlin中,我将简单地为每种throwable做一些扩展函数来做我想做的事情.

但是我被迫在项目中使用Java.有什么好建议吗?

是构建某种错误处理程序的方法,如下所示:

public interface ErrorHandler {
    void handleError(Exception e);
    void handleError(HttpException e);
    void handleError(NullPointerException npe);

}
Run Code Online (Sandbox Code Playgroud)

好?我知道这不是因为每次我需要处理另一个特定的错误我被迫改变界面,所以它违反了Open Close Principle.但我无法找出任何解决方案.

欢呼Wojtek

android onerror rx-java retrofit2

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

AndroidStudio 3.2测试配置不起作用

迁移到AS 3.2之后,android JUnit测试运行配置不起作用,所有类型"All in directory","All in package"等等.我的意思是它确实有效,但总是声称:

0 test classes found in package '<default package>'

Process finished with exit code 254
Empty test suite.
Run Code Online (Sandbox Code Playgroud)

./gradlew test每次测试都使用触发器

并且每个测试都可以由AS使用编辑器内的绿色播放按钮运行(对于类或单个方法)

在此输入图像描述

但不适用于包装,模块等

如何解决?

非常感谢

WOJTEK

unit-testing android-studio-3.2

5
推荐指数
0
解决办法
250
查看次数