尽管常常和android打交道。但事实上我对android不是非常了解。

这里记录一下ant编译androidproject的过程,然后顺便记录一下android的一些基本概念。不求渡人,但求渡己。这里仅仅是记录一下自己实践的过程,參考博文连接点击这里

流程例如以下:

1>生成R.java文件。

(注:此文件为android资源的索引文件)

2>将java代码编译成class文件。

3>将jar包和class文件生成 class.dex 文件。

(注:class是java的二进制文件。 jar包是打包的class文件。能够直接用jar命令直接运行。dex是android上得可运行文件格式,注意apk仅仅是压缩包。安装后自己主动解压,最后运行的是dex 文件)

4>将assets文件和res文件打包压缩。(注:做cocos2d-x的应该对这个都比較熟悉,游戏用到的资源最后都通过build脚本打到assets文件中。这里的资源不会在R文件中检索到,res能够通过R文件检索到。

详细原因不清楚,毕竟都能够用java代码读取)。

5>将dex文件和资源文件打包成apk。

6>对apk进行签名。(mac下个人签名文件存放路径为:~/.android/debug.keystore)

编译须要用到一个叫build.xml,假设你的工程文件夹以下没有此文件,能够通过android update project --path .来生成。(注:${}取出{}内的路径)(注:aapt为Android Asset Packaging Tool,能够查看,创建,更新ZIP格式的文档附件。也能够将资源文件编译成二进制)(注:apkbuilder在android3.0后被废弃)(注:若mac终端执行ant出现乱码现象请到终端,设置。高级。字符编码处设置)。

直接执行ant debug可能会出现这种一个错误提示:sdk.dir is missing.Make sure generate local.properties using ... 。原因不清楚,明明已经生成local.properties,却提示找不到,可是能够手动传入,传入方式为 -Dsdk.dir={sdk路径}。这样做可能还会有问题。错误提示为:build.xml:601:The following
error occurred while executing this line。

你须要做的是关掉eclipse,执行ant clean, 然后又一次执行 ant debug

关于Android打版本号的小白文的更多相关文章

  1. Android 各个版本号WebView

    转载请注明出处   http://blog.csdn.net/typename/ powered by miechal zhao : miechalzhao@gmail.com 前言: 依据Googl ...

  2. 用android去写一个小程序

    前言: 软工的一个小作业:实现"黄金分割小游戏", 需要结对编程,队友:陈乐云    共用时两天. 早期思路设计: 采用键值对的形式,以Map作为存储结构.优点:能够将数据与用户对 ...

  3. 八款Android 开发者必备的小工具

    Photo from https://www.airpair.com 在做Android 开发过程中,会遇到一些小的问题,虽然自己动手也能解决,但是有了一些小工具,解决这些问题就得心应手了,今天就为大 ...

  4. android对应版本号

    android对应版本号 Platform Version API Level VERSION_CODE Notes Android 4.2 JELLY_BEAN_MR1 Platform Highl ...

  5. ANDROID PAD版本号 PHONE版本号 源代码有什么 差别?

    ANDROID PAD版本号 PHONE版本号 源代码有什么 差别? 直接把frameworks/base/core/res/res/values/config.xml里面的<bool name ...

  6. Android开发效率的小技巧

    提高eclipse使用效率(二) 提高Android开发效率的小技巧   XML文件的代码提示 adt中也有xml文件的代码提示,为了让提示来的更加猛烈,我们还要设置一下 打开eclipse - Wi ...

  7. Android SDK版本号 与 API Level 对应关系

    转自:https://blog.csdn.net/qiaoquan3/article/details/70185550 Android SDK版本号 与 API Level 对应关系   新接触And ...

  8. Android SDK版本号与API Level 的对应关系-转

    Android SDK版本号 与 API Level 对应关系 http://developer.android.com/guide/appendix/api-levels.html Android ...

  9. Android -BLE蓝牙小DEMO

    代码地址如下:http://www.demodashi.com/demo/13890.html 原文地址: https://blog.csdn.net/vnanyesheshou/article/de ...

随机推荐

  1. E-trunk和Eth-trunk 区别

    之前一直把E-trunk和Eth-trunk当作一回事,其实不然,简单说明一下. 同一设备链路聚合Eth-Trunk 一台交换机将这多个接口捆绑,形成一个Eth-Trunk接口,从而实现了增加带宽和提 ...

  2. XXXXX

    http://www.java-gaming.org/topics/laser-fx-opengl-libgdx/25402/view.html Libgdx游戏引擎之Dialog组件 http:// ...

  3. PHP 共享内存使用与信号控制

    共享内存 共享内存的使用主要是为了能够在同一台机器不同的进程中共享一些数据,比如在多个 php-fpm 进程中共享当前进程的使用情况.这种通信也称为进程间通信(Inter-Process Commun ...

  4. 安卓程序代写 网上程序代写[原]Call requires API level 8 (current min is 1)错误

    导入了一个程序 , 每次运行之后都会出现该错误 . 点击clean 错误就会消失 , 但是执行该错误的时候该错误就会重新出现 . 这个错误需要在AndroidManifest.xml配置文件中修改 u ...

  5. Q_UNUSED() 方法的使用

    Q_UNUSED() 没有实质性的作用,用来避免编译器警告 //比如说 int testFunc(int a, int b, int c, int d) { int e; return a+b+c; ...

  6. 自然语言交流系统 phxnet团队 创新实训 项目博客 (五)

    3DMax方面所涉及的专业知识:                       (1)一下的关于3DMax中对于人物的设计和操作均需要在对3DMax基础知识熟练掌握的情况下进行的. (2)骨骼架设:首先 ...

  7. php的几种算法(转载)

    <? //-------------------- // 基本数据结构算法 //-------------------- //二分查找(数组里查找某个元素) function bin_sch($ ...

  8. Mybatis系列(四):Mybatis缓存

    一.MyBatis缓存介绍 MyBatis 提供了一级缓存和二级缓存的支持        1. 一级缓存: 默认开启,基于PerpetualCache 的 HashMap本地缓存,其存储作用域为 Se ...

  9. Lua------------------unity关于lua的使用

    关于Lua在Unity 中的使用   对于手机游戏,如果可以在线更新以实现bug修复.新功能添加等等,其好处自不必多说. 通过C#的反射机制,也可以实现某种程度上的脚本级更新,具体可以参考 http: ...

  10. (转) s-video vs. composite video vs. component video 几种视频格式详细说明和比较

    之前对着几种视频格式认识不是很清晰,所以看数据手册的时候,看的也是稀里糊涂的. 因为项目中需要用到cvbs做视频输入,在元器件选型上,看到tw2867的数据手册上,有这么一句话: The TW2867 ...