小编mak*_*tar的帖子

找不到引用的类kotlin.internal.annotations.AvoidUninitializedObjectCopyingCheck

使用Kotlin为Android项目启用ProGuard时,Gradle构建失败,并显示以下错误:

警告:HomeChargerLocation:找不到引用的类kotlin.internal.annotations.AvoidUninitializedObjectCopyingCheck

警告:HomeChargerLocation $ Address:找不到引用的类kotlin.internal.annotations.AvoidUninitializedObjectCopyingCheck

警告:HomeChargerLocation $ Address $ Creator:找不到引用的类kotlin.internal.annotations.AvoidUninitializedObjectCopyingCheck

警告:HomeChargerLocation $ Car:找不到引用的类kotlin.internal.annotations.AvoidUninitializedObjectCopyingCheck

警告:HomeChargerLocation $ Car $ Creator:找不到引用的类kotlin.internal.annotations.AvoidUninitializedObjectCopyingCheck

警告:HomeChargerLocation $ Creator:找不到引用的类kotlin.internal.annotations.AvoidUninitializedObjectCopyingCheck

警告:处理任务java.io.IOException时发生异常:请先纠正上述警告.

相应的类:https://gist.github.com/makovkastar/cfa4bf1bea38556279f20eef46001cf8

我认为它与@ParcelizeKotlin实验包中的注释有关,因为当我们开始使用它时问题出现了.

更新:我在Kotlin bug跟踪器中创建了一个问题 - https://youtrack.jetbrains.com/issue/KT-21628

android kotlin kotlin-experimental

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

React Native iOS:无法构建模块'yoga':'algorithm'文件未找到

我正在尝试使用此集成指南将React Native集成到现有的Swift iOS应用程序中:https://facebook.github.io/react-native/docs/integration-with-existing-apps.html.React Native的版本是0.53.0.

我已经成功安装了所有必需的pod,现在尝试构建项目,但总是得到以下编译错误:

在此输入图像描述 在此输入图像描述

在此输入图像描述

错误日志:

While building module 'yoga' imported from ...node_modules/react-native/React/Base/RCTConvert.h:19:
In file included from <module-includes>:1:
In file included from ...ios/Vandebron/Pods/Target Support Files/yoga/yoga-umbrella.h:15:
In file included from ...node_modules/react-native/ReactCommon/yoga/yoga/YGNode.h:13:
...node_modules/react-native/ReactCommon/yoga/yoga/Yoga-internal.h:11:10: fatal error: 'algorithm' file not found
#include <algorithm>
         ^~~~~~~~~~~
1 error generated.
In file included from ...node_modules/react-native/React/Views/RCTActivityIndicatorViewManager.m:10:
In file included from ...node_modules/react-native/React/Views/RCTActivityIndicatorViewManager.h:10:
In file included from ...node_modules/react-native/React/Views/RCTViewManager.h:13:
...node_modules/react-native/React/Base/RCTConvert.h:19:9: fatal error: could not build module 'yoga'
#import <yoga/Yoga.h
Run Code Online (Sandbox Code Playgroud)

ios react-native react-native-ios

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

java.lang.NoClassDefFoundError:运行Espresso测试时的android.databinding.DataBinderMapperImpl

数据绑定设置:

apply plugin: 'kotlin-kapt'

android {
    dataBinding {
        enabled = true
    }
}

dependencies {
    kapt "com.android.databinding:compiler:3.1.0"
}
Run Code Online (Sandbox Code Playgroud)

使用数据绑定的fragment类:

class LandingFragment : Fragment(), Injectable {

    override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?,
                          savedInstanceState: Bundle?): View? {
        val dataBinding = LandingFragmentBinding.inflate(inflater, container, false)
        return dataBinding.root
    }
}
Run Code Online (Sandbox Code Playgroud)

每次为此片段运行Espresso测试时,我都会遇到以下异常:

java.lang.NoClassDefFoundError: android.databinding.DataBinderMapperImpl
at android.databinding.DataBindingUtil.<clinit>(DataBindingUtil.java:32)
at com.sc.databinding.LandingFragmentBinding.inflate(LandingFragmentBinding.java:42)
at com.sc.ui.landing.LandingFragment.onCreateView(LandingFragment.kt:32)
...
Run Code Online (Sandbox Code Playgroud)

data-binding android kotlin android-espresso

9
推荐指数
2
解决办法
2007
查看次数

Android Lollipop上的提升+透明度错误

