首先我们新建一个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。
7
把生成的hellodemo.apk安装到手机,可以看到主界面上已经显示的是hello,而不再是你好。说明反编译重新打包成功
② 反编译后的Java软件如何用Eclipse重新编译
用Eclipse重新编译说明:
1、假如是单个文件,就把java文件拷贝到eclipse的工程中就可以了。会自动编译的。
2、假如不是自动编译,可以在project中把autocompile 选上,那么导入到eclipse的所有java文件都会被自动编译成为class文件。
3、编译无误后就可以run as了。
③ 如何把应用程序app编译进android系统
准备工作:
一、开启ROOT权限。
ROOT方法:下载一键ROOT之类的软件,根据操作步骤进行,就可以获取ROOT权限了。
二、安装RE文件管理器。
清理系统自带应用
一、用RE打开系统根目录下的system/app,进行精简系统自带应用,注意,要对照一些总结可删减程序的文件,以免删错了导致系统故障。
二、根目录:preload目录下,可能会有系统的预装应用,不用的也可以全部删掉。
移动APK到system/app 目录
一、移动apk:用RE管理器把要安装的apk软件移动到/system/app 目录下。
在操作前,将/system/app 目录挂载为可读写;
注意软件名不要有中文 、空格及其他特殊字符等;
如果无法移动,显示空间不足时,可以先移动到data/app/下,再移动到/system/app;
二、修改apk权限:对移动进来的apk软件更改权限,即改为:用户权限为 读+写,分组权限为 读,其他权限为 读。
三、提取 .so文件:用RE提取apk软件中/lib/目录下的所有 .so文件,将其移动到/system/lib中。
点击apk软件,用RE查看文件内容,即可找到 ,so文件。
四、修改 .so文件权限:方法同上。
五、重启手机。在此过程中,可能加载的时间稍长点,请耐心等待即可。
完成以上操作后,手机的可用内存空间就会增大一些,同时,/system的剩余空间也可以有效的利用,机器运行时的速度也会有所提升了。
注意:在以后的恢复出厂设置中,还原的系统就会变为现在修改过的系统了。
操作截图如下:
④ 如何把应用程序app编译进android系统
把常用的应用程序编译到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包,并删除
⑤ java编程怎么编译手机安装APP
通常都是官方提供的JDK(java development kit,java开发环境)中的javac工具来编译java源文件的,而eclipse或者netbeans等IDE都是调用JDK提供的编译工具来进行编译的,所以建议去下载一个JDK吧,虽然在virual studio 2005下也可以编译java的源文件(studio 2005集成了这个功能),不过个人认为要学习java的话还是用JDK搭配Eclipse比较合适。
⑥ 安卓app应用制作好了 如何更改啊
一、制作好的 .apk 文件如果有源码,可以在源码中进行修改,修改完成后重新生成即可。
二、使用类似RE管理器之类的工具,但是如果存在以后两种情况是改不了的。
1、APP非自身开发创建。
2、签名已经生成,无修改签名的权限。
⑦ Android studio 如何重新编译组件
确认你工程内bulid.gradle内相关属性值及调用的jar和库描述正确
点击build-Rebuild Project(即删除build下的所有文件并且重新build)