我正在开发一个 flutter 项目,并用它构建 aar。我可以按照 flutter 提供的说明将这个 aar 集成到我的本机 android 项目中。但我的问题是这个aar是本地集成的。我想通过 maven 发布这个 aar,以便团队成员可以轻松访问它。
publishing在年级任务的帮助下可以从本机库发布。但对于 flutter 库,我不确定我们应该做什么。所以,我需要这方面的帮助。
我已经按照这个 github项目在android上加载dlib.我能够在我的Android设备上运行这个东西.对于人脸检测和地标识别,它工作正常.但我想在我的应用程序中使用面部识别功能,我在dlib-19.4.0中可以阅读.我甚至在python上尝试过它并且有效.
我想在我的Android应用程序中导入此功能.我按照说明构建.so文件.但在.so文件中,我找不到face_recognition的功能.能帮我解决这个问题吗?这是我的CMAKE文件:
#-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
cmake_minimum_required(VERSION 3.4.1)
message("Checking CMAKE_SYSTEM_NAME = '${CMAKE_SYSTEM_NAME}'")
if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
add_definitions(-DOS_OSX)
elseif (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
add_definitions(-DOS_LINUX)
elseif (${CMAKE_SYSTEM_NAME} MATCHES "Windows")
add_definitions(-DOS_WIN)
elseif (${CMAKE_SYSTEM_NAME} MATCHES "Android")
add_definitions(-DOS_ANDROID)
message("Checking CMAKE_ABI_NAME = '${CMAKE_ANDROID_ARCH_ABI}'")
else()
message("OS not detected.")
endif()
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wall -Werror")
## Define each subfolders
set(JNI_DETECTION_INCLUDE jni/jni_detections)
set(JNI_DETECTION_SRC jni/jni_detections)
set(JNI_COMMON_INCLUDE jni)
set(JNI_COMMON_SRC jni/jni_common)
set(DLIB_DIR dlib)
set(EXT_DIR third_party)
set(GLOG_INCLUDE_DIR ${EXT_DIR}/miniglog)
set(OPENCV_PREBUILT ${EXT_DIR}/OpenCV-android-sdk/sdk/native/jni)
# Opencv and it will use static import
set(ANDROID_NDK_ABI_NAME ${CMAKE_ANDROID_ARCH_ABI})
include(${OPENCV_PREBUILT}/OpenCVConfig.cmake)
# Include headers
include_directories(${DLIB_DIR} …Run Code Online (Sandbox Code Playgroud) 在我的 viewModel 中,我有一个返回 liveData 的函数。这个函数在片段中被直接调用,因此它在那里被直接观察到。我不知道如何测试这个函数,因为在测试的情况下没有观察到函数发出的 liveData,因此它不会返回值。
这是我的功能,我想为以下内容编写测试:
fun saveRating(rating: Float, eventName: String): LiveData<Response<SaveRatingData?>?> {
val request = RatingRequest(rating.toDouble(), eventName, false)
return liveData(viewModelScope.coroutineContext + Dispatchers.IO) {
emit(repository.saveRatings(request))
}
}
Run Code Online (Sandbox Code Playgroud)
这就是我在片段中调用它的方式:
viewModel.saveRating(rating, npsEventData?.eventName ?: "").observe(this, Observer {
// on getting data
})
Run Code Online (Sandbox Code Playgroud)
提前致谢!
android unit-testing android-livedata android-viewmodel kotlin-coroutines