我尝试使用 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)中使用的隐藏内容。有两种方法可以做到这一点:
困难的方法 - 从源代码编译 android SDK(源代码包含隐藏的 api)。通过 android sdk 管理器或其他来源下载它们,编译它们,使用它们。
最简单的方法 - 请参阅 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/