android studioエンジニアリングandroidソースコードコンパイル
2541 ワード
1.パスの指定
最も簡単な方法はandroid studioで生成されたエンジニアリング側をソースコードに追加し、Androidを追加することです.mk、コードとリソースパス、依存ライブラリを指定すればいいです.
上記の方法の利点は,ソースコードコンパイルとandroid studioコンパイル(推奨)を同時に両立できることである.
Android.mk例
2.コピー元
ASとディレクトリでshellスクリプトcp.shを作成し、コンパイルする前に必要なすべてのファイルをコピーし、androidソースコードでコンパイルします.
ASエンジニアリングルートディレクトリにAndroidを新規作成します.mkは,種々の依存を構成し,例ではfbのconcealを用いて実証した.
最も簡単な方法は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 := MyApp
LOCAL_CERTIFICATE := platform
LOCAL_MANIFEST_FILE := app/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)
2.コピー元
ASとディレクトリでshellスクリプトcp.shを作成し、コンパイルする前に必要なすべてのファイルをコピーし、androidソースコードでコンパイルします.
#!/bin/bash
LIBS="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 $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))