请问怎么编译安卓软件

请问怎么编译安卓软件,第1张

呵呵,你学过java吧,基本功就有了,安卓软件是用java来写的~不过我觉得安卓软件是不用编译的,因为里面的主程序是格式化的xml文件,在软件成形的过程中只是把一些文件打包起来就行了,你可以试下把安卓软件的后缀名改成zip,就可以看见源程序和文件了~然后呢,你要想做安卓软件的话,先搭建一个安卓的开发环境,用到的东西有Myeclipse这个软件(你应该知道的),然后到网上下载安卓开发的SDK即开发字典~有一本叫安卓开发案例的书,可以看下,另外网上有很多的视频教程~PS:我自己之前只写过一个安卓的HELLO,WORLD!,由于大一事情比较多就没有继续研究了,如果你有问题可以CALL我哦,我们一起学~

按照给定的字符集存储文件时,在文件的最开头的三个字节中就有可能存储着编码信息,所以,基本的原理就是只要读出文件前三个字节,判定这些字节的值,就可以得知其编码的格式。

其实,如果项目运行的平台就是中文 *** 作系统,

如果这些文本文件在项目内产生,即开发人员可以控制文本的编码格式,

只要判定两种常见的编码就可以了:GBK和UTF-8。

由于中文Windows默认的编码是GBK,所以一般只要判定UTF-8编码格式。

问题一:如何用eclipse编写安卓程序 方法/步骤

1

1)首先,下载android SDK介绍一种非常简单的方法,一并下载eclipse在百度中输入android SDK,进入搜索界面。选中第一条。

2)如果你已经有eclipse,你可以直接在eclipse中进行android SDK插件的安装。方法就是点击上面菜单里的help,选择install new software进行添加SDK。具体方法见经验如何在eclipse中添加android SDk。

2

进入下载界面后,选择适合自己电脑的SDK进行下载。这里下载的是android开发工具,非常的简单实用,不需要我么重新下载eclipse,在这个下载包中会自带一个eclipse FOR android的develop工具,我们直接在里面就可以进行android的开发。

3

下载完成后解压,解压后我们进入文件名为eclipse的文件夹中。点击eclipse应用程序,运行。运行如图,和我们常用的eclipse是不一样的因为这个是android的开发工具,只适用于开发android。里面有好的插件已经提供给我们,不需要再进行安装。

4

进入eclipse界面后,开始新建android项目。输入新建项目名,如果没有特殊要求,点击next一直至最后完成。开始的配置只是一个大体的框架的构建,这些我们可以以后进行修改,最总要的还是代码的编写。

5

所有配置都完成后就可以开始进行android的开发了。如图:

进行android开发的时候建议不要用拖拽控件的方式,建议直接编写代码。

END

java环境变量配置

1

这里顺便介绍一下java环境变量的配置。

1)首先打开环境变量的界面,添加一个JAVA_HOME的值。右击计算机属性,在左侧有高级设置,进入后就会看见环境变量选项了。

2)在系统变量中建立java_home,将你的java SDK所在的路径放在里面。

2

建立classpath。同样在系统变量中新建一个classpath,在下面输入;即可,不用输入其他的值。

3

运行cmd,测试。按win+R打开命令面板,输入cmd,进入后输入java -version然后回车,接着输入javac,回车,看结果是否与下图相同。

这里需要注意的是java -version的java后面是有空格的。

问题二:如何开发安卓第一个程序Hello World 1

打开eclipse集成sdk开发环境,点击菜单file――》new――》Android application新建安卓项目

2

输入工程名,项目名,还有包名,点击下一步。

3

信心勾选不要更改,点击下一步。

4

这个步骤是选择应用的启动图标,如果想改就改,不想改就点击下一步

5

选中blackActivity,点击下一步

6

输入activity的名称,main的名称,点击下一步。

7

项目创建好了,右键要启动的项目,run as 选中Android application启动项目

