安卓怎樣建一個包不要一堆文件
① 如何為Android系統添加一個新的資源包
如何為Android系統添消豎加一個新的資源包
傳統的Android系統只有一個framework-res.apk資源包,第三方廠商在進行rom定製時會直接修改framework res資源,達到美化目的。但是這種方式跟原生資源的耦合度過高,在系統遷移或者framework ui移植時需要進行人工merge,工作量巨大輪橋棗。通過為Android添加一個新的獨立的資源包,可以將廠商定製資源獨立出來,可移植、可維護性非常好。
具體做法可以分為以下幾個步驟:
1. 修改build/core/clear_var.mk
LOCAL_USE_LETV_FRAMEWORK_RES:= true
2. 修改build/core/package.mk
以下腳本可以加在 $(R_file_stamp): $(framework_res_package_export_deps) 之前,然後修改$(R_file_stamp): $(framework_res_package_export_deps) 和 $(LOCAL_INTERMEDIATE_TARGETS): \
PRIVATE_AAPT_INCLUDES := $(framework_res_package_export)
如下所示:
view sourceprint?
1 ifeq ($(LOCAL_USE_LETV_FRAMEWORK_RES),true)
2 letv_framework_res_package_export := \
3 $(call intermediates-dir-for,APPS,letv-framework-res,,COMMON)/package-export.apk
4 letv_framework_res_package_export_deps := \
5 $(dir $(letv_framework_res_package_export))src/R.stamp
6 else
7 letv_framework_res_package_export :=
8 letv_framework_res_package_export_deps :=
9 endif # LOCAL_USE_LETV_FRAMEWORK_RES
view sourceprint?
1 $(R_file_stamp): $(framework_res_package_export_deps) $(letv_framework_res_package_export_deps)
2 $(LOCAL_INTERMEDIATE_TARGETS): \
3 PRIVATE_AAPT_INCLUDES := $(framework_res_package_export) \
4 $(letv_framework_res_package_export)
5 endif # LOCAL_NO_STANDARD_LIBRARIES
3. 修改build/target/proct/core.mk
在PRODUCT_PACKAGES增加letv-framework-res
4. 添加一個新的資源包項目,這里在framework/base/core/臘拆res同級目錄下建立一個新的文件夾letv_res用來存放我們的資源。把res目錄下的AndroidManifest.xml和Android.mk拷貝過來,進行修改。
記得設置LOCAL_USE_MY_FRAMEWORK_RES為false。
view sourceprint?
01 LOCAL_PATH:= $(call my-dir)
02 include $(CLEAR_VARS)
03
04 LOCAL_MODULE_TAGS := optional
05
06 LOCAL_PACKAGE_NAME := letv-framework-res
07 LOCAL_CERTIFICATE := platform
08
09 # Set LOCAL_USE_LETV_FRAMEWORK_RES as false
10 LOCAL_USE_LETV_FRAMEWORK_RES := false
11
12 # Tell aapt to create "extending (non-application)" resource IDs,
13 # since these resources will be used by many apps.
14 LOCAL_AAPT_FLAGS := -x
15
16 # Install this alongside the libraries.
17 LOCAL_MODULE_PATH := $(TARGET_OUT_JAVA_LIBRARIES)
18
19 # Create package-export.apk, which other packages can use to get
20 # PRODUCT-agnostic resource data like IDs and type definitions.
21 LOCAL_EXPORT_PACKAGE_RESOURCES := true
22
23 # Include resources generated by system RenderScript files.
24 framework_GENERATED_SOURCE_DIR := $(call intermediates-dir-for,JAVA_LIBRARIES,framework,,COMMON)/src
25 framework_RenderScript_STAMP_FILE := $(framework_GENERATED_SOURCE_DIR)/RenderScript.stamp
26 #LOCAL_RESOURCE_DIR := $(framework_GENERATED_SOURCE_DIR)/renderscript/res $(LOCAL_PATH)/res
27
28 include $(BUILD_PACKAGE)
29
30 # Make sure the system .rs files get compiled before building the package-export.apk.
31 #$(resource_export_package): $(framework_RenderScript_STAMP_FILE)
32
33 # define a global intermediate target that other mole may depend on.
34 .PHONY: letv-framework-res-package-target
35 letv-framework-res-package-target: $(LOCAL_BUILT_MODULE)
view sourceprint?
01 <?xml version="1.0" encoding="utf-8"?>
02 <manifest xmlns:android=""
03 package="letv" coreApp="true" android:sharedUserId="android.uid.system"
04 android:sharedUserLabel="@null">
05
06 <application android:process="system"
07 android:persistent="true"
08 android:hasCode="false"
09 android:label="@null"
10 android:allowClearUserData="false"
11 android:killAfterRestore="false"
12 android:icon="@null">
13
14 </application>
15
16 </manifest>
資源的放置跟res下的類似,記得values目錄下創建public.xml,public.xml對id的類型區分比較嚴格,attr必須是0x0x010000開頭,drawable必須是0x0x020000開頭,其他類型好像就沒有限制,直接依次0x0x030000、0x0x040000開始即可。否則,編譯過程中會出現segmentation fault錯誤。
view sourceprint?
1 <resources>
2 <public type="attr" name="cForeground" id="0x03010000" />
3 <public type="drawable" name="ic_filemanager" id="0x03020000" />
4 <public type="style" name="LetvTheme" id="0x03030000" />
5 <public type="string" name="letv" id="0x03040000" />
6 <public type="dimen" name="letv_width" id="0x03050000" />
7 <public type="layout" name="letv_text" id="0x03060000" />
8 </resources>
5. 以上只是解決了資源的編譯環境問題,資源的查找過程也需要進行修改,修改 AssetManager.java,在init()後添加代碼 addAssetPath("/system/framework/letv-framework-res.apk");
view sourceprint?
01 public AssetManager() {
02 synchronized (this) {
03 if (DEBUG_REFS) {
04 mNumRefs = 0;
05 incRefsLocked(this.hashCode());
06 }
07 init();
08 addAssetPath("/system/framework/letv-framework-res.apk");
09 if (localLOGV) Log.v(TAG, "New asset manager: " + this);
10 ensureSystemAssets();
11 }
12 }
6. 最後就是資源應用問題。應用程序在xml文件中引用letv-framework-res.apk中的資源時可以使用與原生資源類似的訪問方式,首先聲明letv xmlns :
view sourceprint?
1 xmlns:letv=""
然後像@android:drawable @android:dimen這種引用方式改成@letv:drawable @letv:dimen即可。
view sourceprint?
01 <?xml version="1.0" encoding="utf-8"?>
02 <LinearLayout
03 xmlns:android=""
04 xmlns:letv=""
05 android:layout_width="fill_parent"
06 android:layout_height="wrap_content"
07 android:gravity="center"
08 android:paddingTop="@letv:dimen/letv_width"
09 android:orientation="horizontal" >
10
11 <ImageView android:id="@+id/file_icon"
12 android:layout_width="wrap_content"
13 android:layout_height="wrap_content"
14 android:layout_gravity="center"
15 android:layout_marginBottom="40dp"
16 android:src="@letv:drawable/ic_filemanager" />
17
18 </LinearLayout>
轉載,僅供參考。
② 手機怎麼建文件夾
以華為手機為例:操作方法如下:
設備:華為P30
系統:安卓9
APP:文件管理
1、首先在手機上面找到文件管理,點擊進入,如下圖所示。
③ 怎樣把多個文件弄成一個壓縮包啊
1、首先新建一個文件夾,滑鼠右鍵,點擊新建,選擇文件夾;
④ 安卓手機 怎麼或者用什麼軟體可以把一次多個文件分別壓縮 因為文件太多而選擇再壓縮又只能壓成一個包
好像沒有這種軟體…
只能一次把選中的文件壓蘆鍵罩縮成一個壓縮文件。
或者一個一亮數個單獨陪鬧壓縮。
⑤ 手機游戲下下來是個壓縮包 解壓後是一堆文件 該怎麼安裝啊 求解!
安裝如下:
把數據包解壓到Android/obb下。一般數據包下載後不用打開,如果是壓縮的文件,就直接解壓出文件夾,但是各個游戲的安裝目錄有時是不同的,你可以試試把數據包手動分別放在android/data目錄下或android/obb目錄下試試,一般就是這個兩個地方。
壓縮包簡介:
壓縮包的基本原理是查找文件內的重復位元組,並建立一個相同位元組的「詞典」文件,並用一個代碼表示,比如在文件里有幾處有一個相同的詞「中華人民共和國」,用一個代碼表示並寫入「詞典」文件,這樣就可以達到縮小文件的目的。
以上內容參考網路-壓縮包
⑥ 怎樣把多個文件弄成一個壓縮包啊
用戶需要在電腦中安裝一款壓縮軟體,安裝後的操作步驟如下:
1、將要壓縮的文件放置於同一個文件夾下;
2、選定要壓縮的文件;
⑦ 急急急,安卓手機如何創建app軟體,求教一下
如果手機需要下載安裝軟體應用,建議嘗試:
1.使用手機功能表中自帶的瀏覽器上網,直接搜索需要的軟體進行下載安裝(下載安卓版中差數本格式為apk)。
2.使用電腦下載APK格式的安裝包,連接數據線傳輸至手慶余機,操作手機在應用程序賣首-我的文件中找到安裝包,運行後點擊安裝按鈕。
3.下載完成後點擊下載的應用,根據軟體手機界面中軟體安裝提示點擊安裝即可。
⑧ 安卓手機怎麼建桌面文件夾啊
1、首先我們需要在桌面空白處點擊滑鼠右鍵,出現右鍵殲慶菜單。
⑨ 安卓ROM製作需要什麼樣的步驟如何製作一個安卓刷機包求安卓刷機包製作教程
通常製作一個安卓刷機包需要經過:ROM解包,ROM精簡,ROM修改,ROM授權,ROM打包等一系列製作步驟
具體教程如下:
【ROM解包】點擊ROM製作工具中間的「選擇線上ROM...或選擇本地ROM...」,選擇ROM後工具開始自動解包。
以上就是製作ROM的全部過程!