标签: android-source

错误android.content.res.Resources $ NotFoundException:来自xml类型布局资源ID的文件#0x102000a

嘿,我正在尝试为一个看起来像(并且大多数就像)调用日志的列表创建一个设计,如下所示:

替代文字

为此,我下载了源代码,我正在研究它以了解哪个类和xml文件实现它.

我发现这两个xml文件recent_calls_list_item.xml:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_height="?android:attr/listPreferredItemHeight"
android:paddingLeft="7dip"> 

<com.psyhclo.DontPressWithParentImageView
    android:id="@+id/call_icon" android:layout_width="wrap_content"
    android:layout_height="match_parent" android:paddingLeft="14dip"
    android:paddingRight="14dip" android:layout_alignParentRight="true"

    android:gravity="center_vertical" android:src="@android:drawable/sym_action_call"
    android:background="@drawable/call_background" />

<include layout="@layout/recent_calls_list_item_layout" />
Run Code Online (Sandbox Code Playgroud)

另一个是recent_calls_list_item_layout.xml:

<?xml version="1.0" encoding="utf-8"?>
<merge xmlns:android="http://schemas.android.com/apk/res/android">

<View android:id="@+id/divider"
    android:layout_width="1px"
    android:layout_height="match_parent"
    android:layout_marginTop="5dip"
    android:layout_marginBottom="5dip"
    android:layout_toLeftOf="@id/call_icon"
    android:layout_marginLeft="11dip"
    android:background="@drawable/divider_vertical_dark"
/>

<ImageView android:id="@+id/call_type_icon"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_alignParentLeft="true"
    android:layout_marginLeft="4dip"
/>

<TextView android:id="@+id/date"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_toLeftOf="@id/divider"
    android:layout_alignParentBottom="true"
    android:layout_marginBottom="8dip"
    android:layout_marginLeft="10dip"

    android:textAppearance="?android:attr/textAppearanceSmall"
    android:singleLine="true"
/>

<TextView android:id="@+id/label"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentBottom="true"
    android:layout_marginLeft="36dip"
    android:layout_marginRight="5dip"
    android:layout_alignBaseline="@id/date"

    android:singleLine="true"
    android:ellipsize="marquee"
    android:textAppearance="?android:attr/textAppearanceSmall"
    android:textStyle="bold"
/>

<TextView android:id="@+id/number" …
Run Code Online (Sandbox Code Playgroud)

android android-source android-layout

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

构建后的Android 2.3模拟器空白屏幕

我正试图在我的Ubuntu 10.10机器上从头开始构建Android 2.3(Gingerbread).

我已按照此处的所有步骤操作:http: //source.android.com/source/building.html 没有构建错误.

但由于某种原因,模拟器启动并且屏幕保持空白(我确实尝试将其保留几个小时).几个月前我在这台机器上建了2.2而没有问题.

更新:正如您从图像中看到的那样 - adb会短暂地检测到仿真器,但是当我再次运行它大约30秒后它根本检测不到它.

我能错过什么?

在此输入图像描述

android android-emulator android-source

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

在Android内核中加载内核模块

我在这里列出我的问题.

我有一个谷歌Nexus手机,也就是"激情"手机.手机中安装了Fastboot和adb工具.并且启动加载程序已解锁.

我的任务:我必须在Android内核中添加一个linux内核模块.

我做了什么:

我按照http://source.android.com/source/initializing.html中的步骤操作,下载了android-2.3.6_r1(激情)的内核并构建了它.我也可以在手机上刷它,新的Android内核也可以正常工作.现在我想要的是修改内核并添加我自己的内核模块然后在手机上刷它,这样手机上的内核就是我修改过的内核.

现在我遇到了两种方法来做到这一点.

1)

交叉使用android内核编译我的内核模块,并使用adb命令将其推送到设备上.我在内核中使用的Makefile如下.

VERSION = 2
PATCHLEVEL = 3
SUBLEVEL = 6
EXTRAVERSION = -00054-g5f01537
obj-m += hello-1.o
KDIR=/home/apurva/android_dir
PWD := $(shell pwd)
all:
        make -C $(KDIR) ARCH=arm CROSS_COMPILE=/home/apurva/android_dir/prebuilt/linux-    x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi- SUBDIRS=$(PWD) modules

clean:
        make -C $(KDIR) ARCH=arm CROSS_COMPILE=/home/apurva/android_dir/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi- SUBDIRS=$(PWD) clean
Run Code Online (Sandbox Code Playgroud)

现在这不能生成新的hello-1.ko.我不知道为什么,我猜VERSION,PATCHLEVEL,SUBLEVEL和EXTRAVERSION值存在一些问题.这些必要吗?我从android-2.3.6_r1尝试了这些值,但它仍然不起作用.我不确定这个EXTRAVERSION值是多少?