8

然后模拟器启动好之后,,helloworld就创建好了

问题三:如何自学 Android 编程 因为项目需要,8月中旬开始决定做安卓的程序,所以马上就开始学习安卓方面的开发知识,把最近的学习实践经历和大家分享分享。不要一开始就下载一大堆资料,视频,然后就不知道做什么了,要给自己定个目标,我要做什么?我怎么达到目标?

我不懂java,但是懂C#和C++,所以我没主张去单独学习java语言,如果你是个最最初的新手,没啥语言基础,那你必须先看看java语言,不要很详细看,因为学习Android中,你也是在学习java。

1 明确目标

没有目标的学习,会感觉到后面没什么成果,在1年前,我也打算学习android开发的,但是目的就是学习,到网上去下载很多学习的视频,然后把开发环境搭建起来,能把Helloworld运行起来,能打些log,Activity之间也能互相切换了,但是后面也就不了了之了,因为不知道学了要干什么。依葫芦画瓢的做了几个例子,因为里面的问题都是已经解决的,所以也没能深入的系统学习。

这次因为产品的需要,要做Android版本,要做的东西一开始就已经设计好了,见摇摇2选1安卓版本,刚开始也不知道里面有些什么技术难度,但是要做的目标已经明确了,而且也没有现成的,碰到问题就查资料,慢慢地解决,这样有的放矢,学习的效果非常好。既有现成的技术可以使用,又有些技术,需要查比较多的资料,这样记忆就比较深刻,所掌握的知识也比较系统。

接下来的一系列文章,我会把在开发摇摇2选1中遇到的问题,给大家详细讲讲,程序虽然小,但是五脏俱全,做Demo和做产品的要求完全不是一个级别,如果Android大牛感觉知识讲的比较浅,那可以绕道,毕竟我是从一个完全的新手开始的。

2 了解安卓开发中比较困难的地方

学习一个新平台,就要知道此平台开发要面临的困难有哪些,不要做到最后,这些问题没有考虑,那就比较糟糕了。在网上搜索了下,安卓开发困难总结如何:

1)安卓系统版本比较多,各版本之间的兼容性是个问题,此为系统碎片。

2)安卓设备千变万化,设备难以统一,每个产品都成为独立,分散的Android碎片。

3)分辨率五花八门。一个产品,可能需要多个界面排版,人工消耗比较大。

看到这张图,有没有头疼的感觉?

总结成一句话:Android的碎片化真是要来开发者的命。

3 搭建开发环境

巧妇难为无米之炊,开发环境肯定是第一件要做的事情,这类的文章已经很多了,我也不多说了,多说也就比较无聊了。感谢吴秦,也是博客园里的一员,他写的很详细了,见这里。

4 查看网友总结的一些经验。

不是什么都查看,开发中遇到什么问题,就去查看什么问题,这样你查到的知识,马上就能深入的实践,这样知识就巩固了。

1)首先当然要看Android的开发文档,里面其实大部分的知识都有了,还有就是SDK自带的Samples。

2)博客园里搜索“Android开发”,会出来一大把,很多网友都是很系统的讲解了。

3)eoe

android社区,里面有很多网友上传了现成的demo代码,里面很多都是模仿现在流行的产品的界面开发,很是不错。

5 掌握调试方法

个人一直认为,调试技巧是开发中最重要的技能,如果调试技能比较差,不知道如何查找问题,那不会是个好的程序员,其技能也不会高到哪里去。

Android做下来,感觉调试这块做的很不错了,这要感谢Eclipse

IDE做的比较不错,但是Android的界面排版部分,真的不敢恭维,Eclips>>

问题四:如何用c++写安卓手机软件? 这个你不容易,安卓是java写的,你学过C和C++想写安卓软件既需要学java语言,又需要学安卓手机的接口,相当于新学,不天天学两三年写不出什么东西的。建议写个win7能用的加壳程序,现在的壳基本上是以前系统上的,win7实用的不多。

