在AS跟目录编写一个shell脚本cp.sh,需要编译前将所有需要的文件复制过去,再在android源码里编译
#!/bin/bash LIBS="Application/src/main/libs" SRC="Application/src/main/java/*" RES="Application/src/main/res" JNI="Application/src/main/jni" ANDROIDMANIFEST="Application/src/main/AndroidManifest.xml" ANDROIDMK="Android.mk" DES="/path/to/AndroidSourceCode/MyApp" rm -fr $DES mkdir -p $DES/src cp -r $LIBS $DES cp -r $SRC $DES/src cp -r $RES $DES cp -r $JNI $DES cp $ANDROIDMANIFEST $DES cp $ANDROIDMK $DES
在AS工程根目录新建一个Android.mk,将各种依赖配置好,示例里用了fb的conceal演示。
LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE_TAGS := optional LOCAL_SRC_FILES := $(call all-subdir-java-files) #LOCAL_CERTIFICATE := platform LOCAL_STATIC_JAVA_LIBRARIES := \ android-support-v4 \ android-support-annotations \ conceal_android \ conceal LOCAL_PACKAGE_NAME := MyApp #LOCAL_PROGUARD_ENABLED := disabled #LOCAL_PROGUARD_FLAG_FILES := proguard.flags LOCAL_JNI_SHARED_LIBRARIES := libconceal include $(BUILD_PACKAGE) include $(CLEAR_VARS) LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := \ conceal_android:libs/conceal_android.jar \ conceal:libs/libconceal.jar include $(BUILD_MULTI_PREBUILT) include $(CLEAR_VARS) LOCAL_MODULE := libconceal LOCAL_SRC_FILES := libs/armeabi-v7a/libconceal.so LOCAL_MODULE_TAGS := optional LOCAL_MODULE_SUFFIX := .so LOCAL_MODULE_CLASS := SHARED_LIBRARIES include $(BUILD_PREBUILT) include $(call all-makefiles-under,$(LOCAL_PATH))
第二种方法是在Android.mk里指定src、res和AndroidManifest.xml等文件的路径,就不需要用脚本复制了。
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
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 := MyApp LOCAL_CERTIFICATE := platform LOCAL_MANIFEST_FILE := Application/src/main/AndroidManifest.xml LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/Application/src/main/res #LOCAL_PROGUARD_ENABLED := disabled #LOCAL_PROGUARD_FLAG_FILES := proguard.flags include $(BUILD_PACKAGE)https://blog.csdn.net/abc_1234d/article/details/72510700