『壹』 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
反編譯步驟:
下載apktool 並設置環境變數
命令行進入apk目錄執行:apktool d xx.apk (如果遇到一些錯誤說明apk做了防破解處理)
執行成功後會生成xx文件夾,進入xx文件夾修改需要修改的內容,如果需要修改代碼,進入xxsmali裡面,需要懂一些smali語法
修改完後回到命令行,執行:apktool b xx ,會在xx文件夾裡面生成一個dist文件夾,裡面的apk就是回編譯的,這個apk是沒有簽名的
下載網上的簽名工具對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中也會自動修改。