当前位置:首页 » 编程软件 » linux编译apk

linux编译apk

发布时间: 2022-11-16 07:28:37

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内核问题,解决方法如下:
执行如下命令:

  • ./out/host/linux-x86/bin/emulator -partition-size 1024 -kernel ./prebuilts/qemu-kernel/arm/kernel-qemu-armv7

  • 通过使用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权限。

    文件结构

    1. META-INF (注:Jar文件中常可以看到);

    2. res (注:存放资源文件的目录) ;

    3. AndroidManifest.xml (注:程序全局配置文件) ;

    4. classes.dex (注:Dalvik字节码);

    5. resources.arsc (注:编译后的二进制资源文件)。

    如果一定要安装在linux有二种方法:

    1. 在linux下先安装虚拟机;

    2. 在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文件,编译完成

    热点内容
    怎么压缩邮件 发布:2025-05-14 04:16:51 浏览:496
    云服务器搭建邮箱绑定郁闷 发布:2025-05-14 04:16:48 浏览:148
    crc校验c语言算法 发布:2025-05-14 04:15:15 浏览:44
    curl静态编译 发布:2025-05-14 04:09:52 浏览:159
    压缩久期 发布:2025-05-14 04:08:46 浏览:941
    sql置疑 发布:2025-05-14 04:07:09 浏览:441
    java面试的算法题 发布:2025-05-14 04:06:18 浏览:467
    交叉编译优化 发布:2025-05-14 03:48:52 浏览:532
    动图在线压缩 发布:2025-05-14 03:35:24 浏览:133
    w7共享无法访问 发布:2025-05-14 03:35:24 浏览:483