導航:首頁 > 源碼編譯 > 安卓類方法編譯期替換

安卓類方法編譯期替換

發布時間:2022-06-06 03:50:19

『壹』 android 為什麼api包含了 編譯卻找不到方法

用網路吧好用好申請

『貳』 如何給安卓應用編譯

把常用的應用程序編譯到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包,並刪除

『叄』 安卓反編譯出來的代碼如何修改重新生成APK

反編譯步驟:

  1. 下載apktool 並設置環境變數

  2. 命令行進入apk目錄執行:apktool d xx.apk (如果遇到一些錯誤說明apk做了防破解處理)

  3. 執行成功後會生成xx文件夾,進入xx文件夾修改需要修改的內容,如果需要修改代碼,進入xxsmali裡面,需要懂一些smali語法

  4. 修改完後回到命令行,執行:apktool b xx ,會在xx文件夾裡面生成一個dist文件夾,裡面的apk就是回編譯的,這個apk是沒有簽名的

  5. 下載網上的簽名工具對apk簽名,完了就可以安裝了(如果你下載了源碼或者sdk,裡面自帶一個signapk也可以簽名)

『肆』 安卓有什麼軟體可以查找txt並修改替換

安卓的很多文本編輯器都可以實現全部替換這個功能,推薦兩個:
Jota Text Editor:打開自動換行的狀況下,打開1M大的txt要18秒,但替換文本神速,估計8秒都不到。(不開自動換行要一分鍾才能打開1M大的txt,Jota+替換速度比這個慢得多在此不提)
QuickEdit Text Editor Pro:不開自動換行的情況下,打開上述txt只用1~2秒,替換1分20秒。(開了自動換行打開上述txt速度會變慢,要10幾秒)

前者打開txt較久,後者替換文本較久,各有利弊,不過QuickEdit界面好看很多就是了。
我的是中低端機,打開txt和替換速度肯定跟高端機有出入,測試替換的內容是把特定的三個連續漢字替換成另外三個連續漢字,一共2877個。
像WPS的那種這里就不提了,對於只替換txt內的文本而言太臃腫而且處理慢,我用過WPS的5.X版,替換幾十處都要近半分鍾。

『伍』 在android中修改類名

默認就行,關鍵是需要手動在Manifest.xml中進行修改。
如果你的ADT版本夠高,Manifest.xml中也會自動修改。

閱讀全文

與安卓類方法編譯期替換相關的資料

熱點內容
雲伺服器的鏡像選擇什麼 瀏覽:754
python如何設置cplex 瀏覽:8
linux的mv命令詳解 瀏覽:357
怎麼把安裝好的python放在桌面上 瀏覽:119
mysql退出當前命令 瀏覽:741
現在還有什麼手機好用的app 瀏覽:324
java字元處理函數 瀏覽:274
指紋用於應用加密什麼意思 瀏覽:998
怎麼取消蘋果手機的appid密碼 瀏覽:997
門禁系統錄制卡怎麼加密 瀏覽:753
ssm看源碼哪本書好 瀏覽:933
linux查看網卡的命令 瀏覽:497
basic語言演算法 瀏覽:13
怎麼快捷刪除無用文件夾 瀏覽:475
你家離學校源碼用英語回答 瀏覽:504
電腦如何用伺服器地址 瀏覽:652
php轉化為二進制 瀏覽:738
程序員到國企感受 瀏覽:863
js二分搜索演算法 瀏覽:658
文件夾的定義與原意 瀏覽:202