导航:首页 > 源码编译 > 安卓类方法编译期替换

安卓类方法编译期替换

发布时间: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中也会自动修改。

阅读全文

与安卓类方法编译期替换相关的资料

热点内容
手游我的世界租的服务器怎么添加mod 浏览:552
java中的Ascii 浏览:497
php白盒测试工具 浏览:574
男人命令女人 浏览:166
全球编程语言排名 浏览:785
某百度程序员中午面试 浏览:614
程序员刘亦菲的样子 浏览:303
java获取服务器的时间格式 浏览:69
什么是java中的多态 浏览:330
html包含php文件 浏览:359
程序员睡觉少感觉不到困 浏览:921
空调压缩机工作电压 浏览:202
梦幻西游浙江二区服务器云主机 浏览:250
什么样的人才叫程序员 浏览:125
ipad如何解压缩文件下载 浏览:225
知网程序员 浏览:706
怎么把电子版投标报价加密 浏览:33
电脑安全编译器 浏览:369
在服务器里如何调创造 浏览:839
知云登录为什么找不到服务器 浏览:819