IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    直接添加 Android Studio 工程到 Framework 下之 Makefile 指定 Manifest 目录及资源目录

    Trinea发表于 2017-05-17 13:53:32
    love 0

    Android 系统源码下的 App 工程目录结构还是跟 Eclipse 时代一样,项目根目录下直接包含 src、res、AndroidManifest.xml 等。

    1. 直接添加 Eclipse 工程

    添加一个 Eclipse 工程只需新建 Android.mk,内容为:

    [crayon-591c59dc06651813439564/]

    即可,而对于 Android Studio 工程如若也是如此,便会报:

    (1) AndroidManifest 文件找不到

    [crayon-591c59dc06664071642503/]

    (2) 资源 R 文件错误

    [crayon-591c59dc0666a924164241/]

     

    2. 直接添加 Android Studio 工程

    在项目根目录下新建 Android.mk 文件,对于一般 Android Studio 工程内容如下:

    [crayon-591c59dc06670636562672/]

    与 Framework 中 packages/apps 下其他 app Makefile 文件不同点主要在于
    (1) 指定了LOCAL_MANIFEST_FILE属性,表示 Manifest 的路径 (2) 指定了LOCAL_RESOURCE_DIR属性,表示 Res 的路径
    如此即可将一个 Android Studio 工程代码完整放入到 packages/apps 进行编译。

     

    注意上面 Manifest 路径可以用项目路径相对地址,而 Res 路径 LOCAL_RESOURCE_DIR 需要加上基地址 $(LOCAL_PATH)。

     

    3. Android.mk 其他属性

    LOCAL_STATIC_JAVA_LIBRARIES 表示依赖的库别名 LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES 表示依赖的库具体路径

     

    PRODUCT_COPY_FILES 表示复制某个文件到目的地,如: PRODUCT_COPY_FILES += $(LOCAL_PATH)/libs/armeabi/libapkpatch.so:system/lib/libapkpatch.so 表示复制应用内 so 到系统 so 目录下。

    更多可见 https://developer.android.com/ndk/guides/android_mk.html



沪ICP备19023445号-2号
友情链接