当前位置:首页 » 编程软件 » 安卓怎么编译apk

安卓怎么编译apk

发布时间: 2022-07-13 12:03:06

安卓手机怎么打开apk文件

安卓手机打开APK文件方法如下:

1、找到你手机上下载好的apk文件,单击文件。

4、这个APK文件就可以打开了 。

(1)安卓怎么编译apk扩展阅读:

关于apk

apk文件和sis一样,把androidsdk编译的工程打包成一个安装程序文件,格式为apk。

(1)、格式定义

在Android平台中,dalvik vm的执行文件被打包为apk格式,最终运行时加载器会解压,然后获取编译后的androidmanifest.xml文件中的permission分支相关的安全访问,但仍然存在很多安全限制,如果你将apk文件传到/system/app文件夹下,会发现执行是不受限制的。安装的文件可能不是这个文件夹,而在androidrom中,系统的apk文件默认会放入这个文件夹,它们拥有着root权限。

(2)文件结构

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

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

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

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

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

(3)开发环境

Android是一个基于java的开发环境,它是一种与广被接受的 Java极为类似,而且也比C++容易得多的开发语言,这是一种规范的移动开发环境。Google也在API文档的书写和样例的提供上做了很出色的工作。

(4)获取SDK

下载并安装android的SDK[软件开发套件],这套SDK主要包括有核心库文件,一个模拟器,开发工具和一些示范的样例文件。推荐使用Eclipse 和androideclipse 扩展。

如果只是使用android,Eclipse IDE就已经足够了,但如果是第一次开发Java应用,建议下载完整的Java SE 开发工具 (JDK) 因为它包括签发应用程序所需要的工具。

(5)应用架构

android应用架构很关键,如果不学习它,设计出来的游戏将是一种很难修复bug的产品。 需要了解应用程序、活动、Intents以及它们是如何互相联系交互的,Google在这儿提供了良好的信息架构。

真正重要的是,要理解为什么在设计的游戏中,需要不止一个的活动进程,以及如何设计一个用户体验良好的游戏。这些都应当配合到应用的生命周期中。

参考链接:网络-apk

⑵ 反编译Android APK的具体步骤是怎样的

1、配置好JAVA环境变量,下载:apktool 解压的文件放在C盘根目录的apktool文件夹里(apktool文件夹自己创立)
2打开命令提示符,(开始-运行-输入cmd)
3输入:cd \apktool 系统指令到了apktool文件夹(这里就是为什么要把解压的apktool解压的文件放到apktool文件夹的原因,当然你也可以自命名文件夹的名称,那么比如arc,那么指令就变成了:cd \arc 前提是你必须把apktool解压的文件放到这个文件夹里面)
4使用RE管理器把系统里面的framework-res.apk 与 SystemUI.apk 提取出来放在apktool文件夹里面

5 如果只是想反编译framework-res.apk

输入apktool if framework-res.apk(框架的建立)
6开始最重要的反编译,输入指令,apktool d framework-res.apk

(反编辑的APK一定要用没换过图片的,否则回编辑失败)
7最后反编译完成

修改代码完成后,输入代码:apktool d framework-res 即可完成回编译
8回编译后的新的 apk在framework/dis 文件夹里面
9如果反编译的是系统文件,比如,SystemUI.apk 那么必须进行挂载框架,反编译时,必须敲入一下命令:(然后再重复7-9步骤)
apktool if framework-res.apk
apktool if SystemUI.apk

10对于三星手机(比如9100、9108/9100G),如果反编译SystemUI.apk要敲入一下命令进行框架挂载apktool if framework-res.apk
apktool if twframework-res.apk
apktool if SystemUI.apk
11回编译的命令是 apktool b XXX (没有后面的apk后缀)反编译的命令是 apktool d xxx (有后面的apk)

⑶ 安卓apk文件如何反编译

