gpt4 book ai didi

android - ICS AOSP中个别应用(Phone,Contacts)的UI修改

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:00:49 25 4
gpt4 key购买 nike

我已经成功地修改了 AOSP 的几个应用程序(启动器、短信、图库、电子邮件、日历),但是我在修改 Phone、Contacts 应用程序时遇到问题。

我已经完成了以下步骤来修改 Launcher,SMS,Gallery,Email,Calendar 应用程序:

  1. 我已经下载了 ICS AOSP 并在 eclipse 中导入了个人应用程序。
  2. 我已经更改了包名称,即com.android.launcher2com.test.launcher2
  3. 第 1 步第 2 步 之后,由于缺少框架类,我在个别应用程序中遇到了错误。我通过在我的应用程序中导入那些缺少的类来解决这些问题。
  4. 我已经修改了我的应用程序的用户界面。
  5. 我已经在模拟器上运行了该应用程序。它工作正常。

现在,我在修改第 3 步 中的联系人、电话应用程序时遇到问题:

-> 当我在我的应用程序中导入缺少的 java.*javax.* 框架类时,控制台通过类似 Ill- 的错误通知我不构建核心库时建议或错误使用核心类(java.* 或 javax.*)。

-> 为了克服这些问题,我尝试包含一些在 Android.mk 文件中指定并在构建下载的 AOSP (ICS) 时生成的 jar 库。但这并没有解决我的问题问题。

-> 我猜 com.android.phone.common jar 文件可能会解决这个问题,但我无法解决它,因为我怀疑我从构建中获得的那个文件中缺少类.所以几天以来我一直试图在互联网上找到它,但我找不到它。所以如果有人有这个 jar 文件的完整(工作)版本,请分享它。。。 p>

注意:我的开发机器有 Windows 7。我的短期目标是修改联系人、电话应用程序的 UI 并运行它。

编辑 Buildpath 的截图 enter image description here enter image description here

编辑 将 TimSort.java 放入默认包后,

enter image description here

我在 github 演示中也描述了这个步骤,说“当我导入 TimSort.java 时,它试图访问 Arrays.java 类的一些隐藏方法,所以我需要导入那个类”。这个错误是原因我创建了 java.util 包来包含 Arrays.java 类。否则我很高兴只导入 TimSort.java。顺便说一下,在屏幕截图中我们可以看到 comment,它特别说明了接下来的 2 个方法

最佳答案

正如我在上一条评论中所说,主要问题是您包含了 java.* 和 javax.*,它们已经存在于 android.jar 中。所以构建器认为你正在构建核心库,而你不是。

我只是删除了您项目中的 java.util.* 包。并且没有错误。 android.jar 中已经包含了很多包,包括java.xxx 和javax.xxx。如果确实缺少需要使用的 java 核心库,请尝试重构。

Eclipse Snapshot

我检查了 Android 源,dx 将通过调用首先检查您的源名称:

private static void checkClassName(String name) {
boolean bogus = false;

if (name.startsWith("java/")) {
bogus = true;
} else if (name.startsWith("javax/")) {
int slashAt = name.indexOf('/', 6);
if (slashAt == -1) {
// Top-level javax classes are verboten.
bogus = true;
} else {
String pkg = name.substring(6, slashAt);
bogus = (Arrays.binarySearch(JAVAX_CORE, pkg) >= 0);
}
}

if (! bogus) {
return;
}

/*
* The user is probably trying to include an entire desktop
* core library in a misguided attempt to get their application
* working. Try to help them understand what's happening.
*/

DxConsole.err.println("\ntrouble processing \"" + name + "\":\n\n" +
IN_RE_CORE_CLASSES);
errors++;
throw new StopProcessing();
}

IN_RE_CORE_CLASSES 是您在控制台中看到的错误字符串。这解释了为什么它显示该错误。

更新:

添加 TimSort.java 后的屏幕截图。

Screenshot after adding TimSort.java

关于android - ICS AOSP中个别应用(Phone,Contacts)的UI修改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16142877/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com