小编Mah*_*uri的帖子

dagger android支持proguard规则

我正在使用带有Proguard的Dagger2 android-support库但由于这个错误我无法编译我的项目:

Warning:dagger.android.AndroidInjector: can't find referenced class com.google.errorprone.annotations.DoNotMock
Warning:dagger.android.AndroidInjector$Builder: can't find referenced class com.google.errorprone.annotations.DoNotMock
Warning:dagger.android.AndroidInjector$Factory: can't find referenced class com.google.errorprone.annotations.DoNotMock
Warning:dagger.android.DaggerApplication: can't find referenced class com.google.errorprone.annotations.ForOverride
Warning:dagger.android.DispatchingAndroidInjector: can't find referenced class com.google.errorprone.annotations.CanIgnoreReturnValue
Warning:there were 5 unresolved references to classes or interfaces.
Run Code Online (Sandbox Code Playgroud)

我正在使用的Dagger版本是2.11.

问题是我应该为Dagger2 android-support库使用Proguard规则?

android proguard dagger dagger-2 android-proguard

17
推荐指数
1
解决办法
6555
查看次数

lateinit的isInitialized属性在随播对象中不起作用

我有一个单例类,我已经用java方式实现了它:

companion object {

    @Volatile private lateinit var instance: TrapBridge

    fun bridge(): TrapBridge {
        if (!this::instance.isInitialized) {
            synchronized(this) {
                if (!this::instance.isInitialized) {
                    instance = TrapBridge()
                }
            }
        }
        return instance
    }

}
Run Code Online (Sandbox Code Playgroud)

现在问题是我不能使用isInitialized属性,因为它抛出NoSuchFieldError异常:

java.lang.NoSuchFieldError: No field instance of type Lcom/sample/trap/model/TrapBridge; in class Lcom/sample/trap/model/TrapBridge$Companion; or its superclasses (declaration of 'com.sample.trap.model.TrapBridge$Companion' appears in /data/app/com.sample.trapsample-L9D8b2vxEQfiSg9Qep_eNw==/base.apk)
Run Code Online (Sandbox Code Playgroud)

我认为这是因为instance是类变量而不是实例变量所以我不能用this关键字引用它:/

我也无法检查它是否为null因为它抛出UninitializedPropertyAccessException:

lateinit property instance has not been initialized
Run Code Online (Sandbox Code Playgroud)

singleton android kotlin

9
推荐指数
1
解决办法
1921
查看次数

使用带有constraintLayout的coordinatorLayout锚点

我想设计这样的东西:

在此输入图像描述

正如你所看到的,fab位于标题和正文之间.

这很容易做到这一点的coordinatorLayoutapp:anchorapp:anchorGravity属性

但我想用constraintLayout来做.

有任何想法吗 ?

android android-layout android-coordinatorlayout android-constraintlayout

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

Robolectric和Evernotes android-job库

我正在使用Evernotes android-job库进行Scheduling作业,一切正常但是,当我想运行一个运行Robolecteric的测试用例时,我得到了这个错误:

com.evernote.android.job.JobManagerCreateException: All APIs are disabled, cannot schedule any job

at com.evernote.android.job.JobManager.<init>(JobManager.java:184)
at com.evernote.android.job.JobManager.create(JobManager.java:107)
at com.M.MyApp.MyApplication.onCreate(MyApplication.java:63)
at org.robolectric.android.internal.ParallelUniverse.setUpApplicationState(ParallelUniverse.java:137)
at org.robolectric.RobolectricTestRunner.beforeTest(RobolectricTestRunner.java:290)
at org.robolectric.internal.SandboxTestRunner$2.evaluate(SandboxTestRunner.java:203)
at org.robolectric.internal.SandboxTestRunner.runChild(SandboxTestRunner.java:109)
Run Code Online (Sandbox Code Playgroud)

基本上它指向我的应用程序类的第63行:

JobManager.create(getApplicationContext()).addJobCreator(new JobMaker());
Run Code Online (Sandbox Code Playgroud)

android robolectric android-jobscheduler

2
推荐指数
1
解决办法
324
查看次数

无法导入org.opencv.features2d.DMatch; 在android工作室

我正在使用imageComparator将两个图像与OpenCV库进行比较,但我无法在我的应用程序中导入DMatch类,org.opencv.features2d.DMatch任何人都知道我应该如何解决这个问题?

android opencv opencv4android

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