linux编译apk
㈠ linux apktool怎么使用
APKTool是GOOGLE提供的APK编译工具,能够反编译及回编译apk,同时安装反编译系统apk所需要的framework-res框架,清理上次反编译文件夹等功能。需要java支持。
常见命令:
decode
该命令用于进行反编译apk文件,一般用法为
apktool d <file.apk> <dir>
<file.apk>代表了要反编译的apk文件的路径,最好写绝对路径,比如C:\MusicPlayer.apk
<dir>代表了反编译后的文件的存储位置,比如C:\MusicPlayer
如果你给定的<dir>已经存在,那么输入完该命令后会提示你,并且无法执行,需要你重新修改命令加入-f指令
apktool d –f <file.apk> <dir>
这样就会强行覆盖已经存在的文件
build
该命令用于编译修改好的文件,一般用法为
apktool b <dir>
这里的<dir>就是刚才你反编译时输入的<dir>(如C:\MusicPlayer),输入这行命令后,如果一切正常,你会发现C:\MusicPlayer内多了2个文件夹build和dist,其中分别存储着编译过程中逐个编译的文件以及最终打包的apk文件。
install
install-framework命令用于为APKTool安装特定的framework-res.apk文件,以方便进行反编译一些与ROM相互依赖的APK文件。
㈡ apk文件怎么生成,
编译一下程序就生成APK了,开发的程序安装到手机里,我知道的有两种方法,一种用SD卡把APK文件拷入手机,然后安装。另一种是在Linux系统下用make方法编译,然后把生成的IMG文件烧写到手机里! 望采纳
㈢ linux系统如何安装apk文件
1、在linux中安装virtualbox,然后安装安卓系统,再安装apk
2、尝试安装shashlink,这个是安卓的一个模拟库,一般来说,支持x86的安卓的apk才可以运行,只支持arm的不能运行。
㈣ 自己可以编译安卓源码吗
用最新的Ubuntu 16.04,请首先确保自己已经安装了Git.没安装的同学可以通过以下命令进行安装:
sudo apt-get install git git config –global user.email “[email protected]” git config –global user.name “test”
其中[email protected]为你自己的邮箱.
简要说明
android源码编译的四个流程:1.源码下载;2.构建编译环境;3.编译源码;4运行.下文也将按照该流程讲述.
源码下载
由于某墙的原因,这里我们采用国内的镜像源进行下载.
目前,可用的镜像源一般是科大和清华的,具体使用差不多,这里我选择清华大学镜像进行说明.(参考:科大源,清华源)
repo工具下载及安装
通过执行以下命令实现repo工具的下载和安装
mkdir ~/binPATH=~/bin:$PATHcurl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repochmod a+x ~/bin/repo
补充说明
这里,我来简单的介绍下repo工具,我们知道AOSP项目由不同的子项目组成,为了方便进行管理,Google采用Git对AOSP项目进行多仓库管理.在聊repo工具之前,我先带你来聊聊多仓库项目:
我们有个非常庞大的项目Pre,该项目由很多个子项目R1,R2,...Rn等组成,为了方便管理和协同开发,我们为每个子项目创立自己的仓库,整个项目的结构如下:
这里写图片描述
执行完该命令后,再使用make命令继续编译.某些情况下,当你执行jack-admin kill-server时可能提示你命令不存在,此时去你去out/host/linux-x86/bin/目录下会发现不存在jack-admin文件.如果我是你,我就会重新repo sync下,然后从头来过.
错误三:使用emulator时,虚拟机停在黑屏界面,点击无任何响应.此时,可能是kerner内核问题,解决方法如下:
执行如下命令:
通过使用kernel-qemu-armv7内核 解决模拟器等待黑屏问题.而-partition-size 1024 则是解决警告: system partion siez adjusted to match image file (163 MB >66 MB)
如果你一开始编译的版本是aosp_arm-eng,使用上述命令仍然不能解决等待黑屏问题时,不妨编译aosp_arm64-eng试试.
结束吧
到现在为止,你已经了解了整个android编译的流程.除此之外,我也简单的说明android源码的多仓库管理机制.下面,不妨自己动手尝试一下.
㈤ 如何在linux系统里面编译mupdf
1.下载 MuPDF 1.2 Source:http://code.google.com/p/mupdf/downloads/detail?name=mupdf-1.2-source.zip&can=2&q=
2.编译准备和过程:参考http://www.mupdf.com/doc/how-to-build-mupdf-for-android
3.把../platform/android工程导入Eclipse,运行,界面如下。<如在模拟器上运行apk,最好先把一个pdf文件导入>
上面的工程源码CSDN资源下载:http://download.csdn.net/detail/hhbgk/5711295
㈥ linux系统如何安装apk文件
APK是AndroidPackage的缩写,即Android安装包(apk)。
APK是类似SymbianSis或Sisx的文件格式。通过将APK文件直接传到Android模拟器或Android手机中执行即可安装。apk文件和sis一样,把androidsdk编译的工程打包成一个安装程序文件,格式为apk。
APK文件其实是zip格式,但后缀名被修改为apk,通过UnZip解压后,可以看到Dex文件,Dex是DalvikVMexecutes的简称,即AndroidDalvik执行程序,并非JavaME的字节码而是Dalvik字节码。Android在运行一个程序时首先需要UnZip,然后类似Symbian那样直接,和WindowsMobile中的PE文件有区别。
格式定义
在Android平台中dalvik vm的执行文件被打包为apk格式,最终运行时加载器会解压然后获取编译后的androidmanifest.xml文件中的permission分支相关的安全访问,但仍然存在很多安全限制,如果你将apk文件传到/system/app文件夹下会发现执行是不受限制的。安装的文件可能不是这个文件夹,而在androidrom中,系统的apk文件默认会放入这个文件夹,它们拥有着root权限。
文件结构
META-INF (注:Jar文件中常可以看到);
res (注:存放资源文件的目录) ;
AndroidManifest.xml (注:程序全局配置文件) ;
classes.dex (注:Dalvik字节码);
resources.arsc (注:编译后的二进制资源文件)。
如果一定要安装在linux有二种方法:
在linux下先安装虚拟机;
在linux下安装模拟器;
然后在虚拟机或模拟器中安装该apk文件
㈦ linux 反编译下的apk报毒怎么处理
2、反编译过程
1)反编译出资源文件
使用apktool工具,进入apktool所在的目录下,使用如下的命令:
./apktool d ./xxx.apk(apk所在的路径)
d表示decode,在当前目录下就会生成一个名为xxx的目录,里面就是反编译出来的各种资源文件,其中res表示资源文件,smali表示源代码,不过是字节码,不能直接查看。
以本人的实验为例子,如下图所示:
此时会在当前目录下生成一个目录app-debug。
2)源代码的反编译
a)因为apk文件其实是使用zip进行打包压缩生成的文件,所以先把xxx.apk文件改名为xxx.zip文件,并对其进行解压。
b)进入解压后的目录,其中有一个classes.dex文件,这个文件就是java文件编译再通过dx工具打包而成的,源代码就包含在这个文件中。
c)把前一步生成的文件classes.dex复制到dex2jar工具的根目录中,并使用如下命令对其进行反编译:
./dex2jar.sh d classes.dex
就会在当前目录下生成一个classes_dex2jar.jar文件
d)点击打开jdgui工具,这是一个图形化的工具,然后打开上上述的classes_dex2jar.jar文件就可以看到apk对应的源代码。
对于本人的实验如下:
㈧ apk反编译和重新打包
操作系统:Mac OS X
软件:apktool
进入官网 https://ibotpeaches.github.io/Apktool/ ,点击官网首页的install( https://ibotpeaches.github.io/Apktool/install/ )进入安装指南,里面有Windows,Linux和Mac的安装方法,不同的操作系统按不同的步骤来就可以了。
在终端输入: apktool d xxx.apk ,我在反编译时出现了以下错误:
看提示是无法写入到这个目录 /Users/xxx/Library/apktool/framework (xxx为电脑用户名),那就在 /Users/xxx/Library 下新建apktool文件夹,并在apktool文件夹下再新建个framework文件夹,然后为了保险起见设置新建文件夹到权限,在终端输入: chmod -R 777 /Users/xxx/Library/apktool
接着再重新执行反编译命令就可以成功了,在xxx.apk相同目录下会出现反编译后的文件夹。
在终端输入编译命令: apktool b xxx (xxx为刚才反编译的文件夹),成功后会在xxx文件夹下的dist文件夹下生成打包好后的apk文件
现在打包好后的apk是没有签名的,所以无法安装,现在给apk签名
20000为时间,这个设置长点就好了,-keystore后面是签名文件保存路径。输入命令按回车键会让输入密码等信息,按提示输入,不要忘了密码,签名时要用。
2.接着在终端输入:
-keystore后面的为签名文件的路径,-signedjar后面为签名好后apk的存放路径,在这个后面的一个为需要签名的pak的路径,最后的android.keystore为证书的别名,如果不知道别名,可以在终端输入: keytool -list -v -keystore /Users/xxx/Desktop/android.keystore 查看具体信息,里面有别名。
这一步还要注意,签名文件和需要签名的apk要在同一目录下。
㈨ android 怎么把apk放进系统
们的apk,很难卸载。
注意:编译在linux 下
1.可以通过重新编译android 源码,但好像比较麻烦,我就懒的去理了,也没试过,那位试
过可以给我讲下步骤。
2.可以通过unyaffs 来修改system.img 文件
system.img 在\\android-sdk\platforms\android-x\images 下,
unyaffs 用法:解包:
unyaffs imgage file name output directory打包
sudochmod -R 777 * 权限
mkyaffs2image dir image_file
通过unyaffs 解压system.img 后可以看到有app,lib 等目录,这是我们就可以把我们需要
的apk 放进app 里,有时候app 需要其它库,就放在lib 里。
然后mkyaffs2image 打包,烧进机子里就可以了,也可以启动一个虚拟机试一下,当然是在
这个编译后的系统的虚拟机,这是你发现你的apk 就是系统自带的了,一般情况下删不了。
㈩ 如何在Linux平台下编译android工程
我是在windows下做开发的,但是编译环境还是在linux上。。大体的步骤如下:
1.首先在windows环境下编写工程(eclipse下编写android工程)
2.打开linux开发环境(tcl平台:\\10.120.90.207\longc\workspace\code\project\kernel\android\JB)
3.将运行环境的脚本文件运行./evnsetup:配置android运行环境
/JB/build/
找到envsetup.sh
运行.envsetup.sh(source envsetup.h或./envsetup)
所有操作都在终端完成
4.将工程文件拷贝到指定目录下(TCL平台下的自带程序在package\TCL_Apps目录下)
5.删除一些文件
保留/res,/src,AndroidManifest.xml三个文件
创建Android.mk(makefile文件,linux下用makefile文件来集成一些命令,运行程序的指令和设置都在此处)Android.mk的编写
6.编译
进入工程文件目录
输入mm命令进行编译。
7.生成apk文件,编译完成