小编Cod*_*oza的帖子

在 Android gradle 中组装时仅指定一个维度和两个风味维度中的构建类型

我正在开发一个多模块 Gradle Android 项目,它有两个风格维度和一个构建类型。我想要实现的是通过仅指定一个风味维度和构建类型来构建多个构建变体。我将向您展示我的 build.gradle 中的风味维度设置部分。

构建.gradle

...
android {
    buildTypes {
        release {
            debuggable false
            minifyEnabled false
        }

        debug {
            debuggable true
            minifyEnabled false
        }
    }
    flavorDimensions 'adid', 'phase'

    productFlavors {
        full {
            dimension 'adid'
        }
        lite {
            dimension 'adid'
        }

        alpha {
            dimension 'phase'
            versionNameSuffix '-SNAPSHOT'
        }

        sandbox {
            dimension 'phase'
            versionNameSuffix '-SNAPSHOT'
        }

        beta {
            dimension 'phase'
            versionNameSuffix '-SNAPSHOT'
        }

        real {
            dimension 'phase'
        }
    }
}
...
Run Code Online (Sandbox Code Playgroud)

如您所见,有两个风味维度 adid(2 种风味)和阶段(4 种风味),以及一种构建类型(2 种类型),共 16 种构建变体。 …

android build gradle build.gradle android-gradle-plugin

9
推荐指数
0
解决办法
576
查看次数

Android P Preview在API兼容性错误的情况下破坏了UiAutomator测试

我在Pixel设备上尝试Android P预览,目前遇到使用UiAutomator框架编写的仪器测试问题.

每当使用UiAutomator通过以下代码模拟按钮点击时:

onView(withId(R.id.button_activity_login)).perform(click())
Run Code Online (Sandbox Code Playgroud)

我遇到一个带有消息的AlertDialog

Detected problems with API compatibility (visit g.co/dev/appcompat for more info)
Run Code Online (Sandbox Code Playgroud)

这导致了这个链接:

https://developer.android.com/preview/restrictions-non-sdk-interfaces.html#differentiating_between_sdk_and_non-sdk_interfaces

这打破了UiAutomator测试,因为我的测试目前不考虑每个动作之间的额外AlertDialog.

这只发生在UiAutomator的按钮点击,而不是Espresso的.我相信UiAutomator可能会在引擎盖下使用一些反射来实现跨应用程序测试功能(事先不知道UI组件的文本或ID),而Espresso负责处理被测试应用程序内的所有内容.

这有点奇怪,因为UiAutomator是Google自己在开发者网站上建议的测试框架(https://developer.android.com/training/testing/ui-automator.html#ui-automator-apis).有没有人经历过或解决过以下问题?

testing android ui-testing android-uiautomator

9
推荐指数
0
解决办法
908
查看次数

从由UITabBarController控制的视图控制器推送segue

假设第一个视图控制器与UITabBarController连接,我想从第一个视图控制器向第二个视图控制器进行推送.

从我的谷歌搜索,似乎来自与UITabBarController连接的视图控制器的模态segue隐藏了底部标签栏,而push segue则没有.但是,我的push segue也隐藏了第二个视图控制器中的标签栏.我在第一个视图控制器中覆盖了prepareForSegue方法.

下面是我的故事栏和模拟器的图像.任何人都知道为什么会这样?提前感谢您的帮助. 右下角视图控制器似乎在故事板中有底部标签栏,但模拟器没有显示TT

在此输入图像描述

storyboard uitabbarcontroller uitabbar ios segue

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

Django和MySQL unicode错误

Incorrect string value (Exception Value: Incorrect string value: '\xEA\xB0\x95\xED\x95\x98...' for column 'object_repr' at row 1)在尝试在Django和MySQL中保存unicode字符串(韩文)时遇到错误.我遇到的第一个问题是数据库表中每列的"字符串值不正确"错误.但是,我通过更改列排序规则和整个数据库字符集来解决这个问题.

我得到的新错误与models.py中的unicode(self)方法有关.我的models.py如下:

from django.db import models

# Create your models here.
class User(models.Model):
full_name = models.CharField(max_length=60)
email = models.EmailField(unique=True)
password = models.CharField(max_length=128)
birthday = models.DateField(null=True, blank=True)
gender = models.PositiveIntegerField(null=True, blank=True)
location = models.CharField(max_length=60, null=True, blank=True)
captcha = models.CharField(max_length=60, null=True, blank=True)

register_date = models.DateTimeField()
lastLogin_date = models.DateTimeField(null=True)
num_logins = models.PositiveIntegerField()

def __unicode__(self):
    return self.full_name
Run Code Online (Sandbox Code Playgroud)

__unicode__函数尝试输出utf8字符时生成错误...

有谁知道如何解决这个错误?

mysql django utf-8

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