java - 类文件的未知包名

标签 java android android-source android.mk

我有两个库想要添加到 AOSP: Azure Storage & Jackson Core

当 Azure 存储依赖 Jackson 时。

已关注 this instructions ,我已将它们添加到 [MAIN_FOLDER]/external 下,并添加以下 Android.mk 文件:

献给 jackson -

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

LOCAL_MODULE := jackson

LOCAL_MODULE_TAGS := eng debug optional

LOCAL_SDK_VERSION := current

LOCAL_SRC_FILES := $(call all-java-files-under, src/main)

include $(BUILD_JAVA_LIBRARY)

以及 Azure 存储 -

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

LOCAL_MODULE := azure-storage

LOCAL_JAVA_LIBRARIES := jackson

LOCAL_MODULE_TAGS := eng debug optional

LOCAL_SDK_VERSION := current

LOCAL_SRC_FILES := $(call all-java-files-under, src/main)

include $(BUILD_JAVA_LIBRARY)

当我还添加时:

PRODUCT_BOOT_JARS := \
    jackson \
    azure-storage

到我的core_minimal.mk

以及以下内容到[MAIN_FOLDER]/frameworks/base/services/core/Android.mk:

LOCAL_JAVA_LIBRARIES += jackson azure-storage

唉,当我尝试make update-api && make时, 我收到以下错误:

Error: out/target/common/obj/JAVA_LIBRARIES/jackson_intermediates/classes.jar: unknown package name of class file com/fasterxml/jackson/core/JsonLocation.class

Error: out/target/common/obj/JAVA_LIBRARIES/azure-storage_intermediates/classes.jar: unknown package name of class file com/microsoft/azure/storage/CorsRule.class

make: *** [out/target/common/obj/PACKAGING/boot-jars-package-check_intermediates/stamp] Error 1

make: *** Waiting for unfinished jobs....

谢谢!

最佳答案

首先,我们最好找到这个错误来自哪里,通过“grep”我们发现它来自Python:build/core/tasks/check_boot_jars/check_boot_jars.py:

def CheckJar(jar):
package_name = os.path.dirname(f)
package_name = package_name.replace('/', '.')
# Skip class without a package name
if package_name and not whitelist_re.match(package_name):
    print >> sys.stderr, ('Error: %s: unknown package name of class file %s' % (jar, f))
    return False

显然,如果您的包名称不存在于“whitelist_re”中,则会出现错误!

“whitelist_re”的值来自名为“build/core/tasks/check_boot_jars/package_whitelist.txt”的 txt 文件,因此解决方案是将您的包添加到此白名单文件中。

package_whitelist.txt 中列出了示例。

关于java - 类文件的未知包名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40114369/

相关文章:

java - 这两种算法的比较?

java - 设计库存管理中的转移模式

java - 如何根据另一个数组的条件自动设置数组值?

java - 无法在 Controller 中的 javafx 中创建按钮数组

android - 如何在android中以编程方式使用蓝牙HFP配置文件?

android - 叉AOSP源

java - 打开 SQLite 数据库时出现 NullPointerException

android - 将 ProGuard/Dexguard 与多个 Android Studio 模块一起使用

java - 即使convertView不为null,convertView.findViewById也会返回null

android - 如何使用 super 用户编译 AOSP