android studio 工程在android 源码编译
16lz
2021-01-25
1. 指定路径
最简单的办法就是将android studio生成的工程方到源码中,然后添加Android.mk,指定代码和资源路径以及依赖库即可。
LOCAL_SRC_FILES := $(call all-java-files-under, Application/src/main/java) LOCAL_MANIFEST_FILE := Application/src/main/AndroidManifest.xml LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/Application/src/main/res
上面这个方法的好处是可以同时兼顾源码编译和android studio编译(推荐)。
Android.mk 示例
LOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE_TAGS := optional#LOCAL_SRC_FILES := $(call all-subdir-java-files)LOCAL_SRC_FILES := $(call all-java-files-under, Application/src/main/java)LOCAL_PACKAGE_NAME := MyAppLOCAL_CERTIFICATE := platformLOCAL_MANIFEST_FILE := app/src/main/AndroidManifest.xmlLOCAL_RESOURCE_DIR := $(LOCAL_PATH)/Application/src/main/res#LOCAL_PROGUARD_ENABLED := disabled#LOCAL_PROGUARD_FLAG_FILES := proguard.flagsinclude $(BUILD_PACKAGE)
2. 拷贝源码
在AS跟目录编写一个shell脚本cp.sh,需要编译前将所有需要的文件复制过去,再在android源码里编译
#!/bin/bashLIBS="app/src/main/libs"SRC="app/src/main/java/*"RES="app/src/main/res"JNI="app/src/main/jni"ANDROIDMANIFEST="app/src/main/AndroidManifest.xml"ANDROIDMK="Android.mk"DES="/path/to/AndroidSourceCode/packages/apps/MyApp"rm -fr $DESmkdir -p $DES/srccp -r $LIBS $DEScp -r $SRC $DES/srccp -r $RES $DEScp -r $JNI $DEScp $ANDROIDMANIFEST $DES cp $ANDROIDMK $DES
在AS工程根目录新建一个Android.mk,将各种依赖配置好,示例里用了fb的conceal演示。
LOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE_TAGS := optionalLOCAL_SRC_FILES := $(call all-subdir-java-files)#LOCAL_CERTIFICATE := platformLOCAL_STATIC_JAVA_LIBRARIES := \ android-support-v4 \ android-support-annotations \ conceal_android \ concealLOCAL_PACKAGE_NAME := MyApp#LOCAL_PROGUARD_ENABLED := disabled#LOCAL_PROGUARD_FLAG_FILES := proguard.flagsLOCAL_JNI_SHARED_LIBRARIES := libconcealinclude $(BUILD_PACKAGE)include $(CLEAR_VARS)LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := \ conceal_android:libs/conceal_android.jar \ conceal:libs/libconceal.jarinclude $(BUILD_MULTI_PREBUILT)include $(CLEAR_VARS)LOCAL_MODULE := libconcealLOCAL_SRC_FILES := libs/armeabi-v7a/libconceal.soLOCAL_MODULE_TAGS := optionalLOCAL_MODULE_SUFFIX := .soLOCAL_MODULE_CLASS := SHARED_LIBRARIESinclude $(BUILD_PREBUILT)include $(call all-makefiles-under,$(LOCAL_PATH))
更多相关文章
- Android9.0版本Vold服务源码分析之上层处理SD卡挂载
- Android(安卓)Retrofit和Rxandroid的使用
- android JNI 多线程 C函数回调
- android adb shell am一些命令的用法
- Android(安卓)IPC 通讯机制源码分析
- android ubuntu9.10 源码的编译 Eclipse工程 Contacts编译 应用
- Handler Looper Message源码研究
- Windows系统下Android(安卓)DNK r5环境配置和开发(三)
- android输入法01:SoftKeyboard源码解析03