当前位置:首页 » 编程软件 » app原生编译打包

app原生编译打包

发布时间: 2023-03-11 02:30:29

⑴ Android App打包是怎么回事

Android App打包指的是将APP源码压缩成一个apk包的过程,具体步骤如下。

工具:eclipse

  1. 在eclipse中,工程上“右键”->导出。

  2. 让选择需要打包的工程,直接“Next”,到keystone页面


  3. 根据自己的情况填写,点击“Next”,生成keystore,到下一页面:

  4. 选择APK文件生成的位置,点击Finish,完成,把apk文件安装到手机上运行看是否正常运行。至此,全部结束!

⑵ android app 打包流程

App 打包

aapt是android中的资源打包工具,打包资源就用它。

打包大致流程:

aapt把resources目录下的资源生成R.java文件,并为AndroidManifest.xml生成Manifest.java类。

aidl把项目中自定义的aidl文件生成对应的java类。

JavaCompiler把所有的Java源文件编译成class文件,包括:aapt生成的、aidl生成的、项目中自有的java源文件

使用proguard混淆,并生成一个proguardMapping.xml文件(可选项:可以混淆也可以不混淆)

使用dex工具把所有的class文件生成.dex文件

使用aapt资源打包工具把resources、assets目录下的资源打包成一个_ap文件

使用apkbuilder把所有的dex、_ap文件、AndroidManifest.xml文件打包成一个未签名的apk

使用jarsinger生成一个签名过的apk包

使用zipalign工具对要发布的apk文件进行对齐操作,以便在运行时节约内存。

⑶ 如何将android原生应用改成ant方式编译

android 程序打包成apk,如果在是命令行方式,一般都要经过如下步骤:
1.用aapt命令生成R.java文件
2.用aidl命令生成相应java文件
3.用javac命令编译java源文件生成class文件
4.用dx.bat将class文件转换成classes.dex文件
5.用aapt命令生成资源包文件resources.ap_
6.用apkbuilder.bat打包资源和classes.dex文件,生成unsigned.apk
7.用jarsinger命令对apk认证,生成signed.apk

eclipase手动打包生成apk方式,只不过是eclipase代替我们执行了以上命令而已。

eclipse用起来虽然方便,为什么要使用Ant批量打包Android应用,对于我来说主要有以下两方面考虑:
1、我们在发布App的时候,可能需要发送到十几,甚至几十个不同的分发渠道,比如360手机市场,网络,应用宝等等,我们可能需要对各个渠道的下载量,用户存留和用户使用情况等数据进行分析,比如使用网络移动统计,友盟统计等。为了实现统计功能,我们需要在配置文件中添加一个数据元,来标识我们的应用要发布到哪一个渠道上,因此,若使用传统的方法,我们每发布一个渠道的版本,就需要修改清单文件中的数据元,然后再使用keystore进行签名和打包。若只有一两个分发渠道,工作量还是可以接受的,但是若我们的分发渠道打到几十个的时候,我们如果再手动的进行修改然后签名打包发布,那工作量就很可观了。因此,为解决这种需求,我们采用Ant来实现对Android应用的自动打包。
2、我们做产品的时候,肯定需要经常打不同环境的包,比如开发环境,测试环境,生产环境,这个时候你怎么办,如果用传统方法,你打开发环境包你要把你的服务端IP和图片服务器IP改成开发的,打包,然后打测试的包,你又要改成测试服务器IP和图片服务器IP,这样多麻烦,如果你把这服务端IP和图片服务器IP,配置到一个xml文件里,用ant打包方式实现自动替换,多方便。

⑷ 编译好的APK怎么打包进Android镜像

有一些apk 文件比较重要的,想直接打包到系统中,开机就能使用。网上网络了一下,只有说如何把apk文件打包到system.img 里面,应该也是类似的。试试参考是否行。
把第三方或自己开发的apk文件编译到系统文件(system.img)中的方法:
1 (1)源码编译后,把apk拷贝到out\target\proct\generic\system\app中。
(2) 执行命令make snod , 把添加的spk编到system.img 中
缺点:执行make clean 后,再次make 完毕需要重新执行上面操作。
2 "方法一"的改进。
(1) 新建一个文件夹目录,用来存放apk文件
mkdir packages/apps/Prebuilt_apps
cd packages/apps/Prebuilt_apps
在Prebuilt_apps中新建make文件
vi Android.mk
并写入
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_POST_PROCESS_COMMAND := $(shell cp -r $(LOCAL_PATH)/*.apk $(TARGET_OUT)/app/)
保存退出。
(2) 把需要编译的apk拷贝到目录Prebuilt_apps下,执行make ,Prebuilt_apps中的apk就会考被到out\target\proct\generic\system\app中。
(3) 执行make snod 。完成。
此方法执行make clean 后,再次make 完毕,只需要make snod即可(有时make后,out\target\proct\generic\system\app没有需要添加的apk,此时再make一次即可,速度很快)。
-----------------------
感谢11楼提供的关于编译成功但无法运行问题的解决方法。
解压apk,如其中lib(.so)文件,把 .so文件到system\lib下,再编译。
本人在模拟器上直接加入angrybird.apk(愤怒的小鸟)编译,编译后无法运行。把libangrybirds.so拷贝到system\lib下,再编译后就可以运行

热点内容
java返回this 发布:2025-10-20 08:28:16 浏览:741
制作脚本网站 发布:2025-10-20 08:17:34 浏览:1005
python中的init方法 发布:2025-10-20 08:17:33 浏览:712
图案密码什么意思 发布:2025-10-20 08:16:56 浏览:874
怎么清理微信视频缓存 发布:2025-10-20 08:12:37 浏览:773
c语言编译器怎么看执行过程 发布:2025-10-20 08:00:32 浏览:1120
邮箱如何填写发信服务器 发布:2025-10-20 07:45:27 浏览:346
shell脚本入门案例 发布:2025-10-20 07:44:45 浏览:224
怎么上传照片浏览上传 发布:2025-10-20 07:44:03 浏览:910
python股票数据获取 发布:2025-10-20 07:39:44 浏览:869