标签: google-pixel

如何在Android Studio中获得Google Pixel 3模拟器?

我目前正在运行最新版本的Android Studio v3.2.1.可用的虚拟设备仅适用于Pixel 2(和XL版本).这些还不够,因为我主要需要测试新的Google Pixel 3 XL,因为它的缺口.

在此输入图像描述

是否有可能将新的Pixel 3(和XL版)加载到Android Studio的模拟器中进行测试?

android android-studio google-pixel

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

仅在运行 Android 12 的 Pixel 设备上出现 CannotDeliverBroadcastException

我发现 Crashlytics 发生了崩溃,但我无法重现或找到其原因。该崩溃仅发生在运行 Android 12 的 Google Pixel 设备上,并且崩溃始终发生在后台。

显示崩溃的图片仅发生在运行 Android 12 的 Pixel 设备上

这是来自 Crashlytics 的崩溃日志:

Fatal Exception: android.app.RemoteServiceException$CannotDeliverBroadcastException: can't deliver broadcast
   at android.app.ActivityThread.throwRemoteServiceException(ActivityThread.java:1939)
   at android.app.ActivityThread.access$2700(ActivityThread.java:256)
   at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2190)
   at android.os.Handler.dispatchMessage(Handler.java:106)
   at android.os.Looper.loopOnce(Looper.java:201)
   at android.os.Looper.loop(Looper.java:288)
   at android.app.ActivityThread.main(ActivityThread.java:7870)
   at java.lang.reflect.Method.invoke(Method.java)
   at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)
Run Code Online (Sandbox Code Playgroud)

我看过类似的问题(比如thisthis),但 Crashlytics 显示这些用户都有足够的可用内存,并且我们的代码库中没有任何地方可以调用registerReceiversendBroadcast所以第二个问题中的解决方案没有任何帮助。

根据有限的日志,我很确定当用户收到推送通知时会发生崩溃,但我有一台运行 Android 12 的 Google Pixel 4a,在向自己发送通知时根本无法重现它。

我们有一个习惯FirebaseMessagingService来监听我们在清单中注册的通知,还有一些BroadcastReceiver监听地理围栏更新并WorkManager在检测到转换时利用来执行一些工作。最近唯一改变的是我们更新为使用Android 的应用程序启动库WorkManager来初始化自身,但我不确定这是否相关,因为崩溃日志没有给我任何信息,以及我们的实现是否存在问题它不会仅限于运行 Android 12 的 Pixel 设备。

有人以前见过这个吗?或者运行 Android 12 的 Pixel 设备上是否存在专门的错误?我花了几个小时深入研究这个问题,但完全不知所措。

android broadcastreceiver google-pixel android-12

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

为什么Android Studio不会在Android Pie(9.0)上运行应用程序?

我已将Google Pixel升级到Android 9.0/Pie.当我尝试从Android工作室运行应用程序时,我没有在列表中看到Google Pixel,只有一个名为null的设备FA69R0306649.当我运行我的应用程序时,Android工作室尝试安装应用程序,但随后失败.

看起来Android Studio不再能识别手机了.几个小时前,在Oreo(8.x)下工作得非常好.

此外,如果我将谷歌播放的应用程序部署为alpha,然后下载它在9.0/Pie下完美运行.

在Android Studio(3.1.4)下使用android 9.0手机运行/调试的任何建议?

演示图像

android android-emulator android-studio google-pixel android-9.0-pie

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

如何在Android 8.1版本设备上完成活动时阻止屏幕方向更改?

我正在研究一个应用程序,并在8.1设备(Pixel2,Nexus5x)上遇到了一个奇怪的行为,所以我写了一个小应用程序来验证这种行为.

MainActivity被锁定portrait,而模式LandscapeActivity被锁定landscape.MainActivity启动LandscapeActivityfor Result.屏幕切换portraitlandscape预期的.当LandscapeActivity完成它的传播结果MainActivity,而切换回portrait(如预期).

但有时候我会在这里遇到一些错误.之后onActivityResultMainActivity它切换portraitlandscape切换回portrait立即.虽然我可以处理这个州,但它仍然看起来很讨厌.

为了可追溯性,我将发布所有内容以重建它.

我该怎么做才能防止它?另请注意,每次都不会发生这种情况,并且只能在8.1设备上进行测试.它似乎在8.1以下的Android设备上

编辑: 添加android:configChanges="orientation|screenSize"到我的清单@Floern建议他的答案没有成功.对平台错误的确认也是可接受的答案

表现

<application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity"
            android:screenOrientation="portrait"
            android:configChanges="orientation|screenSize">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name=".LandscapeActivity"
            android:screenOrientation="landscape"/>

    </application>
Run Code Online (Sandbox Code Playgroud)

主要活动

public class MainActivity extends AppCompatActivity {

