java - Android,从源错误构建 SystemUI

标签 java android build cygwin android-source

我尝试使用 cygwin 仅从 Android 4.4 AOSP 构建 SystemUI。 但我收到一条错误消息:“您的 APP_BUILD_SCRIPT 指向一个未知文件” 但我没有更改任何内容,只更改了几行 java 代码,因此它与 xda 构建的人员的代码相同。

这就是 Android.mk 的样子:

LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)


LOCAL_SRC_FILES := $(call all-java-files-under, src) \
src/com/android/systemui/EventLogTags.logtags

LOCAL_JAVA_LIBRARIES := telephony-common

LOCAL_PACKAGE_NAME := SystemUI
LOCAL_CERTIFICATE := platform
LOCAL_PRIVILEGED_MODULE := true

LOCAL_PROGUARD_FLAG_FILES := proguard.flags

include $(BUILD_PACKAGE)

include $(call all-makefiles-under,$(LOCAL_PATH))

我无法使用 Eclipse 构建 apk,因为 SystemUI 使用一些隐藏的 api 调用和资源。 所以我得到了很多错误。

我已经搜索了几个小时,但没有找到任何有帮助的东西:/

最佳答案

because the SystemUI uses some hidden api calls and resources.

是的,这就是原因。您需要破解 android SDK,使其包含系统应用程序(包括 SystemUI)中使用的隐藏内容。有两种方法可以做到这一点:

  1. 困难的方法 - 从源代码编译 android SDK(源代码包含隐藏的 api)。通过 android sdk 管理器或其他来源下载它们,编译它们,使用它们。

  2. 最简单的方法 - 请参阅 this 。主要思想如下:你有 2 个库:

    • 在您的电脑上,/path-to-android-sdk/platforms/android-x/android.jar(其中 x 是 api 级别),这是您在 Android 项目中引用的库,它包含“正常的”sdk,你通常使用的,没有 secret 的东西。
    • 在您的设备上,/system/framework/framework.jar,这是您的 Android 设备使用的 sdk 库,它包含 secret 内容。

获取它们,将它们组合到一个新的 android.jar 库中,创建一个新的 android 平台并使用该平台。

关于java - Android,从源错误构建 SystemUI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19937558/

相关文章:

npm - 在 npm 依赖项中包含 fabricjs 以及手势模块的自定义构建

c++ - 如何在C++程序中设置自定义断点?

angular - 什么是适合 Angular2 项目的构建系统?

java - Hadoop : java. io.IOException : Call to localhost/127. 0.0.1 :54310 failed on local exception: java. io.EOFException

java - 如何防止 Java 8/Tomcat 7 对 Response.sendRedirect 上的 URL 路径进行 URL 编码

android - 布局 - 如何根据空白空间动态添加 View 和断线

android - 什么控制 View 之间的默认填充?

java - Jackson 多态性 - 没有属性的抽象类

java - jstack命令中的帧是什么

android - 更好的性能ffmpeg android