android: 在 aidl 文件 com.android.internal.telephony.gsm.NetworkInfo 中找不到类错误的导入

标签 android linker aidl build-error

我正在尝试重新使用 PhoneUtils.java (~/android_src/packages/apps/ Phone/src/com/android/phone/) 在我的应用程序中进行了一些自定义。

我添加了 INetworkQueryServiceCallback.aidlINetworkQueryService.aidl 到我的应用程序文件夹(~/android_src/packages/ apps/USSDActivity/src/com/myapp/ussdactivitytest) 但是当我 与 android 源一起构建我收到以下错误:

Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Aidl: com.myapp.ussdactivity <= packages/apps/USSDActivity/src/com/myapp/ussdactivitytest/INetworkQueryService.aidl
Aidl: com.myapp.ussdactivity <= packages/apps/USSDActivity/src/com/myapp/ussdactivitytest/INetworkQueryServiceCallback.aidl
packages/apps/USSDActivity/src/com/myapp/ussdactivitytest/INetworkQueryServiceCallback.aidl:19: couldn't find import for class com.android.internal.telephony.gsm.NetworkInfo
make: *** [out/target/common/obj/JAVA_LIBRARIES/com.myapp.ussdactivity_intermediates/src/src/com/myapp/ussdactivitytest/INetworkQueryServiceCallback.java] Error 1

Android.mk:

LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
LOCAL_SRC_FILES := $(call all-java-files-under, src)
LOCAL_SRC_FILES += \
        src/com/myapp/ussdactivitytest/EventLogTags.logtags \
        src/com/myapp/ussdactivitytest/INetworkQueryService.aidl \
        src/com/myapp/ussdactivitytest/INetworkQueryServiceCallback.aidl

LOCAL_MODULE := com.myapp.ussdactivity
include $(BUILD_STATIC_JAVA_LIBRARY)
include $(CLEAR_VARS)
LOCAL_STATIC_JAVA_LIBRARIES := com.android.phone.common
LOCAL_JAVA_LIBRARIES := core framework
LOCAL_AIDL_INCLUDES += $(FRAMEWORKS_BASE_JAVA_SRC_DIRS)
LOCAL_MODULE_TAGS := optional
LOCAL_SRC_FILES := $(call all-java-files-under, src)
LOCAL_SRC_FILES += \
        src/com/myapp/ussdactivitytest/EventLogTags.logtags \
        src/com/myapp/ussdactivitytest/INetworkQueryService.aidl \
        src/com/myapp/ussdactivitytest/INetworkQueryServiceCallback.aidl
LOCAL_PACKAGE_NAME := USSDActivity
LOCAL_CERTIFICATE := platform
include $(BUILD_PACKAGE)
include $(call all-makefiles-under,$(LOCAL_PATH))

最佳答案

在这种情况下,添加以下行 framework.aidl。 (平台\android-9\framework.aidl)

parcelable com.android.internal.telephony.gsm.NetworkInfo;

关于android: 在 aidl 文件 com.android.internal.telephony.gsm.NetworkInfo 中找不到类错误的导入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6058350/

相关文章:

android - 跨进程通过引用返回一个AIDL接口(interface)实现

android - 如何在设备上安装未签名的 android 应用程序?

android - 在 Android 中使用准备好的语句进行查询?

Android 从 Activity 中解锁屏幕并打开相机

linux - 在编译时链接共享对象

android-gradle-plugin - 解决配置 'android-aidl' 后无法创建变体 ':zoomage:debugApiElements'

Android OpenGL ES 纹理动画

linker - 动态链接的静默重复符号错误

linux - 为 GTK 功能链接哪些库?

java - 客户端进程(在带有aidl的android IPC中)如何知道远程服务器类?