我甚至试过在我的ubuntu中使用编译器生成的hello-1.ko.我使用以下adb命令将此hello-1.ko推送到模拟器中.

/root/bin/src/out/host/linux-x86/bin/adb shell mount
/root/bin/src/out/host/linux-x86/bin/adb push hello-1.ko /data
/root/bin/src/out/host/linux-x86/bin/adb insmod /data/hello-1.ko
Run Code Online (Sandbox Code Playgroud)

但是hello-1.ko无法insmod并且我得到以下错误.insmod:init_module()hello-1.ko函数中的错误未实现

而hello-1.c非常简单:

#include <linux/module.h>       /* Needed by all modules */
#include <linux/kernel.h>       /* Needed for KERN_INFO */

int init_module(void)
{
        printk(KERN_INFO …
Run Code Online (Sandbox Code Playgroud)

android android-source

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

Eclipse中的Android框架调试

我正在开发一个项目,我正在对android框架源进行更改.在Eclipse中执行此操作并且能够调试的最佳方法是什么?我已经看过在Eclipse中附加android源代码的帖子,但这是'标准'源代码,而不是我自己的版本.

目前我只是在文本编辑器中对框架进行更改,并且每次都通过命令行进行构建,从命令行运行模拟器并启动adb logcat会话以查看是否有任何异常,但必须有另一个(更高效/可行的方式来做到这一点?

android android-source android-framework

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

如何在android JellyBean 4.2.2中开发自定义状态栏

我想开发自定义StatusBar.我知道我不是唯一有此要求的人.但还是想知道意见.

  • 经过对StackOverflow的大量搜索,我发现人们已经使用工具修改了状态栏,但这不是我需要的.

  • 我正在研究自己的状态栏的开发方向,我自己的品牌和系统图标的布局.

  • 此外,我在谷歌游戏商店看到有一个自定义状态栏应用程序,如欧米茄状态栏和更多.我正在寻找相同的实现.我还了解到,这些应用程序安装在非root设备上,我需要的方式并使用"禁用或修改状态栏"权限.

  • 我还为状态栏创建了一些基本布局,但不知道如何进一步制作我的状态栏应用程序并覆盖默认状态栏(Systemui.apk)

总结 - 如何在Android中以编程方式开发自己的状态栏应用程序?

帮助感谢!

java android android-source android-4.2-jelly-bean

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

在LatinIME(AOSP)中膨胀类EmojiPalettesView时出错

我查看了Google LatinIME.然后我将java文件夹导入Android Studio.

我运行它,设置它(我在手机设置中选择了一个键盘,我选择了语言布局)但是在测试期间(通过关注edittext)application崩溃时出现错误:

android.view.InflateException:二进制XML文件行#29:二进制XML文件行#21:错误充气类com.android.inputmethod.keyboard.emoji.EmojiPalettesView

这是完整的StackTrace:

致命异常:主要进程:com.android.inputmethod.latin,PID:19332 android.view.InflateException:二进制XML文件行#29:二进制XML文件行#21:错误导致类com.android.inputmethod.keyboard.emoji. EmojiPalettes在android.view.LayoutInflater.inflate(LayoutInflater.java:539)的android.view.LayoutInflater.inflate(LayoutInflater.java:423)中的android.view.LayoutInflater.inflate(LayoutInflater.java:374)的com.android .inputmethod.keyboard.KeyboardSwitcher.onCreateInputView(KeyboardSwitcher.java:464)位于android.inputmethodservice.InputMethodService.updateInputViewShown(InputMethodService.java:1117)的com.android.inputmethod.latin.LatinIME.onCreateInputView(LatinIME.java:752) android.inputmethodservice.InputMethodService.showWindowInner(InputMethodService.java:1473)在android.inputmethodservice.InputMethodService.showWindow(InputMethodService.java:1447)的android.inputmethodservice.InputMethodService $ InputMethodImpl.showSoftInput(InputMethodService.java:437)at at android.inputmethodservice.IInputMethodWrapper.executeMessage(IInputMethodWrapper.java:203)位于android.os.Handler.dispatchMessage(Handler.java:102)的com.android.internal.os.HandlerCaller $ MyHandler.handleMessage(HandlerCaller.java:37)在android.os.Looper.loop(Looper.java:148)的android.app.ActivityThread.main(ActivityThread.java:5551),位于com.android.internal的java.lang.reflect.Method.invoke(Native Method) .os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:730)at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:620)引起:android.view.InflateException:二进制XML文件行#21:在android.view.LayoutInflater的android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:764)的android.view.LayoutInflater.createView(LayoutInflater.java:645)中输入com.android.inputmethod.keyboard.emoji.EmojiPalettesView类错误.parseInclude(LayoutInflater.java:941)位于android.view.LayoutInflater.rInflateCh的android.view.LayoutInflater.rInflate(LayoutInflater.java:831)位于android.view.LayoutInflater.inflate(LayoutInflater.java:423)的android.view.LayoutInflater.inflate(LayoutInflater.java:514)的android.view.LayoutInflater.inflate(LayoutInflater.java)中的ildren(LayoutInflater.java:798) :374)at com.android.inputmethod.keyboard.KeyboardSwitcher.onCreateInputView(KeyboardSwitcher.java:464) 

问题: 帮帮我,我做错了什么?

java android android-source

12
推荐指数
0
解决办法
265
查看次数

离线听写功能是AOSP中Jelly Bean的一部分吗?如果有,它是什么包?

我一直在寻找Jelly Bean,看看我是否能找到离线听写功能,但我没有太多运气.如您所知,来源巨大且繁琐.我找到了/ external/srec文件夹,但是当Android于2007年首次推出时,其中的文档似乎来自Nuance.这是否仅作为封闭源Google应用程序(Gms)提供?

谢谢

贾里德

android speech-recognition speech-to-text android-source

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

前景服务从奥利奥被杀

我编写了一个前台服务,它适用于低于Oreo的所有操作系统版本.从Oreo开始,应用程序流程在关闭5分钟后被杀死,并从最近删除应用程序.

根据android开发人员文档中的后台执行限制, 操作系统不应该终止正在运行前台服务的应用程序,并且通知窗口中会显示通知.

根据开发人员文档的指导原则.我按照以下步骤启动前台服务.

  1. 前台服务以startForegroundService()方法开始
  2. 在启动服务后的5秒内,将显示使用该服务的通知 startForeground()
  3. 返回START_STICKYonStartCommand()service

我在以下手机上遇到此问题:

  1. OnePlus 5T
  2. 体内
  3. OPPO

我试图阻止前台服务被破坏?

  1. 通过向用户显示系统对话框以禁用打盹模式,禁用应用程序的电池优化.

我试图重启前台服务?

  1. 用于AlarmManager从onTaskRemoved()重新启动服务.请查看此链接了解详情.

根据我的理解,这些制造商已经定制了AOSP,并且不遵守允许前台服务运行的操作系统指南.可能这些制造商已经做到了这一点,因为它给用户带来了很长的电池续航时间

前台服务课

    class DataCaptureService : Service() {

        private var isServiceStarted = false

        override fun onBind(intent: Intent?): IBinder? {
            return null
        }

override fun onCreate() {
        super.onCreate()
        wakeLock = (getSystemService(Context.POWER_SERVICE) as PowerManager).run {
                    newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "WakelockTag123").apply {
                        acquire()
                    }
                }
    }


        override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int …
Run Code Online (Sandbox Code Playgroud)

android android-source android-service

11
推荐指数
3
解决办法
6735
查看次数

AOSP 阻止安装来自未知来源的应用程序

有什么方法可以阻止用户在自定义 android 操作系统中安装来自未知来源的应用程序?

我正在尝试使用 AOSP 源创建 Android 操作系统的自定义变体,其中我希望允许用户仅安装来自我在构建期间指定的受信任源的应用程序。

阻止启用开发人员选项和 USB 调试。该解决方案应阻止用户从所有可能的来源(如侧载)或通过与系统连接来安装应用程序。

android package-managers android-source apk hardening

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

AOSP项目是如何搭建的?

AOSP 的所有 git 项目都由 repo 工具克隆,该工具读取此 xml:https : //android.googlesource.com/platform/manifest/+/refs/heads/master/default.xml

AOSP 指南说为了构建,我们应该source build/envsetup.sh在 repo 克隆所有存储库的文件夹上运行。因此,让我们看看platform/build清单存储库中的 default.xml。我们得到

  <project path="build/make" name="platform/build" groups="pdk" >
    <copyfile src="core/root.mk" dest="Makefile" />
    <linkfile src="CleanSpec.mk" dest="build/CleanSpec.mk" />
    <linkfile src="buildspec.mk.default" dest="build/buildspec.mk.default" />
    <linkfile src="core" dest="build/core" />
    <linkfile src="envsetup.sh" dest="build/envsetup.sh" />
    <linkfile src="target" dest="build/target" />
    <linkfile src="tools" dest="build/tools" />
  </project>
Run Code Online (Sandbox Code Playgroud)

我们确认envsetup.sh 所在的位置。,它在platform/build。它定义了m根据 AOSP 指南构建整个 AOSP 项目的函数:

function _trigger_build()
(
    local -r bc="$1"; shift
    if T="$(gettop)"; then
      _wrap_build "$T/build/soong/soong_ui.bash" …
Run Code Online (Sandbox Code Playgroud)

android go android-source android-soong

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