安卓apk文件反编译:
一、反编译xml文件
1>
首先下载我给你们提供的文件夹apk_fanbianyi,把它放到某个盘的根目录下(为了方便输入dos命令),然后打开apktool文件夹,安装win+r键,然后输入cmd,进入dos命令行,大家别怕,不用晕,很简单的。
2>
然后在dos命令中首先输入文件夹所在盘符+“:”回车,接着再输入cd+apktool所在目录,切换dos工作空间到apktool文件夹下。
3>
接着输入
apktool.bat
d
【需反编译apk文件路径】
{【反编译文件反编译后的路径】},其中最后一部分可以省去,系统会默认把apk文件反编译到apktool目录下,例如输入
apktool.bat
d
d:/apk_fanbianyi/ttkp.apk,在apktool文件夹下就会生成一个ttpk的文件夹,所有的xml文件全部反编译成功。
二、反编译java文件
1>
首先解压需要反编译的apk文件,拷贝出里面的classes.dex文件到dex2jar文件夹(为了方便操作,省去dos命令输入路径的麻烦)
2>
把工作空间切换到dex2jar文件夹下,输入命令cd
d:/apk_fanbianyi/dex2jar回车
3>
输入命令dex2jar.bat
classes.dex回车,发现dex2jar文件夹下多了一个classes_dex2jar.jar文件,这是反编译成功的java文件
三、xml文件的打开
1>
打开apktool文件夹下的ttkp文件夹,任意找到一个xml文件,选中单击右键,选择notepad++打开(需下载),如果没有此软件,可以选择打开方式,选择记事本打开
四、java文件的打开
1>
dex2jar文件夹下的classes_dex2jar.jar拷贝到apktool文件夹的ttkp文件夹中,不能用notepad++打开,不然会乱码的
2>
启动apk_fanbianyi文件夹下的jd-gui.exe,然后点左上角file,选择open
file,找到classes_dex2jar.jar文件,可以发现有很多包,选择包下的任意一个java文件,打开不乱码了,是不是很神奇,哈哈,你学会了安卓apk文件反编译

⑷ Android的apkplug插件开发具体怎么编译生成插件 apk 文件

步骤1:注册ApkPlug官网账号:

打开Apkplug官网后,点击右上角的“注册”,在跳转页面填入相关信息,注册界面如下:

确认后注册成功,使用你的账号登录网站。你就可以用Apkplug开发应用了
END
步骤2:开发插件

Apkplug中的插件也是一个完整的apk,它与普通应用的区别有以下3点:
1, 插件assets目录下有一个plugin.xml文档,通过它可判断一个工程是主应用还是插件。
2, 插件有一个入口类BundleActivator
3, 插件会外部引用一个osgi.jar文件
开发插件的步骤有如下4步:
1,引入osgi.jar库文件
Apkplug中插件需要导入的库文件只有一个osgi.jar。
导入osgi.jar库文件需要注意一下
osgi.jar文件只能引用不能编译到apk文件中,否则会出现类冲突的情况
异常代码:had used a different Lorg/osgi/framework/BundleActivator; ring pre-verification。
osgi.jar包导入方法:

这文件在Apkplug SDK中可以找到。

2,编写插件入口类BundleActivator
插件启动时首先调用BundleActivator,其功能类似android中的application类。

public class SimpleBundle implements BundleActivator
{
private BundleContext mcontext = null;
public void start(BundleContext context) throws Exception
{
System.err.println("你好我是插件,我将为你展示启动acitivty我已经启动了 我的BundleId为:"+context.getBundle().getBundleId());
}
public void stop(BundleContext context)
{
System.err.println("你好我是插件,我被停止了 我的BundleId为:"+context.getBundle().getBundleId());

}

}
3,编写plugin.xml配置文件
plugin.xml
是一个配置表,它跟AndroidManifest.xml作用类似。 plugin.xml文档放置在assets中即可 重要属性说明:
Bundle-Name 插件名称 Bundle-SymbolicName 插件包名
-与应用packagename可一一对应 Bundle-Version 插件版本 -1.0.0
Bundle-Activator 插件入口 -与Appliction 类似
Bundle-Activity 插件界面 -多个Activity可用 , 分割
Bundle-Service 插件Service -多个Service可用 , 分割
(v2.0.0新增) Bundle-Receiver 插件广播 -多个广播类可用 , 分割
(v2.0.0新增)
4, 编译生成插件apk文件
插件工程中添加的文件目录结构如下:

最后编译运行插件工程,生成的apk文件即为插件文件
END
步骤3:开发主应用

Apkplug 主应用开发分两步集成:
1. 获取主应用授权AppAuth。
登录账号进入Apkplug后台后,切换到“应用授权页面”,按要求填写好应用信息,然后确定,你就拥有了一个等待开发的应用授权AppAuth。应用授权界面如下:

进入“授权列表”页面,点击“查看详情”链接,进入“应用详情界面”,就可以看到已申请的AppAuth,点击其后面的“复制”,即可直接复制AppAuth,如下图所示

2. 对接Apkplug SDK 导入相关库文件。
①配置应用权限
主应用需要几个基础的权限配置,请将以下的几个权限加入到主应用的AndroidManifest.xml中。
<!-- 插件平台需要的权限! -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE">
</uses-permission>

另外将一下加入到<application></application>节点中
<!-- 插件平台需要的配置! -->
<activity
android:name="org.apkplug.app.apkplugActivity"
android:theme="@style/android:Theme.Light"
android:configChanges="orientation|keyboardHidden"
/>
最后将我们从Apkplug管理后台申请到的AppAuth加入到配置文件中。

<meta-data android:name="apkplug-auth" android:value="xxxxxxxx" ></meta-data>
注:由于3.2.2节中我们直接复制了AppAuth,此处直接粘贴到AndroidManifest文档中。
如下图:

