JAVA安卓APP源代码 androidapp源码

一个App系统的全套源代码包括那些?本人觉得
一个完整的java源程序应该包括下列部分:
package语句; //该部分至多只有一句 , 必须放在源程序的第一句
import语句; /*该部分可以有若干import语句或者没有 , 必须放在所有的类定义之前*/
public classDefinition; //公共类定义部分,至多只有一个公共类的定义//java语言规定该java源程序的文件名必须与该公共类名完全一致classDefinition; //类定义部分,可以有0个或者多个类定义
interfaceDefinition; //接口定义部分,可以有0个或者多个接口定义例如一个java源程序可以是如下结构,该源程序命名为HelloWorldApp.java:package javawork.helloworld; /*把编译生成的所有.class文件放到包javawork.helloworld中*/import java.awt.*;//告诉编译器本程序中用到系统的AWT包import javawork.newcentury; /*告诉编译器本程序中用到用户自定义的包javawork.newcentury*/
public class HelloWorldApp{......} /*公共类HelloWorldApp的定义,名字与文件名相同*/class TheFirstClass{......} //第一个普通类TheFirstClass的定义class TheSecondClass{......} //第二个普通类TheSecondClass的定义...... //其它普通类的定义interface TheFirstInterface{......} /*第一个接口
TheFirstInterface的定义*/...... //其它接口定义
怎么查看安卓的源代码?或者安卓应用软件的源代码?Android代码就是java代码,如果你只需要看代码不需要运行JAVA安卓APP源代码的话,在src目录JAVA安卓APP源代码的子目录下面找到*.java文件,然后用记事本打开即可,资源文件在res目录下.如果是要运行Andorid代码JAVA安卓APP源代码的话,就需要下载Eclipse以及Android的SDK和ADT插件JAVA安卓APP源代码了.
Android源码开发记录-自定义系统服务和jar包生成创建文件 IMyApiService
文件路径 frameworks/base/core/java/android/os/
定义了一个计算和的方法 。
在frameworks/base/Android.mk
LOCAL_SRC_FILES最后加入
创建文件 MyApiService.java
文件路径 frameworks/base/core/java/com/android/server/
实现aidl的接口,计算参数和 。
(1)Context添加服务名
文件路径 frameworks/base/core/java/android/content/Context.java
添加
(2)添加启动服务
文件路径 frameworks/base/services/java/com/android/server/SystemServer.java
在startOtherServices方法中添加
创建 MyApiManager.java文件
文件路径 frameworks/base/core/java/android/app/
文件路径 frameworks/base/core/java/android/app/ContextImpl
添加registerService
记住make update-api
编译打包完成后,烧写新的固件 。
jar主要为了在android studio编译环境中MyApiManager报错导致编译不通过问题 。
也可以导入frameworks jar包或使用反射 。
在源码目录packages/app下新建MyJar文件夹
并新建目录com/myapi/(包名)
在目录com/myapi/新建文件MyApi.java
具体Android.mk语法这里不做解释,可以自行查阅
在MyApi目录下直接运行mm编译命令(记得先source build/envsetup.sh)
待编译完成后,jar生成目录
out/target/common/obj/JAVA_LIBRARIES/Myapi_intermediates/javalib.jar
可更改为其他名称 。
APP的源代码是什么意思?(安卓的)开源(Open Source,开放源码)被非盈利软件组织(美国的Open Source Initiative协会)注册为认证标记 , 并对其进行了正式的定义,用于描述那些源码可以被公众使用的软件,并且此软件的使用、修改和发行也不受许可证的限制 。
安卓的开源就是开放源代码,安卓2.x的内核是Linux2.6.方便软件商开发,多数软件可以免费,手机商不用买系统版权,降低成本和零售价.这些都是对用户直接或间接的好处.
怎样查看 Android APP源代码?将apk文件拷贝至sdcard上 。
命令顺序如下:
进入Android sdk文件夹/tools目录下
输入adb shell
输入su
输入cd data
输入cd app
这时就可以看到你安装的所有的apk文件 。输入cp 空格 对应的apk 空格 /sdcard/
这样就将apk文件拷贝出来了 。
将apk文件后缀直接变成rar格式,可以看到熟悉的目录结构了,
其中xml文件打开后都是二进制的,无法查看 。
这时就用到了一个android4me的AXMLPrinter2工具 。(请自行百度搜索)
输入以下命令 , 将xml文件解析出来
java -jar AXMLPrinter2.jar showtimes_list.xml
此命令是在命令行中查看此showtimes_list.xml
将showtimes_list.xml生成xml文件,则输入以下命令:
java -jar AXMLPrinter2.jar showtimes_list.xmlh.xml
目前进行到这一步,只能看到xml文件的内容 , 其工程中的java源文件还是看不到,看目录结构下有一个classes.dex文件,我们需要将dex文件变为jar文件 。
这里用到了另一个工具dex2jar 。(自行搜索下载)
在Windows下解压之后的目录如下图所示:
在命令行中,进入到此目录下:
在Windows下 , 输入以下命令:
dex2jar.bat c:\classes.dex
运行完之后,在C盘会多一个classes.dex.dex2jar.jar文件,此文件就是我们需要的jar文件 。
利用jd-gui,将jar文件反向工程为java代码 。(请自行搜索下载)
它分为Windows、Linux、和max三个版本,这里我下载的是Windows版本的 。
解压之后,双击运行exe文件,选择classes.dex.dex2jar.jar文件,相应的jar文件中的Java文件就被反向工程显示出来了!
Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发 。尚未有统一中文名称,中国大陆地区较多人使用“安卓”或“安致” 。Android操作系统最初由Andy Rubin开发,主要支持手机 。2005年8月由Google收购注资 。2007年11月,Google与84家硬件制造商、软件开发商及电信营运商组建开放手机联盟共同研发改良Android系统 。随后Google以Apache开源许可证的授权方式,发布了Android的源代码 。第一部Android智能手机发布于2008年10月 。Android逐渐扩展到平板电脑及其他领域上 , 如电视、数码相机、游戏机等 。2011年第一季度,Android在全球的市场份额首次超过塞班系统,跃居全球第一 。2013年的第四季度,Android平台手机的全球市场份额已经达到78.1% 。[1]2013年09月24日谷歌开发的操作系统Android在迎来了5岁生日,全世界采用这款系统的设备数量已经达到10亿台 。
Android一词最早出现于法国作家利尔亚当(Auguste Villiers de l'Isle-Adam)在1886年发表的科幻小说《未来夏娃》(L'ève future)中 。他将外表像人的机器起名为Android 。
Android的Logo是由Ascender公司设计的 , 诞生于2010年 , 其设计灵感源于男女厕所门上的图形符号 , [1]于是布洛克绘制了一个简单的机器人,它的躯干就像锡罐的形状,头上还有两根天线,Android小机器人便诞生了 。其中的文字使用了Ascender公司专门制作的称之为“Droid ” 的字体 。Android是一个全身绿色的机器人 , 绿色也是Android的标志 。颜色采用了PMS 376C和RGB中十六进制的#A4C639来绘制,这是Android操作系统的品牌象徵 。有时候,它们还会使用纯文字的Logo 。
java相关,老师给了一个安卓app的源码,要求改一改来降低电池消耗,给了4条具体要求 , 看不太懂分析1 建议使用包
指JAVA安卓APP源代码的就是通过对class类规范化JAVA安卓APP源代码的放到指定包中JAVA安卓APP源代码,保证程序代码运行过程中引入其JAVA安卓APP源代码他类的包时 , 减少不必要的类引入,例如:
import com.b.B;
class A{

如果引入的com.b包中内容只定义业务class类A需要的代码类B,那么减少A运行时lvm的负担 。
而且代码更家好管理 , 清晰 (其他好处思考ing~)
如果都把A,B,C 。。。等class放在一起,那么运行A时相当于同一包下内容 , 都会加载(思考是否解释合理ing)
典型的就是我们使用import java.util.Date; 如果仅仅使用date日期类时最好单独引用,不要都java.util.*,这样相当于把整个包里面class都引入的,肯定性能不给力了~
2 避免私有类的使用,否则私有类如果太多,造成jvm加载太多利用率不高的class,造成jvm消耗
3 避免使用getter和setter方法,这是由于如果getter setter太多时,jvm中栈的运用可能会多,因为getter setter传递参数值是在栈中的,而栈的空间很小的,虽然栈的运行最快 , 但是如果占用太多,造成影响的
4 建议使用static final 关键字来定义常量,这是由于常量对象
(比如String DIAN_HUA="DIAN_HUA")如果频繁的通过类对象new出来调用 , 会消耗jvm的堆内存,这样的消耗是没有必要的,定义为静态变量:
类静态变量在内存中只有一个,java虚拟机在加载类的过程中为静态变量分配内存,静态变量位于方法区,被类的所有实例共享,静态变量可以通过类名直接访问 。静态变量的生命周期取决于类的生命周期,当类被加载的时候,静态变量被创建并分配内存空间,当类被卸载时,静态变量被摧毁,并释放所占有的内存 。
还有定义为final类型,因为静态常量一般是在程序运行中不变化的 , 因此用final防止不小心把常量改变,造成程序运行异常,降低程序app的消耗 。
一家之言,个人理解,轻点拍砖~
【JAVA安卓APP源代码 androidapp源码】JAVA安卓APP源代码的介绍就聊到这里吧 , 感谢你花时间阅读本站内容,更多关于androidapp源码、JAVA安卓APP源代码的信息别忘了在本站进行查找喔 。

    推荐阅读