问题五:怎样编写安卓手机程序???用什么软件编写 。 说具体点 。 楼主看一下这个教程,或许能帮到您。 panbaidu/703809

问题六:怎样将自己写的程序放到android手机里运行 你是用ECLIPSE开发的程序吧?

如果是的话可以先USB接上手机和电脑,手机打开调试模式然后直接在项目上右键 -伐> 运行方式 -- > android application 可以直接运行

APK文件的话在项目的BIN目录下面

问题七:安卓软件怎么写 写安卓程序的话有好多平台,常用的就是eclipse和myeclipse,我场做安卓开发都是用这两个平台。安装起来也方便,当然,如果您的水平高的话可以直接记事本写代码再编译。。。

问题八:安卓开发软件欢迎界面怎么做 显示一个加载的界面,增加一个延时任务。比如用handler,几秒后再执行跳转到主界面。

问题九:如何学习安卓软件开发 200分 你把android sdk中的开发文档下载到本地,然后eclipse中就有javadoc显示了,你就能在代码里看到每个库函数的用法了。书的话我建议买 精通Android2 ,或者 Android2高级编程 这两本书,讲解的细致,但是一定要结合sdk来看。国内的不要买。。。。(切身体会,千万别买)看完之后就可以自己动手做做项目了。对于java基础,我现在的感觉是 如果要深入学习android平台,java基础一定要好(里边包括各种java类库的用法,本地代码jni什么的)。但如果平时随便做做应用的话,会面向对象编程就完全可以了。

一个Androidmk file用来向编译系统描述你的源代码。具体来说:该文件是GNU Makefile的一小部分,会被编译系统解析一次或多次。你可以在每一个Androidmk file中定义一个或多个模块。每个模块属下列类型之一:

  1)APK程序,一般的Android程序,编译打包生成apk文件

  2)Java库,java类库,编译打包生成jar文件

  3)  C\C++应用程序,可执行的C\C++应用程序

  4)C\C++静态库,编译生成C\C++静态库,并打包成a文件

  5)C\C++共享库, 编译生成共享库(动态链接库),并打包成so, 有且只有共享库才能被安装/复制到您的应用软件(APK)包中。

(1)先看一个简单的例子:一个简单的"hello world",比如下面的文件:

sources/helloworld/helloworldc 

sources/helloworld/Androidmk

相应的Androidmk文件会像下面这样:

---------- cut here ------------------

--------- cut here ------------------

(2)在Android中生成本地程序或者库,这些程序和库与其所在路径没有任何关系,只和它们的Androidmk文件有关系。Androidmk和普通的Makefile有所不同,它具有统一的写法,主要包含一些系统公共的宏。在一个Androidmk中可以生成多个可执行程序、动态库和静态库。

A,编译C/C++应用程序的模板:

#Test Exe

     LOCAL_PATH := $(call my-dir)

     include $(CLEAR_VARS)

     LOCAL_SRC_FILES:= mainc

     LOCAL_MODULE:= test_exe

     #LOCAL_C_INCLUDES :=

     #LOCAL_STATIC_LIBRARIES :=

     #LOCAL_SHARED_LIBRARIES :=

     include $(BUILD_EXECUTABLE)

BUILD_EXECUTABLE表示以一个可执行程序的方式进行编译。补充说明:include $(BUILD_PACKAGE)则是编译出一个apk,include $(BUILD_STATIC_JAVA_LIBRARY)则是编译出jar包。

B,编译静态库的模板:

     #Test Static Lib

     LOCAL_PATH := $(call my-dir)

     include $(CLEAR_VARS)

     LOCAL_SRC_FILES:= /

               helloworldc

     LOCAL_MODULE:= libtest_static

     #LOCAL_C_INCLUDES :=

     #LOCAL_STATIC_LIBRARIES :=

     #LOCAL_SHARED_LIBRARIES :=

     include $(BUILD_STATIC_LIBRARY)