②导入SDK库文件
主应用需要导入两个文件,将其放入libs目录中即可。
1, libndkfoo.so
2, Bundle2.0.0.jar
如下图:

这两个库文件在Apkplug SDK中可以找到。
然后:
主应用启动Apkplug最简只需要一段代码即可,建议在Application中启动框架。

FrameworkInstance frame=FrameworkFactory.getInstance().start(List<BundleActivator>,Context);
将上一步骤开发好的插件apk,放置在主应用工程里的assets路径下。
如下图:

END
步骤4:启动主应用

最后启动主应用即可。简单的插件化apk的方法就讲完了,有兴趣的关注我,下次讲云端托管插件实现应用内更新。

⑸ 如何在eclipse中把Android工程编译为apk安装文件

1、生成keystore

按照下面的命令行在C:ProgramFilesJavajdk1.6.0_10in>目录下,输入

keytool -genkey -alias android.keystore -keyalg RSA -validity100000

-keystore android.keystore

参数意义:-validity主要是证书的有效期,写100000天;空格,退格键都算密码。

命令执行后会在C:ProgramFilesJavajdk1.6.0_10in>目录下生成android.keystore文件 。如图-1

"Destination APK file "指定APK存储的位置。单击"Finish"按钮,打包完成。

进入"D:My Document",会看到生成的HelloWorld.apk以及sharpandroid证书库。


⑹ apk软件是用什么语言编写和编译的如何开发滴

apk
APK是AndroidPackage的缩写,即Android安装包(anapk)。APK是类似Symbian
Sis或Sisx的文件格式。通过将APK文件直接传到Android模拟器或Android手机中执行即可安装。
apk文件和sis一样最终把android
sdk编译的工程打包成一个安装程序文件格式为apk。
APK文件其实是zip格式,但后缀名被修改为apk,通过UnZip解压后,可以看到Dex文件,Dex是Dalvik
VM
executes的全称,即Android
Dalvik执行程序,并非Java
ME的字节码而是Dalvik字节码。一个APK文件结构为:
META-INF
Jar文件中常可以看到
res
存放资源文件的目录
AndroidManifest.xml
程序全局配置文件
classes.dex
Dalvik字节码
resources.arsc
编译后的二进制资源文件总结下我们发现Android在运行一个程序时首先需要UnZip,然后类似Symbian那样直接,和Windows
Mobile中的PE文件有区别,这样做对于程序的保密性和可靠性不是很高,通过dexmp命令可以反编译,但这样做符合发展规律,微软的
Windows
Gadgets或者说WPF也采用了这种构架方式。在Android平台中dalvik
vm的执行文件被打包为apk格式,最终运行时加载器会解压然后获取编译后的androidmanifest.xml文件中的permission分支相关的安全访问,但仍然存在很多安全限制,如果你将apk文件传到/system/app文件夹下会发现执行是不受限制的。最终我们平时安装的文件可能不是这个文件夹,而在android
rom中系统的apk文件默认会放入这个文件夹,它们拥有着root权限。

⑺ 自己可以编译安卓源码

用最新的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源码的多仓库管理机制.下面,不妨自己动手尝试一下.

    ⑻ android 工程 如何一键编译打包成apk

    打包步骤:

    1、生成keystore

    按照下面的命令行在C:ProgramFilesJavajdk1.6.0_10in>目录下,输入keytool-genkey-aliasandroid.keystore-keyalgRSA-validity100000-keystoreandroid.keystore

    参数意义:-validity主要是证书的有效期,写100000天;空格,退格键都算密码。

    命令执行后会在C:ProgramFilesJavajdk1.6.0_10in>目录下生成android.keystore文件。如图-1

    图-2EclipseAndroid打包工具

    接下来的步骤就是不断的next。下面仅贴出图片,不解释。

    step2:选择打包的项目

    step3:选择生成的EclipseAndroid.keystore文件并输入密码

    step4:选择aliaskey并输入密码

    step5:最后选择生成androidapk文件的目录及文件名

    最终生成的apk文件。

    热点内容
    scratch少儿编程课程 发布:2025-04-16 17:11:44 浏览:626
    荣耀x10从哪里设置密码 发布:2025-04-16 17:11:43 浏览:356
    java从入门到精通视频 发布:2025-04-16 17:11:43 浏览:71
    php微信接口教程 发布:2025-04-16 17:07:30 浏览:296
    android实现阴影 发布:2025-04-16 16:50:08 浏览:787
    粉笔直播课缓存 发布:2025-04-16 16:31:21 浏览:337
    机顶盒都有什么配置 发布:2025-04-16 16:24:37 浏览:202
    编写手游反编译都需要学习什么 发布:2025-04-16 16:19:36 浏览:798
    proteus编译文件位置 发布:2025-04-16 16:18:44 浏览:355
    土压缩的本质 发布:2025-04-16 16:13:21 浏览:582