使用带有某些alpha(例如#99fe0038)的视图的背景颜色和API 21上的某些高程显示两个圆圈:一个用于视图本身,另一个用于内部:

通过代码设置高程和背景颜色:

view.setElevation(getResources().getDimensionPixelSize(R.dimen.fab_elevation_lollipop));
view.setBackgroundColor(Color.parseColor("#99fe0038"));
Run Code Online (Sandbox Code Playgroud)

没有设置高程或使用不透明的颜色,一切看起来都像预期的那样.

这是一个Android错误还是我错过了什么?

android view android-5.0-lollipop android-elevation

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

更改自定义视图中的边距

在我的开源库FloatingActioButton中,我需要以编程方式更改用户指定的视图边距.边距必须减少阴影大小(因此边距设置为按钮本身而不是阴影).

我重写了onLayout自定义视图类并使用以下代码:

@Override
protected void onLayout(boolean changed, int left, int top, int right, int bottom) {
    super.onLayout(changed, left, top, right, bottom);
    if (!hasLollipopApi() && !mMarginsSet) {
        if (getLayoutParams() instanceof ViewGroup.MarginLayoutParams) {
            ViewGroup.MarginLayoutParams lp = (ViewGroup.MarginLayoutParams) getLayoutParams();
            int leftMargin = lp.leftMargin - mShadowSize;
            int topMargin = lp.topMargin - mShadowSize;
            int rightMargin = lp.rightMargin - mShadowSize;
            int bottomMargin = lp.bottomMargin - mShadowSize;
            lp.setMargins(leftMargin, topMargin, rightMargin, bottomMargin);

            setLayoutParams(lp);
            mMarginsSet = true;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

但是当我在示例项目上测试它时,我发现第一次片段(ListView)上第一次应用了正确的边距.当我单击另一个选项卡时,会创建一个新片段(因此会创建完整的布局)并且FAB会移位(边距不会减少阴影大小):

正确的边距:

正确的利润率

错误的利润:

错误的利润

即使我返回第一个标签页,FAB也会保留错误的边距.我试图调试并看到onLayout …

layout android android-layout

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

将Android Gradle Plugin从3.1.3升级到3.2.0后,FindBugs停止工作

我在我的Android项目中使用FindBugs进行静态代码分析.设置如下:

quality.gradle

plugins.apply('findbugs')

task findbugs(type: FindBugs) {
    ignoreFailures = false
    effort = 'max'
    reportLevel = 'high' // Report only high priority problems.

    classes = files("${project.projectDir}/build/intermediates/classes")
    source = fileTree('src/main/java')

    classpath = files()

    reports {
        xml.enabled = true
        html.enabled = false
    }

    excludeFilter = rootProject.file('quality/findbugs.xml')
} 
Run Code Online (Sandbox Code Playgroud)

build.gradle:

subprojects {
    afterEvaluate {
        project.apply from: '../quality/quality.gradle'
        tasks.findByName('findbugs').dependsOn('assemble')
        tasks.findByName('check').dependsOn('findbugs')
    }
}
Run Code Online (Sandbox Code Playgroud)

但是在我将Gradle Android插件从3.1.3升级到3.2.0后,构建开始失败:

./gradlew clean build

> Task :app:findbugs FAILED
No files to be analyzed

...

FAILURE: Build failed with an exception.

* What …
Run Code Online (Sandbox Code Playgroud)

android findbugs gradle

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

仅限华为手机上的多个NotFoundException

我已经注意到我的应用程序在华为手机的生产中有很多崩溃报告,这些报告与复数处理完全相关.没有其他手机有这个问题,只有华为.

所有复数形式都存在并在其他设备上正常工作.

似乎华为根本无法处理复数:

android.content.res.Resources$NotFoundException: Plural resource ID #0x7f060000 quantity=4 item=few
       at android.content.res.Resources.getQuantityText(Resources.java:290)
       at android.content.res.Resources.getQuantityString(Resources.java:397)
       ...

android.content.res.Resources$NotFoundException: Plural resource ID #0x7f060000 quantity=6 item=many
       at android.content.res.Resources.getQuantityText(Resources.java:290)
       at android.content.res.XResources.getQuantityText(XResources.java:667)
       at android.content.res.Resources.getQuantityString(Resources.java:397)
       ...
Run Code Online (Sandbox Code Playgroud)

有人也有这个问题吗?

android android-resources

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

XML android:fontFamily中的字体不适用于工具栏

我正在使用新的XML字体功能,这是在Android 8.0 Oreo和支持库26.1.0中引入的.通过android:fontFamily在应用程序主题中设置属性来应用整个应用程序的默认字体系列:

<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
     ...
    <item name="android:fontFamily">@font/proxima_nova</item>
</style>
Run Code Online (Sandbox Code Playgroud)

该字体已正确应用于应用程序中除工具栏之外的所有视图.所有工具栏都使用Roboto字体:

在此输入图像描述

更新:问题似乎在支持库27.0.0中得到修复.我不能再复制它了.

fonts android toolbar android-support-library

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

Espresso 测试以验证 SwipeRefreshLayout 是否显示刷新指示器

我想创建一个 Espresso 测试来验证它SwipeRefreshLayout是否显示了刷新指标。我怎样才能做到这一点?

android kotlin android-espresso swiperefreshlayout

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

Parse.com身份验证错误:无法应对任何这些挑战:{oauth = www-authenticate:OAuth realm ="https://api.twitter.com"}

将Parse Android SDK升级到1.4.1版后,Twitter登录停止工作.当我尝试使用Twitter登录时:

ParseTwitterUtils.initialize(Constants.TWITTER_CONSUMER_KEY, Constants.TWITTER_CONSUMER_SECRET);
ParseTwitterUtils.logIn(activity, new LogInCallback() {
    @Override
    public void done(ParseUser parseUser, ParseException e) {
        if (e == null) {
            // Success
        } else {
            // Error
        }
    }
});
Run Code Online (Sandbox Code Playgroud)

我收到错误:

Authentication error: Unable to respond to any of these challenges: {oauth=www-authenticate: OAuth realm="https://api.twitter.com"}
Run Code Online (Sandbox Code Playgroud)

我已经在Parse.com上问了一个问题,但也许你们知道问题是什么.提前致谢.

authentication twitter android parse-platform

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

Paint.setStrokeJoin 不适用于 canvas.drawLines

我正在尝试使用 绘制折线图canvas.drawLines(...),但似乎线条未正确连接。据我了解,使用Paint.setStrokeJoin应该使用斜接连接:

chartLinePaint = new Paint(Paint.ANTI_ALIAS_FLAG);
chartLinePaint.setStyle(Paint.Style.STROKE);
chartLinePaint.setStrokeJoin(Paint.Join.MITER);
chartLinePaint.setStrokeWidth(6.0f);
Run Code Online (Sandbox Code Playgroud)

如何解决此问题并使线条正确连接?

在此处输入图片说明

android canvas

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