㈠ android Studio編譯build後的文件在哪裡
Android Studio編譯build後的文件是生成了APK文件,他存放在項目地址/app/bulid/outputs/apk下,如下圖所示:
1、先找到項目的地址,如下:
㈡ Android系統編譯完成生產哪些文件
是做好之後要公開的時候嗎?一個署名文件(如果署名了的話)和一個公開用的apk文件
㈢ andriod 源碼編譯時,如何添加一個可執行文件到文件系統中
是這樣的
1.進入你的android系統源碼的build/target/board/generic目錄下
2.把你的abc拷貝到 這個目錄下
3.編輯這個目錄下的vi AndroidBoard.mk這個文件
4.添加 PRODUCT_COPY_FILES += $(LOCAL_PATH)/abc:system/bin/abc
這樣在make源碼的時候,就可以自動進行這次拷貝了
㈣ Apk反編譯後每個文件的作用是什麼
這些文件基本和android開發資源文件是一一對應的,靜態資源會解析出來,但是代碼會被加密
㈤ android 編譯的鏡像怎麼看內容
Android編譯系統在初始化的過程中,會通過根目錄下的Makefile腳本載入build/core/main.mk腳本,接著build/core/main.mk腳本又會載入build/core/Makefile腳本,而Android系統鏡像文件就是由build/core/Makefile腳本負責打包生成的。 在build/core/main.mk文件中,與Android系統鏡像文件打包過程相關的內容如下所示: [plain] view plain ...... ifdef FULL_BUILD # The base list of moles to build for this proct is specified # by the appropriate proct definition file, which was included # by proct_config.make. proct_MODULES := $(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_PACKAGES) # Filter out the overridden packages before doing expansion proct_MODULES := $(filter-out $(foreach p, $(proct_MODULES), \ $(PACKAGES.$(p).OVERRIDES)), $(proct_MODULES)) $(call expand-required-moles,proct_MODULES,$(proct_MODULES)) proct_FILES := $(call mole-installed-files, $(proct_MODULES)) ...... else # We're not doing a full build, and are probably only including # a subset of the mole makefiles. Don't try to build any moles # requested by the proct, because we probably won't have rules # to build them. proct_FILES := endif ...... moles_to_install := $(sort \ $(ALL_DEFAULT_INSTALLED_MODULES) \ $(proct_FILES) \ $(foreach tag,$(tags_to_install),$($(tag)_MODULES)) \ $(call get-tagged-moles, shell_$(TARGET_SHELL)) \ $(CUSTOM_MODULES) \ ) # Some packages may override others using LOCAL_OVERRIDES_PACKAGES. # Filter out (do not install) any overridden packages. overridden_packages := $(call get-package-overrides,$(moles_to_install)) ifdef overridden_packages # old_moles_to_install := $(moles_to_install) moles_to_install := \ $(filter-out $(foreach p,$(overridden_packages),$(p) %/$(p).apk), \ $(moles_to_install)) endif ...... # Install all of the host moles moles_to_install += $(sort $(moles_to_install) $(ALL_HOST_INSTALLED_FILES)) # build/core/Makefile contains extra stuff that we don't want to pollute this # top-level makefile with. It expects that ALL_DEFAULT_INSTALLED_MODULES # contains everything that's built ring the current make, but it also further # extends ALL_DEFAULT_INSTALLED_MODULES. ALL_DEFAULT_INSTALLED_MODULES := $(moles_to_install) include $(BUILD_SYSTEM)/Makefile moles_to_install := $(sort $(ALL_DEFAULT_INSTALLED_MODULES)) ALL_DEFAULT_INSTALLED_MODULES := ...... .PHONY: ramdisk ramdisk: $(INSTALLED_RAMDISK_TARGET) ...... .PHONY: userdataimage userdataimage: $(INSTALLED_USERDATAIMAGE_TARGET) ...... .PHONY: bootimage bootimage: $(INSTALLED_BOOTIMAGE_TARGET) ...... 如果定義在FULL_BUILD這個變數,就意味著我們是要對整個系統進行編譯,並且編譯完成之後 ,需要將編譯得到的文件進行打包,以便可以得到相應的鏡像文件,否則的話,就僅僅是對某些模塊進行編譯。 在前面Android編譯系統環境初始化過程分析一篇文章中,我們提到,變數INTERNAL_PRODUCT描述的是執行lunch命令時所選擇的產品所對應的產品Makefile文件,而變數PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_PACKAGES描述的是在該產品Makefile文件中通過變數PRODUCT_PACKAGES所定義的模塊名稱列表。因此,我們得到的變數proct_MODULES描述的就是要安裝的模塊名稱列表。 我們知道,Android源碼中自帶了很多默認的APK模塊。如果我們想用自己編寫的一個APK來代替某一個系統自帶的APK,那麼就可以通過變數PACKAGES.<new>.OVERRIDES := <old>來說明。其中,<new>表示用來替換的APK,而<old>表示被替換的APK。在這種情況下,被替換的APK是不應該被打包到系統鏡像中去的。因此,我們需要從上一步得到的模塊名稱列表中剔除那些被替換的APK,這是通過Makefile腳本提供的filter-out函數來完成的。 一個模塊可以通過LOCAL_REQUIRED_MODULES變數來指定它所依賴的其它模塊,因此,當一個模塊被安裝的時候,它所依賴的其它模塊也會一起被安裝。調用函數expand-required-moles獲得的就是所有要安裝的模塊所依賴的其它模塊,並且將這些被依賴的模塊也一起保存在變數proct_MODULES中。 注意,這時候我們得到的proct_MODULES描述的僅僅是要安裝的模塊的名稱,但是我們實際需要的這些模塊對應的具體文件,因此,需要進一步調用函數mole-installed-files來獲得要安裝的模塊所對應的文件,也就是要安裝的模塊經過編譯之後生成的文件,這些文件就保存在變數proct_FILES中。 最終需要安裝的文件除了變數proct_FILES所描述的文件之後, 還包含以下四類模塊文件: 1. 變數ALL_DEFAULT_INSTALLED_MODULES描述的文件。 2. 變數CUSTOM_MODULES描述的文件。 3. 與當前編譯類型對應的模塊文件。例如,如果當前設定的編譯類型為debug,那麼所有通過將變數LOCAL_MODULE_TAGS將自己設置為debug的模塊也會被打包到系統鏡像文件中去。 4. 與當前shell名稱對應的模塊文件。例如,如果當前使用的shell是mksh,那麼所有通過將變數LOCAL_MODULE_TAGS將自己設置為shell_mksh的模塊也會被打包到系統鏡像文件中去。 最後,moles_to_install就描述當前需要打包到系統鏡像中去的模塊文件。實際上,我們除了可以通過PACKAGES.$(p).OVERRIDES來描述要替換的APK之後,還可以在一個模塊中通過LOCAL_OVERRIDES_PACKAGES來描述它所替換的模塊。因此,我們需要通過函數get-package-overrides來獲得此類被替換的模塊文件,並且將它們從moles_to_install中剔除,這樣得到的模塊文件才是最終需要安裝的。 確定了要安裝的所有模塊文件之後,就可以將build/core/Makefile文件載入進來了。注意,文件build/core/Makefile是通過變數ALL_DEFAULT_INSTALLED_MODULES來獲得當前所有要打包到系統鏡像文件中去的模塊文件的。 文件build/core/Makefile主要就是用來打包各種Android系統鏡像文件的,當然它也是通過make規則來執行各種Android系統鏡像文件打包命令的。每一個Android鏡像文件都對應有一個make偽目標。例如,在build/core/main.mk文件中,就定義了三個make偽目標ramdisk、userdataimage和bootimage,它們分別依賴於變數INSTALLED_USERDATAIMAGE_TARGET、INSTALLED_USERDATAIMAGE_TARGET和INSTALLED_BOOTIMAGE_TARGET所描述的文件,並且它們分別表示的就是ramdisk.img、userdata.img和boot.img文件。
㈥ android 反編譯後的apk的清單文件在哪個文件夾下
使用工具包中的android-reverse-trinea\apktool-1.5.2-windows或下載最新的apktool(需同時下載apktool及對應平台的依賴包,解壓後將平台依賴包中的apktool.jar復制到apktool目錄下),在命令行運行
apktool.bat
d
-f
xxx.apk
xxx
其中d表示解包,xxx.apk為待反編譯apk路徑,xxx為目標文件夾名,(apktool不支持中文目錄),結果會再apktool.bat所在目錄下生成weixin文件夾,現在就可以正確的查看xml資源(包括res下的所有資源,如點9圖片、drawable、layout、value、menu等等)了,比如AndroidManifest.xml
㈦ 編譯Android源碼 make之後遇到這個問題, 1.首先是有那個文件和目錄的,但卻報錯 2.
這個提示不是說了嗎,沒有規則可以創建目標。
你在make之前確認已經用了". build/envsetup.sh"和「choosecombo」命令創建規則了嗎?
㈧ android apk+dex文件反編譯及回編譯的文件在哪
AP KDB是一款,針對Android OS系統的APK程序,直接反編譯修改的工具。其實,本工具是一個工具集合箱,直接在【滑鼠右鍵】創建快捷菜單;非常方便漢化工作者,對APK或Dex文件進行簡易的反編譯回編譯操作;集合了當今最強悍,最犀利的APK及Dex文件編譯工具;
㈨ 如何將源代碼編譯後的文件編譯到android中
1.將應用程序源碼復制進Android源碼目錄中(提前編譯好源碼)
2.使用build/envsteup.sh 配置shell -
mm TARGET_PRODUCT=proct_name
或直接./build_android.sh 也能完成編譯。
3.在源碼目錄:out/target/proct/proctname/obj/APPS/test_cert_intermediates 下有三個文件:package.apk package.apk.unsigned package.apk.unaligned
將package.apk.unsigned復制出來,單獨進行sign.
4.在Windows下進行sign: jarsigner -verbose -keystore youkey.keystore d:\package.apk.unsigned youkey
5.zipalign -v 4 d:\package.apk.unsigned d:\package.signed.apk