一般的和上面相似,BUILD_STATIC_LIBRARY表示编译一个静态库a文件。静态库不会复制到的APK包中,但是能够用于编译共享库。

C,编译动态库的模板:

     #Test Shared Lib

     LOCAL_PATH := $(call my-dir)

     include $(CLEAR_VARS)

     LOCAL_SRC_FILES:= /

               helloworldc

     LOCAL_MODULE:= libtest_shared

     TARGET_PRELINK_MODULES := false

     #LOCAL_C_INCLUDES :=

     #LOCAL_STATIC_LIBRARIES :=

     #LOCAL_SHARED_LIBRARIES :=

      include $(BUILD_SHARED_LIBRARY)

一般的和上面相似,BUILD_SHARED_LIBRARY表示编译一个动态库。

      以上三者的生成结果分别在如下,generic依具体target会变:

out/target/product/generic/obj/EXECUTABLE

out/target/product/generic/obj/STATIC_LIBRARY

out/target/product/generic/obj/SHARED_LIBRARY

    每个模块的目标文件夹分别为:

可执行程序:XXX_intermediates

静态库:      XXX_static_intermediates

动态库:      XXX_shared_intermediates

(3)另外,在Androidmk文件中,还可以指定最后的目标安装路径,用LOCAL_MODULE_PATH和LOCAL_UNSTRIPPED_PATH来指定。不同的文件系统路径用以下的宏进行选择:

TARGET_ROOT_OUT:表示根文件系统out/target/product/xxxxx/root。

TARGET_OUT:表示system文件系统out/target/product/xxxx/system。

TARGET_OUT_DATA:表示data文件系统out/target/product/xxxx/data。

TARGET_OUT_SHARED_LIBRARIES:表示out/target/product/xxxx/system/lib

TARGET_OUT_APPS:表示out/target/product/xxxx/system/app

ANDROID_PRODUCT_OUT:out/target/product/xxxx/

TARGET_OUT_JAVA_LIBRARIES:out/target/product/xxxx/system/framework

(4)Androidmk中的宏定义控制

比如一个文件夹的Androidmk如下

在对应的项目mk中配置TARGET_BOARD_PLATFORM_GPU := mali400,或者其它值,就可以起开关作用

(5)Androidmk中运行shell命令

取一个片段,如下:

普通的mk一样

=====================================m、mm、mmm编译命令===========================================

android源码目录下的build/envsetupsh文件,描述编译的命令

- m:       Makes from the top of the tree 

- mm:      Builds all of the modules in the current directory 

- mmm:     Builds all of the modules in the supplied directories 

所以要想使用这些命令,首先需要在android源码根目录执行build/envsetupsh 脚本设置环境。

m:编译所有的模块 

mm:编译当前目录下的模块,当前目录下要有Androidmk文件 

mmm:编译指定路径下的模块,指定路径下要有Androidmk文件 

下面举个例子说明,假设我要编译android下的\hardware\libhardware_legacy\power模块,当前目录为源码根目录,方法如下: 

1、 build/envsetupsh 

2、mmm hardware/libhardware_legacy/power/ 

或者 : 

1、 build/envsetupsh 

2、cd hardware/libhardware_legacy/power/ 

3、mm 

m没有试过。默认上述两个编译命令,只编译发生变化的文件。如果要编译模块的所有文件,需要-b选项,例如mm  -b或者mmm -b

    make命令,也可以用来编译。如果是include $(BUILD_PACKAGE),用make LOCAL_PACKAGE_NAME值;如果是include $(BUILD_EXECUTABLE)或者include $(BUILD_JAVA_LIBRARY),用make LOCAL_MODULE值(未验证)。

以上就是关于请问怎么编译安卓软件全部的内容,包括:请问怎么编译安卓软件、如何把应用程序编译进android系统、如何编写安卓软件等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9870126.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存