首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android.mk,输墨,但在输出中不包括共享Libs

Android.mk,输墨,但在输出中不包括共享Libs
EN

Stack Overflow用户
提问于 2014-11-05 18:27:26
回答 1查看 1K关注 0票数 0

这里有点问题。我正试图通过开放源码应用程序IMSdroid进行移植,以便与更新的、更一致的构建系统一起工作。我已经得到了蚂蚁正确的工作,但也需要Android.mk的工作,以使生活更轻松。(使用Gradle和Android.mk实现所有重新构建的自动化,从而更容易地添加新功能和编解码器。)

JAR文件正常工作。

.so文件没有包含在最终的APK中。这不是我第一次和Android.mk在一起了,这一次只是让我困惑。

代码语言:javascript
复制
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)

LOCAL_MODULE_TAGS := optional

LOCAL_CERTIFICATE := debug
LOCAL_PACKAGE_NAME := IMSdroid

LOCAL_JAVA_LIBRARIES := telephony-common telephony-msim 
LOCAL_STATIC_JAVA_LIBRARIES := android-support-v4 android-support-v13 libandroid-ngn-stack libsimple-xml-2.3.4

LOCAL_SHARED_LIBRARIES := libplugin_audio_opensles libtinyWRAP libutils

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

LOCAL_PROGUARD_ENABLED := disabled

include $(BUILD_PACKAGE)

##################################################
include $(CLEAR_VARS)

LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := libandroid-ngn-stack:libs/android-ngn-stack.jar libsimple-xml-2.3.4:libs/simple-xml-2.3.4.jar

include $(BUILD_MULTI_PREBUILT)

##################################################
include $(call all-makefiles-under,$(LOCAL_PATH))

LOCAL_LDFLAGS := -L$(LOCAL_PATH)/jni/

include $(BUILD_SHARED_LIBRARY)

然后在/jni文件夹中

代码语言:javascript
复制
include $(CLEAR_VARS)

LOCAL_MODULE := libplugin_audio_opensles
LOCAL_SRC_FILES := libplugin_audio_opensles.so 

include $(PREBUILT_SHARED_LIBRARY)

include $(CLEAR_VARS)

LOCAL_MODULE := libtinyWRAP
LOCAL_SRC_FILES := libtinyWRAP.so 

include $(PREBUILT_SHARED_LIBRARY)
include $(CLEAR_VARS)

LOCAL_MODULE := libutils
LOCAL_SRC_FILES := libutils_armv5te.so

include $(PREBUILT_SHARED_LIBRARY)

include $(CLEAR_VARS)

LOCAL_MODULE := libtinyWRAP_neon
LOCAL_SRC_FILES := libtinyWRAP_neon.so 

include $(PREBUILT_SHARED_LIBRARY)

我需要它基本上有一个包含所有库文件的/libs显示构建的APK。在这一点上,它没有。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-11-07 02:34:01

以下是几点意见:

  • 在您的第一个Android.mk文件中,我认为您最终不需要include $(BUILD_SHARED_LIBRARY)
  • 尝试将LOCAL_SRC_FILES引用的路径放在前面,用于exmaple: LOCAL_PATH:= $(打电话给我-dir) 包括$(CLEAR_VARS) LOCAL_MODULE := libplugin_audio_opensles LOCAL_SRC_FILES := $(LOCAL_PATH)/libplugin_audio_opensles.so 包括$(PREBUILT_SHARED_LIBRARY)

  • 另外,请查看r2.0.1/Android.mk --您可以尝试使用LOCAL_JNI_SHARED_LIBRARIES
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26764422

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档