以下仅是使用Android.mk编译APK程序的一些范例。

如果你想了解Android.mk的更多内容请参考《Android.mk简介

一、编译一个简单的APK

 LOCAL_PATH := $(call my-dir)  include $(CLEAR_VARS)  # Build all java files in the java subdirectory  LOCAL_SRC_FILES := $(call all-subdir-java-files)  # Name of the APK to build  LOCAL_PACKAGE_NAME := LocalPackage  # Tell it to build an APK  include $(BUILD_PACKAGE)

二、编译一个依赖静态.jar文件的APK

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

# List of static libraries to include in the package

LOCAL_STATIC_JAVA_LIBRARIES:=static-library

# Build all java files in the java subdirectory

LOCAL_SRC_FILES := $(call all-subdir-java-files)

# Name of the APK to build

LOCAL_PACKAGE_NAME := LocalPackage

# Tell it to build an APK

include $(BUILD_PACKAGE)

注:LOCAL_STATIC_JAVA_LIBRARIES后面应是你的APK程序所需要的JAVA库的JAR文件名。

三、编译一个需要platform key签名的APK

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

# Build all java files in the java subdirectory

LOCAL_SRC_FILES := $(call all-subdir-java-files)

# Name of the APK to build

LOCAL_PACKAGE_NAME := LocalPackage

LOCAL_CERTIFICATE := platform

# Tell it to build an APK

include $(BUILD_PACKAGE)

注:LOCAL_CERTIFICATE后面应该是签名文件的文件名

四、编译一个需要特殊vendor key签名的APK

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

# Build all java files in the java subdirectory

LOCAL_SRC_FILES := $(call all-subdir-java-files)

# Name of the APK to build

LOCAL_PACKAGE_NAME := LocalPackage

LOCAL_CERTIFICATE := vendor/example/certs/app

# Tell it to build an APK

include $(BUILD_PACKAGE)

五、装载一个普通的第三方APK

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

# Module name should match apk name to be installed.

LOCAL_MODULE := LocalModuleName

LOCAL_SRC_FILES :=$(LOCAL_MODULE).apk

LOCAL_MODULE_CLASS := APPS

LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)

LOCAL_CERTIFICATE := platform

include $(BUILD_PREBUILT)

六、装载需要.so(动态库)的第三方apk

LOCAL_PATH := $(my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE := baiduinput_android_v1.1_1000e

LOCAL_SRC_FILES :=$(LOCAL_MODULE).apk

LOCAL_MODULE_CLASS := APPS

LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)

LOCAL_CERTIFICATE := platform

include $(BUILD_PREBUILT)

#################################################################

####### copy the library to /system/lib #########################

#################################################################

include $(CLEAR_VARS)

LOCAL_MODULE :=libinputcore.so

LOCAL_MODULE_CLASS := SHARED_LIBRARIES

LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)

LOCAL_SRC_FILES := lib/$(LOCAL_MODULE)

OVERRIDE_BUILD_MODULE_PATH := $(TARGET_OUT_INTERMEDIATE_LIBRARIES)

include $(BUILD_PREBUILT)

七、编译一个静态java库

LOCAL_PATH := $(call my-dir)  include $(CLEAR_VARS)  # Build all java files in the java subdirectory  LOCAL_SRC_FILES := $(call all-subdir-java-files)  # Any libraries that this library depends on  LOCAL_JAVA_LIBRARIES := android.test.runner  # The name of the jar file to create  LOCAL_MODULE := sample  # Build a static jar file.  include $(BUILD_STATIC_JAVA_LIBRARY)

注:LOCAL_JAVA_LIBRARIES表示生成的java库的jar文件名。

更多相关文章

  1. Nginx系列教程(四)| 一文带你读懂Nginx的动静分离
  2. 一款常用的 Squid 日志分析工具
  3. GitHub 标星 8K+!一款开源替代 ls 的工具你值得拥有!
  4. RHEL 6 下 DHCP+TFTP+FTP+PXE+Kickstart 实现无人值守安装
  5. Linux 环境下实战 Rsync 备份工具及配置 rsync+inotify 实时同步
  6. Android(安卓)简单GreenDao增删改查
  7. 我的Android工作笔记
  8. 解决Android4.4 Widget之AppWidgetHost.allocateAppWidgetId()返
  9. Android学习笔记(十五)-简易视频播放器

随机推荐

  1. android webview memory leak 线索
  2. Android:应用中使用主题(Themes)
  3. android动态使用FrameLayout(简单使用)
  4. 进度对话框 ProgressDialog__2019.09.05
  5. Android4.4.X调用Alarmmanager接口
  6. 简单翻译android WebView 官网
  7. sensor传感器
  8. Ubuntu+Cmake-gui+OpenCV+Opencv_contrib
  9. 简单创建Android(安卓)MVVM模式代码
  10. [Git使用] git Command line instruction