    public static final String TAG = MainActivity.class.getSimpleName(); …
Run Code Online (Sandbox Code Playgroud)

android screen-orientation google-nexus google-pixel android-8.1-oreo

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

侧载错误 21 签名验证失败

我读到这是因为引导加载程序被锁定,所以我无法刷新整个映像。但是如果我解锁引导加载程序,是否会擦除我的所有数据?我想看看侧载是否可以在使用核之前解决我的问题(冻结、引导循环)。

包验证后返回:

E: footer is wrong
Update package verification took 0.1s (result 1).
E: Signature verification failed
E: error 21

Install from ADB completed with status 2
Installation aborted
Run Code Online (Sandbox Code Playgroud)

android adb sideloading google-pixel

7
推荐指数
0
解决办法
5206
查看次数

在 Android 10 上进行后台扫描时的限制?

Android 上的蓝牙扫描似乎有很多“隐藏功能”。对于初学者来说,有一个“30 秒限制”(Android 7.0 ble scan no result)。然后你必须在后台模式下设置一个 ScanFilter 否则你不会得到任何结果(找不到这个的参考)。

最近我发现,当我在 Android 10 上使用以下扫描模式启用扫描并关闭屏幕(大约 30 秒后)时,我没有得到任何扫描结果(我在 Google Pixel 3 和 Google Pixel 4 上观察到了这种行为) ,它在较旧的 Android 上运行良好):

/**
 * Perform Bluetooth LE scan in balanced power mode. Scan results are returned at a rate that
 * provides a good trade-off between scan frequency and power consumption.
 */
public static final int SCAN_MODE_BALANCED = 1;
Run Code Online (Sandbox Code Playgroud)

还有另一种扫描模式(我还没有尝试过):

