android 预制32 64 位so, bin
来源:互联网 发布:2017流行的网络用语 编辑:程序博客网 时间:2024/06/05 06:24
对于有源码编译32 , 64 bit
LOCAL_PATH := $(call my-dir)
sources := \
tvini.c \
mmap.c \
spi.c
cincludes := \
$(TARGET_OUT_HEADERS) \
$(TARGET_UTOPIA_LIBS_DIR)/include \
external/iniparser
# libmutils.so
#==============================================================================
include $(CLEAR_VARS)
LOCAL_MODULE := libmutils
LOCAL_MODULE_TAGS := optional
LOCAL_SRC_FILES := $(sources)
LOCAL_C_INCLUDES := $(cincludes)
LOCAL_CFLAGS := -DMSOS_TYPE_LINUX-DENABLE_LOGGER
LOCAL_SHARED_LIBRARIES := liblog libutopialibiniparser libcutils
include $(BUILD_SHARED_LIBRARY)
对于有源码,只编译32 lib的so
LOCAL_PATH := $(call my-dir)
sources := \
tvini.c \
mmap.c \
spi.c
cincludes := \
$(TARGET_OUT_HEADERS) \
$(TARGET_UTOPIA_LIBS_DIR)/include \
external/iniparser
# libmutils.so
#==============================================================================
include $(CLEAR_VARS)
LOCAL_MODULE := libmutils
LOCAL_MODULE_TAGS := optional
LOCAL_SRC_FILES := $(sources)
LOCAL_C_INCLUDES := $(cincludes)
LOCAL_CFLAGS := -DMSOS_TYPE_LINUX-DENABLE_LOGGER
LOCAL_SHARED_LIBRARIES := liblog libutopialibiniparser libcutils
LOCAL_32_BIT_ONLY := true
include $(BUILD_SHARED_LIBRARY)
或者采用下面的这种方法
LOCAL_PATH := $(call my-dir)
sources := \
tvini.c \
mmap.c \
spi.c
cincludes := \
$(TARGET_OUT_HEADERS) \
$(TARGET_UTOPIA_LIBS_DIR)/include \
external/iniparser
# libmutils.so
# ==============================================================================
include $(CLEAR_VARS)
LOCAL_MODULE := libmutils
LOCAL_MODULE_TAGS := optional
LOCAL_SRC_FILES := $(sources)
LOCAL_C_INCLUDES := $(cincludes)
LOCAL_CFLAGS := -DMSOS_TYPE_LINUX -DENABLE_LOGGER
LOCAL_SHARED_LIBRARIES := liblog libutopialibiniparser libcutils
LOCAL_MODULE_TARGET_ARCH:= arm
LOCAL_MULTILIB := 32
include $(BUILD_SHARED_LIBRARY)
对于有源码,但是只需要编译64 bit的so
LOCAL_PATH := $(call my-dir)
sources := \
tvini.c \
mmap.c \
spi.c
cincludes := \
$(TARGET_OUT_HEADERS) \
$(TARGET_UTOPIA_LIBS_DIR)/include \
external/iniparser
# libmutils.so
#==============================================================================
include $(CLEAR_VARS)
LOCAL_MODULE := libmutils
LOCAL_MODULE_TAGS := optional
LOCAL_SRC_FILES := $(sources)
LOCAL_C_INCLUDES := $(cincludes)
LOCAL_CFLAGS := -DMSOS_TYPE_LINUX-DENABLE_LOGGER
LOCAL_SHARED_LIBRARIES := liblog libutopialibiniparser libcutils
LOCAL_MODULE_TARGET_ARCH:= arm64
LOCAL_MULTILIB := 64
include $(BUILD_SHARED_LIBRARY)
下面在说一下没有源码,预制so的方式
对于有32 跟64 bit so的东西,都想预制进入可以采用:
## libutopia.so
##==============================================================================
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_SUFFIX := .so
LOCAL_MODULE := libutopia
LOCAL_MODULE_CLASS := SHARED_LIBRARIES
LOCAL_SRC_FILES_arm :=lib/libutopia.so
LOCAL_SRC_FILES_arm64 :=lib64/libutopia.so
LOCAL_MODULE_TARGET_ARCHS:= arm arm64
LOCAL_MULTILIB := both
include $(BUILD_PREBUILT)
如果只预制32 bit的so
## libutopia.so
##==============================================================================
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_SUFFIX := .so
LOCAL_MODULE := libutopia
LOCAL_MODULE_CLASS := SHARED_LIBRARIES
LOCAL_SRC_FILES_arm :=lib/libutopia.so
LOCAL_MODULE_TARGET_ARCHS:= arm
LOCAL_MULTILIB := 32
include $(BUILD_PREBUILT)
如果只想预制64 bit的so
## libutopia.so
##==============================================================================
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_SUFFIX := .so
LOCAL_MODULE := libutopia
LOCAL_MODULE_CLASS := SHARED_LIBRARIES
LOCAL_SRC_FILES_arm64 :=lib64/libutopia.so
LOCAL_MODULE_TARGET_ARCHS:= arm64
LOCAL_MULTILIB := 64
include $(BUILD_PREBUILT)
预置 apk,请参考下面的写法预置 apk
1,预置system app下的apk
define PREBUILT_system_apps_template
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE := $(1)
LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
LOCAL_MODULE_CLASS := APPS
LOCAL_CERTIFICATE := platform
LOCAL_SRC_FILES := $$(LOCAL_MODULE)$(COMMON_ANDROID_PACKAGE_SUFFIX)
include $(BUILD_PREBUILT)
endef
,2,预置system下的apk, force apk 跑 32 bit, libbluetooth_jni部分是一个32 bit的lib
define PREBUILT_system_apps_template_32only
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE := $(1)
LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
LOCAL_MODULE_CLASS := APPS
LOCAL_CERTIFICATE := platform
LOCAL_SRC_FILES := $$(LOCAL_MODULE)$(COMMON_ANDROID_PACKAGE_SUFFIX)
LOCAL_MULTILIB := 32
LOCAL_JNI_SHARED_LIBRARIES := libbluetooth_jni
include $(BUILD_PREBUILT)
endef
,3,预置system app, 不用系统签名, 用预签名
definePREBUILT_system_apps_template_32only_presigned
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE := $(1)
LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
LOCAL_MODULE_CLASS := APPS
LOCAL_CERTIFICATE := PRESIGNED
LOCAL_SRC_FILES := $$(LOCAL_MODULE)$(COMMON_ANDROID_PACKAGE_SUFFIX)
LOCAL_MULTILIB := 32
LOCAL_JNI_SHARED_LIBRARIES := libbluetooth_jni
include $(BUILD_PREBUILT)
endef
,4,预置system vendor apk
define PREBUILT_vendor_apps_template
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE := $(1)
LOCAL_MODULE_CLASS := APPS
LOCAL_MODULE_PATH:= $(TARGET_OUT)/vendor/app
LOCAL_CERTIFICATE := platform
LOCAL_SRC_FILES := $(1).apk
include $(BUILD_PREBUILT)
endef
,5,预置system vendor apk, 并force 32 bit
define PREBUILT_vendor_apps_template_32only
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE := $(1)
LOCAL_MODULE_CLASS := APPS
LOCAL_MODULE_PATH := $(TARGET_OUT)/vendor/app
LOCAL_CERTIFICATE := platform
LOCAL_SRC_FILES := $(1).apk
LOCAL_MULTILIB := 32
LOCAL_JNI_SHARED_LIBRARIES := libbluetooth_jni
include $(BUILD_PREBUILT)
endef
,6,预置data app下的apk,使用系统签名
define PREBUILT_data_apps_template
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE := $(1)
LOCAL_MODULE_CLASS := APPS
LOCAL_MODULE_PATH := $(TARGET_OUT_DATA_APPS)
LOCAL_CERTIFICATE := platform
LOCAL_SRC_FILES := $(1).apk
include $(BUILD_PREBUILT)
endef
,7,预置data app下的apk,使用预签名
definePREBUILT_data_apps_presigned_template
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE := $(1)
LOCAL_MODULE_CLASS := APPS
LOCAL_MODULE_PATH := $(TARGET_OUT_DATA_APPS)
LOCAL_CERTIFICATE := PRESIGNED
LOCAL_SRC_FILES := $(1).apk
include $(BUILD_PREBUILT)
endef
- android 预制32 64 位so, bin
- android 预制32 64 位so, bin
- android 预制32 64 位so, bin
- Android系统预制APK、so和bin的方法
- android 64位系统,调用32位so文件
- .so兼容32位和64位
- 编译android 64位 .so库
- Android so文件是32位时,如何在64位手机上运行。
- android 64位机子兼容32位so包的操作
- android 5.0预制APK
- Android 5.0预制APK
- 64位ubuntu下装32位libstdc++.so.6
- .so文件-64位/32位使用问题
- android studio正确加载so文件及出现的问题(32位,64位文件的正确使用)
- Android没有64位.so导致的崩溃
- Linux下编译Android zbar,包含64位so文件
- android 5.0预制APK方法
- 如何在 android 预制apk
- genymotion安装(unknown generic error)及配置在Android studio环境中
- Spring Boot 教程(一)---入门篇
- 记录我在csdn的第一篇文章
- 用Jsoup获取网页中阅读数、浏览数等后台数据
- Android Studio下使用JNI编程备忘录
- android 预制32 64 位so, bin
- linux进程
- 下拉刷新Phoenix分析
- 【Linux】AWK 简明教程
- RabbitMQ使用场景
- Java开发环境搭建(Windows7)
- CodeForces - 659G Fence Divercity (DP)好题
- Android 中一些小经验总结
- Sublime Text 输入中文显示方框问号乱码