android編譯期修改資源文件
㈠ android怎麼樣編譯framework
在開發過程中,尤其是Framework相關開發時,有時候需要重新編譯資源文件.編譯順序和注意事項如下:
1,資源文件位置:frameworks/base/core/res
2,編譯後生成的文件:framework-res.apk 另外com.android.internal.R會更新這個R.java所在目錄為/out/target/common/R/com/android/internal.
3,編譯資源後,必須重新編譯framework.jar.
4,如果在frameworks/base/core/res執行mm是並不重新編譯,請使用toutch ### 命令
###代表目錄下的一個文件.
5,資源文件要小寫.
6,如果沒有必要,不要編譯資源文件,可以用其他方式使用資源,比如將資源使用adb push 傳到某個目
錄,程序中直接指定具體目錄.我在編譯資源過程中遇到一些奇怪的問題,比如有時候許多圖標會顯
示錯誤,原因猜測跟重新編譯資源有關,可以試著重新編譯services.jar並替換看看.
舉一個例子:假如我想在WindowManagerService.java中使用一個圖片資源pic.png.順序如下.
1,將文件pic.png拷貝到位置:frameworks/base/core/res/res/drawable下.
2,在frameworks/base/core/res/res/drawable目錄下執行touch pic.png.
3,進入目錄frameworks/base/core/res/ 執行mm命令, 編譯 framework-res.apk
4,執行完後com.android.internal.R 會新生成一個R.drawable.pic的引用.在程序中使用即可.
5,在目錄frameworks/base/ 下執行mm 編譯 framework.jar.
6,在WindowManagerService.java中使用com.android.internal.R.drawable.pic,使用完後保存文件.
7,進入目錄frameworks/base/services/java/ 執行mm 編譯 services.jar
8,替換機器上(虛擬機或者真機)的jar apk文件.
adb push framework-res.apk /system/framework/
adb push services.jar /system/framework/
adb push framework.jar /system/framework/
執行命令時注意framework-res.apk 的真實路徑.
9,reboot 機器,查看修改結果.大功告成!
㈡ android怎麼在源碼導入jar包
在Android源碼編譯成功的基礎上重新編譯帶自己API的android.jar需要進行以下幾步操作:
1、添加自己源代碼,在Android源碼frameworks/base目錄下新建一個文件夾保存代碼,如tv,以包的形式命名添加的文件所在的路徑,如/tv/java/android/tv,添加的java文件開頭定義的包即是編譯成功的class文件所在的包。
2、修改makefile文件
2.1 修改build/core/pathmap.mk文件
在FRAMEWORKS_ BASE_ SUBDIRS變數後添加tv\,代碼如下(makefile文件中的語句以Tab鍵空格開頭)
FRAMEWORKS_BASE_SUBDIRS := \ $(addsuffix /java, \ core \ graphics \ location \ media \ opengl \ sax \ telephony \ wifi \ vpn \ keystore \ tv \ )
2.2 修改frameworks/base/Android.mk 文件
在packages_to_ document變數後添加自己源代碼的包名稱,如android/tv,結果如下(makefile文件中的語句以Tab鍵空格開頭)
packages_to_document := \
android \
javax/microedition/khronos android/tv 3 在ubuntu命令行終端使用如下命令進行編譯:
make clean
make update-api
make PRODUCT-sdk-sdk
最後一行也可以用如下兩個命令代替: make –j4 make sdk 4 編譯結果
4.1 android.jar文件所在的目錄為
/out/target/common/obj/PACKAGING/android_jar_intermediates/android.jar並在/out/target/common/obj/JAVA_LIBRARIES/android_stubs_current_interme diates/src目錄下重新以package形式組織所有生成到android.jar中的源代碼。 4.2 SDK所在目錄為
out/host/linux-x86/sdk/,生成的sdk文件目錄和壓縮包為: android-sdk_eng.xxx_linux-x86
android-sdk_eng.xxx_linux-x86.zip(xxx為自己android源碼所在的文件名)
㈢ Android項目中如何使用資源文件
Android SDK在編譯應用時會在R類中為/res/目錄下的所有資源創建索引項,因此在java代碼中訪問資源主要是通過R類來完成。
語法格式為:
package_name.R.resource_type.resource_name
package_name:指定R類所在的包,實際上就是使用全限定類名。不過,要是在java程序中已導入R類所在包,可以省略包名。
resource_type:R類中代表不同資源類型的子類,例如string代表字元串資源。
resource_name:指定資源的名稱。
//從drawable資源中載入圖片,並設為該窗口的背景
getWindow().setBackgroundDrawableResource(R.drawable.back);
//從string資源中獲取指定字元串源碼,並設置該窗口的標題
getWindow().setTitle(getResources().getText(R.string.main_title));
㈣ 如何修改原有的Android應用和添加應用
本文實例講述了Android簡單修改原有應用和添加應用的方法。分享給大家供大家參考,具體如下:
第一部分:如何修改原有的Android應用
1. 首先新建一個Android工程,載入自己的Java文件和資源文件。
2. 在自己的android工程初步調試成功以後,把該工程的java文件和資源文件復制到聯系人對應的java文件和資源文件目錄。
3. 在linux下執行以下命令,編譯人聯系人模塊,把資源文件編譯到聯系人目錄中
?
12
. build/envsetup.shmmm packages/apps/Contacts
4. 刷新android源碼工程,這個時候你就可以在Contacts包目錄下看到你新加的資源文件和源文件了,並可以在源碼工程下修改代碼並直接調試了。
5. 在源碼工程被修改後,就可在linux下再次執行聯系人編譯命令, make snod載入system.img文件,並啟動模擬器(emulator &),這樣就可以看到你的修改了。
問題: 為什麼我們要把需要的xml資源文件先在linux下編譯?
答:因為我們的android源碼工程是以java工程導入的,如果添加android的xml文件的話,java程序無法識別資源R文件,所以我們必須先把需要的xml資源文件先在linux下編譯。
第二部分:如何添加一個新的Android應用
1. 先確認SDK目錄與系統版本相同,再在SDK目錄下開發自己的android應用。
2. 在源碼的packages/apps/目錄下創建一個android工程。
3. 在工程目錄下添加一個Android.mk文件,修改LOCAL_PACKAGE_NAME 把工程名指定為自己命令工程名,如我的工程名為test,則LOCAL_PACKAGE_NAME:=test。
?
12345678910
LOCAL_PATH:= $(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE_TAGS := userLOCAL_SRC_FILES := $(callall-java-files-under, src)LOCAL_STATIC_JAVA_LIBRARIES :=googlelogin-clientLOCAL_PACKAGE_NAME :=testLOCAL_CERTIFICATE := sharedinclude $(BUILD_PACKAGE)# Use the folloing include to make our testapk.include $(callall-makefiles-under,$(LOCAL_PATH))
4. 先返回源碼目錄,然後執行 .build/envsetup.sh (注意sh後的空格)
5. 執行mmmpackages/apps/test001 並編譯test001.apk包
6. 執行make snod 並編譯system.img包,然後執行emulator &
這樣就可以在應用程序下看到自己編譯的工程了。
更多關於Android相關內容感興趣的讀者可查看本站專題:《Android開發入門與進階教程》、《Android視圖View技巧總結》、《Android編程之activity操作技巧總結》、《Android操作SQLite資料庫技巧總結》、《Android操作json格式數據技巧總結》、《Android資料庫操作技巧總結》、《Android文件操作技巧匯總》、《Android編程開發之SD卡操作方法匯總》、《Android資源操作技巧匯總》及《Android控制項用法總結》
希望本文所述對大家Android程序設計有所幫助。
㈤ 安卓腳本過期了怎麼改到期時間呢
一般來說,安卓腳本的過期時間是由開發者在開發過程中設定的,但是如果你想改變它的過期時間雹賣行的話,可以使用Android的代碼編輯器來更改它的過配鬧期時間。步驟如下:
1. 首先,打開你的Android IDE,然後找到你的Android腳本的代碼文件。
2. 找到你的腳本的過期時間設置,一般是一個有效期變數,然後更改它的值為你想要的時間。
3. 保存文件,然後重新編譯你的Android腳本,更改後的過期時間將會生效。
4. 完成之後,重新部署你的Android腳本到你的應用中,然後就可以使用新的過期時間來運行你的應用了。
如果你想要更改過期時間,可以使用上述步驟來操作,謹慎操作源嘩,確保你的應用不會受到影響。