/**
 * Perform Bluetooth LE scan in low power mode. This is the …
Run Code Online (Sandbox Code Playgroud)

android android-ble google-pixel android-10.0

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

创建 Pixel 4 虚拟设备

我正在尝试在 Android Studio 3.6.2 中创建一个 Pixel 4 虚拟设备。但是,Pixel 4 似乎不是一种选择。有什么方法可以下载此设备的硬件配置文件。

虚拟设备配置选择屏幕

编辑:从 Android Studio 4.1(2020 年 8 月发布)开始,您现在可以使用 Pixel 4 皮肤创建虚拟设备。

android android-virtual-device android-studio google-pixel android-10.0

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

尽管使用 NoActionBar 主题,Android 上的操作栏仍然显示

我正在为我的 Android 应用程序使用主题Theme.MaterialComponents.DayNight.NoActionBar( docs )。

我也在getActionBar().hide()MainActivity 中调用。

在我的几乎所有设备上,操作栏都没有显示。然而,在一台设备(运行 Android 12 的 Pixel 6)上,我仍然看到操作栏。我确信我已经安装了最新版本的应用程序。

你知道为什么操作栏仍然挂在这一台设备上吗?

android android-actionbar google-pixel android-12

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

java.lang.IllegalStateException:凭证加密存储中的 SharedPreferences 在用户解锁之前不可用

Google Pixel 设备(操作系统 9.0-pie)上的 cashlytics 中未记录崩溃,Playstore 将 ANR&Crashes 报告为 java.lang.IllegalStateException:凭证加密存储中的 SharedPreferences 在用户解锁之前不可用

它是在初始化 Fabric.with(this, new Crashlytics()) 时发生的,还观察到设备重新启动时会引发 IllegalStateException,并且应用程序会注册 LOCKED_BOOT_COMPLETED 和 BOOT_COMPLETED 广播意图

E/AndroidRuntime: FATAL EXCEPTION: main
   Process: com.connect, PID: 2328
   java.lang.RuntimeException: Unable to create application com..common.app.AppApplication: java.lang.IllegalStateException: SharedPreferences in credential encrypted storage are not available until after user is unlocked
       at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5925)
       at android.app.ActivityThread.access$1100(ActivityThread.java:200)
       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1656)
       at android.os.Handler.dispatchMessage(Handler.java:106)
       at android.os.Looper.loop(Looper.java:193)
       at android.app.ActivityThread.main(ActivityThread.java:6718)
       at java.lang.reflect.Method.invoke(Native Method)
       at
Run Code Online (Sandbox Code Playgroud)

有没有人遇到过类似的问题。任何人都可以帮助解决这个问题吗?

android crashlytics google-fabric google-pixel

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

Android 9 上的 android.database.sqlite.SQLiteCantOpenDatabaseException

我的应用程序正在运行,并且从 Google Play Console出现“由:android.database.sqlite.SQLiteCantOpenDatabaseException:引起的崩溃。

大多数情况下,它发生在 Android 9 操作系统上,并且它即将推出的所有设备中有 50% 是 Google Pixel 设备。我尝试了其他具有 android 9 但没有运气的设备。我没有 Google Pixel 设备。无论如何,任何人都建议我修复或复制它。

android google-play-console google-pixel android-9.0-pie

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

即使应用程序关闭,搭载 Android 12 的设备也会保持蓝牙 LE 连接

我遇到一个问题,我可以连接到蓝牙设备一次,但断开连接后,在扫描蓝牙设备时我不再看到该设备。如果我完全关闭应用程序,设备仍然无法被发现,但如果我关闭手机,设备将再次被发现。

我还注意到这个问题发生在 Pixel、华为和 xiomi 设备上,但似乎适用于运行 Android 12 的三星。

我的假设是,Android 12 中有一些奇怪的功能,可以以某种方式保持连接与应用程序分开。在我的应用程序中,我调用此代码来断开连接:

gatt.close()
Run Code Online (Sandbox Code Playgroud)

还有其他方法可以确保设备完全断开连接吗?

编辑: 打电话

bluetoothManager.getConnectedDevices(BluetoothProfile.GATT)
Run Code Online (Sandbox Code Playgroud)

断开连接并关闭后仍然返回我连接的设备。

EDIT2: 我可以使用以下代码重现此问题:

    private var gatt: BluetoothGatt? = null
    @SuppressLint("MissingPermission")
    fun onDeviceClick(macAddress: String) {
        logger.i(TAG, "onDeviceClick(macAddress=$macAddress)")
        val bluetoothManager: BluetoothManager =
            context.getSystemService(Context.BLUETOOTH_SERVICE) as BluetoothManager
        if (gatt != null) {
            logger.i(TAG, "Disconnecting")
            gatt?.close()
            gatt = null
            printConnectedDevices(bluetoothManager)
            return
        }
        printConnectedDevices(bluetoothManager)
        val btDevice = bluetoothManager.adapter.getRemoteDevice(macAddress)
        logger.d(TAG, "Device to connect: $btDevice")
        gatt = btDevice.connectGatt(context, false, object : BluetoothGattCallback() {
            override fun onConnectionStateChange(gatt: BluetoothGatt?, status: Int, newState: Int) { …
Run Code Online (Sandbox Code Playgroud)

android android-bluetooth google-pixel

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

Chrome DevTools 仅在设备拔出/断开连接时检测设备

简短的摘要:

当设备插入时,Chrome DevTools无法检测到我的设备(Google Pixel 7 Pro)。有趣的是,当我断开设备与电缆的连接时,设备会被识别。发生这种情况时,我可以在短时间内(5 秒)看到在我的设备上的浏览器中打开的页面,然后它们就会消失。当然,在这种情况下,页面不是交互式的,因此如果您在“检查”选项消失之前单击“检查”选项,则不会发生任何情况。

一些有用的信息:

  • Chrome DevTools 和设备检测过去对我有用。因此,我并不是第一次尝试这个。
  • 手机上开启USB调试
  • 我尝试将 USB 首选项设置为“文件传输”、“MIDI”、“无数据传输”等。每种模式的行为都相同。
  • 我可以从文件资源管理器中看到我的设备。我可以将照片从手机复制到笔记本电脑等。
  • 当我运行adb devices命令时,我的设备被识别(并且它不处于离线模式)
  • 我按照官方页面上的故障排除说明进行操作。我的设备直接连接到机器,我尝试多次拔掉 USB 线,USB 线绝对可以工作。
  • 我尝试手动安装 OEM USB 驱动程序,但不允许我更换驱动程序。在我选择新的驱动程序位置后会发生这种情况 在此输入图像描述
  • Chrome DevTools 识别出我大学的设备。因此,问题可能在某种程度上与特定的设备型号有关,而不是与机器设置有关。就我而言,设备是 Google Pixel 7 Pro

有任何想法吗?

android google-chrome google-chrome-devtools google-pixel

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

用于区分 Google Pixel 1/2 与 Google Pixel XL 与 Google Pixel 2 XL 的媒体查询

我正在编写一个cordova应用程序,需要隔离这些谷歌手机来调整样式

鉴于这种:

在此处输入图片说明

我正在努力区分任何 Google Pixel 手机。

@media only screen and (min-width: 411px) and (max-width: 731px) {
    .myDiv{ background-color: blue; }
}
Run Code Online (Sandbox Code Playgroud)

这会在所有像素上触发 - 在模拟器和物理设备中

@media only screen and (min-width: 411px) and (-webkit-device-pixel-ratio: 3) {
    .myDiv{ background-color: blue; }
}
Run Code Online (Sandbox Code Playgroud)

这对于任何像素手机都不会触发 - 如果 3 或 4 像素比率无关紧要

@media screen and (device-width: 411px) and (device-height: 731px) and (orientation: portrait) and (-webkit-device-pixel-ratio: 2.6){
   .myDiv{ background-color: blue;
}
Run Code Online (Sandbox Code Playgroud)

这也不会在任何像素手机上触发

我什至都在努力寻找一个可用于隔离 Google Pixel 2 XL 的媒体查询 - 似乎没有发布任何内容 - 但这款手机已经有一段时间了?

有没有人有这方面的运气?

android media-queries google-pixel

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