成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

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

企業動態
Android 系統源碼下的 App 工程目錄結構還是跟 Eclipse 時代一樣,項目根目錄下直接包含 src、res、AndroidManifest.xml 等。

Android 系統源碼下的 App 工程目錄結構還是跟 Eclipse 時代一樣,項目根目錄下直接包含 src、res、AndroidManifest.xml 等。

[[191920]]

1. 直接添加 Eclipse 工程

添加一個 Eclipse 工程只需新建 Android.mk,內容為:

  1. LOCAL_PATH := $(call my-dir) 
  2.   
  3. include $(CLEAR_VARS) 
  4.   
  5. LOCAL_MODULE_TAGS := optional 
  6. LOCAL_SRC_FILES := $(call all-subdir-java-files) 
  7. LOCAL_PACKAGE_NAME := DeveloperTools 
  8. LOCAL_CERTIFICATE := platform 
  9.   
  10. LOCAL_PROGUARD_FLAG_FILES := proguard.cfg 
  11. LOCAL_PROGUARD_ENABLED := full 
  12.   
  13. include $(BUILD_PACKAGE) 

即可,而對于 Android Studio 工程如若也是如此,便會報:

(1) AndroidManifest 文件找不到

  1. make:進入目錄'...' 
  2. make: *** 沒有規則可以創建“.../target/product/generic/obj/APPS/DeveloperTools_intermediates/package.apk”需要的目標“packages/apps/DeveloperTools/AndroidManifest.xml”。 停止。 
  3. make:離開目錄“...” 
  4.   
  5. #### make failed to build some targets (1 seconds) #### 

(2) 資源 R 文件錯誤

  1. make:進入目錄'...' 
  2. target Java: DeveloperTools (.../target/common/obj/APPS/DeveloperTools_intermediates/classes) 
  3. packages/apps/DeveloperTools/app/build/generated/source/r/debug/.../systemservice/R.java:10: 錯誤: 類重復: ....R 
  4. public final class R { 
  5.              ^ 
  6. 注: packages/apps/DeveloperTools/app/src/main/java/... 使用或覆蓋了已過時的 API。 
  7. 注: 有關詳細信息, 請使用 -Xlint:deprecation 重新編譯。 
  8. 1 個錯誤 
  9. make: *** [.../target/common/obj/APPS/DeveloperTools_intermediates/classes-full-debug.jar] 錯誤 41 
  10. make:離開目錄“...” 
  11.   
  12. #### make failed to build some targets (1 seconds) #### 

2. 直接添加 Android Studio 工程

在項目根目錄下新建 Android.mk 文件,對于一般 Android Studio 工程內容如下:

  1. LOCAL_PATH := $(call my-dir) 
  2.   
  3. include $(CLEAR_VARS) 
  4.   
  5. LOCAL_MODULE_TAGS := optional 
  6. LOCAL_SRC_FILES := $(call all-subdir-java-files) 
  7. LOCAL_PACKAGE_NAME := DeveloperTools 
  8. LOCAL_CERTIFICATE := platform 
  9. LOCAL_MANIFEST_FILE := app/src/main/AndroidManifest.xml 
  10. LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/app/src/main/res 
  11.   
  12. LOCAL_PROGUARD_FLAG_FILES := proguard.cfg 
  13. LOCAL_PROGUARD_ENABLED := full 
  14.   
  15. include $(BUILD_PACKAGE) 

與 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 目錄下。

責任編輯:武曉燕 來源: 51CTO專欄
相關推薦

2013-01-16 14:19:03

Android工程目錄結構Android開發

2013-01-17 15:26:21

Android工程目錄結構Android開發

2013-07-23 05:56:12

Android程序drawable資源保Androidj開發學

2009-09-28 10:28:04

Linux刪除目錄子目錄

2012-12-28 14:28:26

Android開發

2011-03-04 09:32:30

Vsftpd目錄

2016-09-22 12:25:42

2011-03-29 15:30:20

Zabbix目錄

2011-07-12 13:26:41

Active Dire

2011-05-17 10:04:18

Python

2011-05-31 13:12:15

Android 目錄結構

2021-02-19 08:05:38

Linux命令系統

2010-03-12 18:42:58

Python目錄

2020-08-12 06:59:44

Linux切換目錄命令

2018-01-19 10:59:09

Linux安裝卸載

2010-03-24 08:55:02

Python編程語言

2009-07-17 13:55:02

WinCE文件目錄

2014-03-19 19:46:43

Linuxmkdir 命令

2010-01-14 14:32:07

CentOS ligh

2013-04-03 12:57:01

Android開發讀寫assets目錄下
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲国产片 | 一级在线观看 | 成年网站在线观看 | 福利网址 | 成人精品鲁一区一区二区 | 亚洲一区视频在线 | 中文久久 | 国产精品视频一二三区 | 亚洲欧美日韩高清 | 亚洲 自拍 另类 欧美 丝袜 | av网站观看| av中文字幕网 | 91精品国产综合久久国产大片 | 免费a大片 | 日韩免费av | 韩日av片| 国产高清一二三区 | 久久久久国产精品一区二区 | 免费在线观看成年人视频 | 一区精品视频在线观看 | 久草资源在线视频 | www.久久 | 综合九九 | 亚洲精品久久区二区三区蜜桃臀 | 在线观看视频一区二区三区 | 日韩三级电影一区二区 | 国产精品久久久久久久久久久免费看 | 亚洲视频www | 操人网站 | 国产精品久久久久久久久久免费 | 欧州一区二区三区 | 亚洲精品一区二区久 | 电影午夜精品一区二区三区 | 中文字幕精品一区久久久久 | 久草视频在线播放 | 日本高清aⅴ毛片免费 | 国产成人精品高清久久 | 男女免费网站 | 午夜精品一区 | 亚洲第一中文字幕 | 婷婷色国产偷v国产偷v小说 |