【发布时间】:2018-06-20 10:50:04
【问题描述】:
我开始研究从 Eclipse 导入的“Android Studio”项目。在这个项目中,我有两个 .c 文件,这给我带来了很多问题:
D:\AndroidProjects\AndroidApp\SDK\src\main\jni\ip\ip.c D:\AndroidProjects\AndroidApp\SDK\src\main\jni\nativeinterface\native.c
我正在更新此文件的代码,并且每隔几次编译(Build ---> Build Project)我就会收到以下错误:
“此文件不是项目的一部分。请将其包含在适当的构建文件(build.gradle、CMakeLists.txt 或 Android.mk 等)中并同步项目”
我尝试执行 Build ---> "Refresh Linked C++ Projects",有时有效,有时无效,如果有效,几次编译后错误返回。
我认为问题与文件有关:
D:\AndroidProjects\AndroidApp\SDK\Android.mk
您可以在下面看到。我有 5 个主要问题:
我在这个文件中看到了一些 *.mk、*.mk.swp 和 *.so 文件,可以吗?这些文件应该在那里吗?
在我的文件路径中,我有这个斜杠“\”,但在互联网上的某些示例中,我看到这个斜杠“/”,哪一个是正确的?这有关系吗?
我可以在这个文件中看到两个主要部分:
LOCAL_SRC_FILES
LOCAL_C_INCLUDES
我应该在两个部分中添加“ip.c”和“native.c”文件的路径吗?还是只对其中之一?
- 在项目中,我看到了更多的“Android.mk”文件(更短),除了主“Android.mk”文件之外,它们还应该存在吗?
例如这是'ip.c'文件文件夹中的'Android.mk':
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES:= \
ip.c
LOCAL_LDLIBS := -llog
LOCAL_MODULE := ipAndroidApp
LOCAL_CFLAGS += -O3
include $(BUILD_SHARED_LIBRARY)
这是'native.c'文件文件夹中的'Android.mk':
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES := native.c
LOCAL_MODULE := native
include $(BUILD_STATIC_LIBRARY)
-
LOCAL_C_INCLUDES部分以+=开头,可以吗?还是第一行必须以:=开头?
谢谢。
这是我的主要“Android.mk”文件:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := app
LOCAL_LDFLAGS := -Wl,--build-id
LOCAL_SRC_FILES :=
D:\AndroidProjects\AndroidApp\SDK\src\main\jni\.Application.mk.swp \
D:\AndroidProjects\AndroidApp\SDK\src\main\jni\Android.mk \
D:\AndroidProjects\AndroidApp\SDK\src\main\jni\Application.mk \
D:\AndroidProjects\AndroidApp\SDK\src\main\jni\ip\Android.mk \
D:\AndroidProjects\AndroidApp\SDK\src\main\jni\ip\ip.c \
D:\AndroidProjects\AndroidApp\SDK\src\main\jni\ipd\Android.mk \
D:\AndroidProjects\AndroidApp\SDK\src\main\jni\ipn\Android.mk \
D:\AndroidProjects\AndroidApp\SDK\src\main\jni\libusb_orig\core.c \
D:\AndroidProjects\AndroidApp\SDK\src\main\jni\libusb_orig\descriptor.c \
D:\AndroidProjects\AndroidApp\SDK\src\main\jni\libusb_orig\io.c \
D:\AndroidProjects\AndroidApp\SDK\src\main\jni\libusb_orig\os\linux_usbfs.c \
D:\AndroidProjects\AndroidApp\SDK\src\main\jni\libusb_orig\os\threads_posix.c \
D:\AndroidProjects\AndroidApp\SDK\src\main\jni\libusb_orig\sync.c \
D:\AndroidProjects\AndroidApp\SDK\src\main\jni\libusb_orig\__Android.mk \
D:\AndroidProjects\AndroidApp\SDK\src\main\jni\libusb_saki4510t\Android.mk \
D:\AndroidProjects\AndroidApp\SDK\src\main\jni\libusb_saki4510t\libusb\core.c \
D:\AndroidProjects\AndroidApp\SDK\src\main\jni\libusb_saki4510t\libusb\core_original.c \
D:\AndroidProjects\AndroidApp\SDK\src\main\jni\libusb_saki4510t\libusb\descriptor.c \
D:\AndroidProjects\AndroidApp\SDK\src\main\jni\libusb_saki4510t\libusb\descriptor_original.c \
D:\AndroidProjects\AndroidApp\SDK\src\main\jni\libusb_saki4510t\libusb\hotplug.c \
D:\AndroidProjects\AndroidApp\SDK\src\main\jni\libusb_saki4510t\libusb\hotplug_original.c \
D:\AndroidProjects\AndroidApp\SDK\src\main\jni\libusb_saki4510t\libusb\io.c \
D:\AndroidProjects\AndroidApp\SDK\src\main\jni\libusb_saki4510t\libusb\io_original.c \
D:\AndroidProjects\AndroidApp\SDK\src\main\jni\libusb_saki4510t\libusb\libusb-1.0.def \
D:\AndroidProjects\AndroidApp\SDK\src\main\jni\libusb_saki4510t\libusb\libusb-1.0.rc \
D:\AndroidProjects\AndroidApp\SDK\src\main\jni\libusb_saki4510t\libusb\Makefile.am \
D:\AndroidProjects\AndroidApp\SDK\src\main\jni\libusb_saki4510t\libusb\os\android_netlink.c \
D:\AndroidProjects\AndroidApp\SDK\src\main\jni\libusb_saki4510t\libusb\os\android_usbfs.c \
D:\AndroidProjects\AndroidApp\SDK\src\main\jni\libusb_saki4510t\libusb\os\darwin_usb.c \
D:\AndroidProjects\AndroidApp\SDK\src\main\jni\libusb_saki4510t\libusb\os\linux_netlink.c \
D:\AndroidProjects\AndroidApp\SDK\src\main\jni\libusb_saki4510t\libusb\os\linux_udev.c \
D:\AndroidProjects\AndroidApp\SDK\src\main\jni\libusb_saki4510t\libusb\os\linux_usbfs.c \
D:\AndroidProjects\AndroidApp\SDK\src\main\jni\libusb_saki4510t\libusb\os\netbsd_usb.c \
D:\AndroidProjects\AndroidApp\SDK\src\main\jni\libusb_saki4510t\libusb\os\openbsd_usb.c \
D:\AndroidProjects\AndroidApp\SDK\src\main\jni\libusb_saki4510t\libusb\os\poll_posix.c \
D:\AndroidProjects\AndroidApp\SDK\src\main\jni\libusb_saki4510t\libusb\os\poll_posix_original.c \
D:\AndroidProjects\AndroidApp\SDK\src\main\jni\libusb_saki4510t\libusb\os\poll_windows.c \
D:\AndroidProjects\AndroidApp\SDK\src\main\jni\libusb_saki4510t\libusb\os\threads_posix.c \
D:\AndroidProjects\AndroidApp\SDK\src\main\jni\libusb_saki4510t\libusb\os\threads_windows.c \
D:\AndroidProjects\AndroidApp\SDK\src\main\jni\libusb_saki4510t\libusb\os\wince_usb.c \
D:\AndroidProjects\AndroidApp\SDK\src\main\jni\libusb_saki4510t\libusb\os\windows_usb.c \
D:\AndroidProjects\AndroidApp\SDK\src\main\jni\libusb_saki4510t\libusb\strerror.c \
D:\AndroidProjects\AndroidApp\SDK\src\main\jni\libusb_saki4510t\libusb\sync.c \
D:\AndroidProjects\AndroidApp\SDK\src\main\jni\libusb_saki4510t\libusb\sync_original.c \
D:\AndroidProjects\AndroidApp\SDK\src\main\jni\nativeinterface\Android.mk \
D:\AndroidProjects\AndroidApp\SDK\src\main\jni\nativeinterface\native.c \
D:\AndroidProjects\AndroidApp\SDK\src\main\jni\prebuilt\Android.mk \
D:\AndroidProjects\AndroidApp\SDK\src\main\jni\prebuilt\armeabi\libDropboxSync.so \
D:\AndroidProjects\AndroidApp\SDK\src\main\jni\prebuilt\armeabi\libipandroidapp.so \
D:\AndroidProjects\AndroidApp\SDK\src\main\jni\prebuilt\armeabi\libopentok.so \
D:\AndroidProjects\AndroidApp\SDK\src\main\jni\prebuilt\armeabi\librs.androidappsdk_ipd.so \
D:\AndroidProjects\AndroidApp\SDK\src\main\jni\prebuilt\armeabi\librs.androidappsdk_ipn.so \
D:\AndroidProjects\AndroidApp\SDK\src\main\jni\prebuilt\armeabi\librs.androidappsdk_rgb2yuv.so \
D:\AndroidProjects\AndroidApp\SDK\src\main\jni\prebuilt\armeabi\libusbandroidapp.so \
D:\AndroidProjects\AndroidApp\SDK\src\main\jni\prebuilt\armeabi-v7a\libDropboxSync.so \
D:\AndroidProjects\AndroidApp\SDK\src\main\jni\prebuilt\armeabi-v7a\libipandroidapp.so \
D:\AndroidProjects\AndroidApp\SDK\src\main\jni\prebuilt\armeabi-v7a\libopentok.so \
D:\AndroidProjects\AndroidApp\SDK\src\main\jni\prebuilt\armeabi-v7a\librs.androidappsdk_ipd.so \
D:\AndroidProjects\AndroidApp\SDK\src\main\jni\prebuilt\armeabi-v7a\librs.androidappsdk_ipn.so \
D:\AndroidProjects\AndroidApp\SDK\src\main\jni\prebuilt\armeabi-v7a\librs.androidappsdk_rgb2yuv.so \
D:\AndroidProjects\AndroidApp\SDK\src\main\jni\prebuilt\armeabi-v7a\libusbandroidapp.so \
LOCAL_C_INCLUDES += D:\AndroidProjects\AndroidApp\SDK\src\main\jni
LOCAL_C_INCLUDES += D:\AndroidProjects\AndroidApp\SDK\src\release\jni
include $(BUILD_SHARED_LIBRARY)
【问题讨论】:
标签: java android c++ android-ndk native