把常用的應用程序編譯到img文件中,就成了系統的一部分,用戶不必自己安裝,當然也卸載不了;
同時也可以刪減系統自帶的應用程序,精簡系統;
1.\build\target\proct 目錄下generic.mk文件:
java代碼 收藏代碼
PRODUCT_PACKAGES := \
AccountAndSyncSettings \
DeskClock \
AlarmProvider \
Bluetooth \
Calculator \
Calendar \
Camera \
testMid \
CertInstaller \
DrmProvider \
Email \
Gallery3D \
LatinIME \
Launcher2 \
Mms \
Music \
我們添加一個testMid \ 應用名稱。
2.把testMid包放入
\packages\apps 目錄下,修改android.mk文件。
Java代碼 收藏代碼
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
LOCAL_SRC_FILES := $(call all-subdir-java-files)
LOCAL_PACKAGE_NAME := testMid
LOCAL_CERTIFICATE := platform
include $(BUILD_PACKAGE)
註:LOCAL_PACKAGE_NAME := testMid (包名必須和generic.mk中添加的相同)
編譯源碼,可以看到在
\out\target\proct\smdkv210\system\app
目錄下生存了testMid.apk了。這時system.img也包含了此應用。
-------------------------------------------------------------------
特殊情況:有時,應用需要包含jar包,這時的app導入源碼時會出現問題:
MODULE.TARGET.JAVA_LIBRARIES.libarity already defined by ... stop
由於 LOCAL_STATIC_JAVA_LIBRARIES := libarity 會引發錯誤信息。
目前解決方法是:
\build\core 目錄下修改base_rules.mk
注釋掉錯誤信息:
ifdef $(mole_id)
#$(error $(LOCAL_PATH): $(mole_id) already defined by $($(mole_id)))
endif
$(mole_id) := $(LOCAL_PATH)
--重新編譯,這時可以通過了。
(2)、刪除原廠(Telchips)帶源碼的應用程序,如DTV_DVBT
在/device/telechips/m801/device.mk
注釋掉相應語句:
# PRODUCT_PACKAGES += \
# SampleDVBTPlayer \
同時,在/out/target/proct/m801/system/app 找到相應的.APK包,並刪除。
❷ 如何去反編譯一個ipa包
首先,你需要有一個BetterZip或者是類似的解壓縮軟體,之後,對下載下來的ipa文件按右鍵,或者ctrl加單機,使用Betterzip打開。
會看到這個包中的一些內容,把他們都解壓縮。
其中最重要的,是app文件,其他的包含一些安裝信息,可以刪除。右鍵單擊app文件,選擇:show package contents。
這個包中的內容就是app的資源文件,至於代碼文件,在這個可執行文件里,要反編譯代碼,必須進入底層才行,而且主要會編譯出匯編語言。
❸ 如何將手機apk 安裝包反編譯和重新打包簽名
android應用安裝到手機的是一個apk文件。apk是可以用工具進行反編譯並重新打包的。本文將介紹下如何用apktool對apk進行反編譯並重新打包。
工具/原料
apktool
auto sign
方法/步驟
首先我們新建一個android項目,裡面只有一個MainActivity,而且主界面只會顯示一個字元串:你好。
下面,我們切換到這個項目生成的apk文件所在的目錄,可以看到有一個hellodemo.apk。
在命令行輸入:apktool d -r hellodemo.apk。可以看到在當前目錄下生成了一個hellodemo文件夾。
進入到hellodemo\smali\com\example\hello,打開MainActivity.smali。找到:
const-string v1, "\u4f60\u597d",
修改為:
const-string v1, "hello",
然後在命令行輸入:apktool b hellodemo hellodemo1.apk。這回重新打包成hellodemo1.apk。
然後給新生成的apk進行簽名。把這個apk拷貝到autosign的目錄下面,然後切換過去,在命令行輸入:java -jar signapk.jar testkey.x509.pem testkey.pk8 hellodemo1.apk hellodemo.apk。
步驟閱讀
把生成的hellodemo.apk安裝到手機,可以看到主界面上已經顯示的是hello,而不再是你好。說明反編譯重新打包成功!
❹ android studio 如何回編譯一個APP
android studio中不能編譯反編譯出來的文件,android studio只能編譯源代碼。
1.反編譯Apk得到Java源代碼
首先要下載兩個工具:dex2jar和JD-GUI
前者是將apk中的classes.dex轉化成Jar文件,而JD-GUI是一個反編譯工具,可以直接查看Jar包的源代碼。
具體步驟:
首先將apk文件,將後綴改為zip,解壓,得到其中的classes.dex,它就是java文件編譯再通過dx工具打包而成的;
解壓下載的dex2jar,將classes.dex復制到dex2jar.bat所在目錄。在命令行下定位到dex2jar.bat所在目錄
運行 dex2jar.bat classes.dex
生成 classes.dex.dex2jar.jar
2.反編譯apk生成程序的源代碼和圖片、XML配置、語言資源等文件
還是下載工具,這次用到的是apktool
具體步驟:
將下載的兩個包解壓到同一個文件夾下,應該會有三個文件:aapt.exe,apktool.bat,apktool.jar
1.解壓縮下載的兩個文件包,apktool-install-windows-r04-brut1.tar解壓縮後得到的包里有aapt.exe 和apktool.bat.(注意要把apktool1.4.1.tar解壓後的一個.jar 文件到解壓後的\apktool-install-windows-r04-brut1文件夾里)
2.特別注意:你要反編譯的文件一定要放在C盤的根目錄里
❺ 點讀包格式可以轉化嗎
點讀包格式不可以轉化。
我們需要提取點讀包裡面的音頻信息,或者是重新製作點讀包,或者做成其他格式的點讀包,文件格式是指電腦為了存儲信息而使用的對信息的特殊編碼方式,是用於識別內部儲存的資料。
文件格式
文件格式是指電腦為了存儲信息而使用的對信息的特殊編碼方式,是用於識別內部儲存的資料,比如有的儲存圖片,有的儲存程序,有的儲存文字信息,每一類信息,都可以一種或多種文件格式保存在電腦存儲中,每一種文件格式通常會有一種或多種擴展名可以用來識別,在但也可能沒有擴展名。擴展名可以幫助應用程序識別的文件格式。
❻ 一個jar格式的語言包,怎麼重新編譯一下
jar文件是java打包後的文件如果你的txt文件是java代碼的話,先把文件名後綴改成 .java 成為一個java文件,然後編譯,生成class文件,就可以打包生成jar文件了至於怎麼打包你可以去網上查查
❼ jar解壓後 如何把解壓出來的文件夾 重新編譯成jar
用winrar打包成zip,再改成jar即可:
1、假設您之前解壓的是下面的這些文件
❽ 怎樣修改APK文件!修改後怎麼打包成APK
1、首先打開apk反編譯軟體,點擊「打開」一個apk。或者直接把需要反編譯修改的apk拖入到窗口中。
❾ 如何反編譯android應用並重新打包
apktool所需文件:
a、 apktool1.5.2.tar.bz2
b、apktool-install-windows-r05-ibot.tar.bz2 (windows系統)
2.解壓剛剛的文件,並將解壓的文件放入C:Windows目錄下
3.啟動控制台,輸入apktool,回車可查看到apktool工具常用指令
4.新建一個文件夾,用於存放apk及待解壓的文件,這里筆者將文件夾建在D:apk目錄,同時放入用於測試的android app包(test.apk)
5.控制台輸入:apktool d D:apk est.apk D:apk est 進行反編譯操作
中句話中「D:apk est.apk」指apk存放位置,「D:apk est」指反編譯後文件存放的位置
6.反編譯成功之後,進入D:apk est文件目錄可以查看到反編譯後的文件