Android简单修改原有应用和添加应用的方法

本文实例讲述了Android简单修改原有应用和添加应用的方法。分享给大家供大家参考,具体如下:

第一部分:如何修改原有的Android应用

1. 首先新建一个Android工程,加载自己的Java文件和资源文件。

2. 在自己的android工程初步调试成功以后,把该工程的java文件和资源文件复制到联系人对应的java文件和资源文件目录。

3. 在linux下执行以下命令,编译人联系人模块,把资源文件编译到联系人目录中

. build/envsetup.sh
mmm packages/apps/Contacts

4. 刷新android源码工程,这个时候你就可以在Contacts包目录下看到你新加的资源文件和源文件了,并可以在源码工程下修改代码并直接调试了。

5. 在源码工程被修改后,就可在linux下再次执行联系人编译命令, make snod加载system.img文件,并启动模拟器(emulator &),这样就可以看到你的修改了。

问题: 为什么我们要把需要的xml资源文件先在linux下编译?

答:因为我们的android源码工程是以java工程导入的,如果添加android的xml文件的话,java程序无法识别资源R文件,所以我们必须先把需要的xml资源文件先在linux下编译。

第二部分:如何添加一个新的Android应用

1. 先确认SDK目录与系统版本相同,再在SDK目录下开发自己的android应用。

2. 在源码的packages/apps/目录下创建一个android工程。

3. 在工程目录下添加一个Android.mk文件,修改LOCAL_PACKAGE_NAME 把工程名指定为自己命令工程名,如我的工程名为test,则LOCAL_PACKAGE_NAME:=test。

LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := user
LOCAL_SRC_FILES := $(callall-java-files-under, src)
LOCAL_STATIC_JAVA_LIBRARIES :=googlelogin-client
LOCAL_PACKAGE_NAME :=test
LOCAL_CERTIFICATE := shared
include $(BUILD_PACKAGE)
# Use the folloing include to make our testapk.
include $(callall-makefiles-under,$(LOCAL_PATH))

4. 先返回源码目录,然后执行 .build/envsetup.sh (注意sh后的空格)

5. 执行mmmpackages/apps/test001 并编译test001.apk包

6. 执行make snod 并编译system.img包,然后执行emulator &

这样就可以在应用程序下看到自己编译的工程了。

更多关于Android相关内容感兴趣的读者可查看本站专题:《Android开发入门与进阶教程》、《Android视图View技巧总结》、《Android编程之activity操作技巧总结》、《Android操作SQLite数据库技巧总结》、《Android操作json格式数据技巧总结》、《Android数据库操作技巧总结》、《Android文件操作技巧汇总》、《Android编程开发之SD卡操作方法汇总》、《Android资源操作技巧汇总》及《Android控件用法总结》

希望本文所述对大家Android程序设计有所帮助。

(0)

相关推荐

  • android 复制 粘贴 剪切功能应用

    网上有很多复制粘贴的文章,只是放到自己的程序中不知道如何处理,现在寻得一可行方法如下: Android的剪切板(ClipboardManager) 注意:导包的时候 API 11之前: android.text.ClipboardManager API 11之后: android.content.ClipboardManager 复制代码 代码如下: /** * 实现文本复制功能 * @param content */ public static void copy(String content

  • 怎么发布打包并发布自己的Android应用(APP)

    第一步,在Eclipse中选择需要打包的项目,然后右键--选择Export,会弹出一个打包的提示框,如下图所示. 按Next之后,会继续出现一个提示框,这里你可以选择自己需要打包的项目(默认是刚才选中的)如下图: 按Next之后,会弹出一个关于"Keystore"的提示,选择"Create new Keystore",并浏览.选择签名文件要保存的路径, (关于Keystore的原理.作用等这里暂时不细说,请大家发布前务必保存好该签名文件,非常重要的.) 如下图所示:

  • Android 不同Activity间数据的传递 Bundle对象的应用

    在应用中,可能会在当跳转到另外一个Activity的时候需要传递数据过去,这时就可能用Bundle对象: 在MainActivity中,有一个导航至BActivity的Intent, Intent 复制代码 代码如下: { Intent intent = new Intent(Context context, Class<?> class); //new一个Bundle对象,并将要传递的数据导入,Bunde相当于Map<Key,Value>结构    Bundle bundle =

  • Android 第三方应用接入微信平台研究情况分享(一)

    微信平台开放后倒是挺火的,许多第三方应用都想试下接入微信这个平台,毕竟可以利用微信建立起来的关系链来拓展自己的应用还是挺不错的,可以节约很多在社交方面的开销,我最近由于实习需要也在研究这个东西,不过发现网上的相关资料还是挺少的,这里把我的整个研究情况给出来,希望可以共同学习. 一.微信SDK中会用到主要类的类图 上面这张类图中显示的是与微信通信过程中的请求类和响应类,第三方应用通过他们 附带的message字段来携带消息传输给微信进程.其中BaseResp有个内部类是ErrCode, 它里面定义

  • Android 动画之AlphaAnimation应用详解

    android中提供了4中动画: AlphaAnimation 透明度动画效果 ScaleAnimation 缩放动画效果 TranslateAnimation 位移动画效果 RotateAnimation 旋转动画效果 本节讲解AlphaAnimation 动画,窗口的动画效果,淡入淡出什么的,有些游戏的欢迎动画,logo的淡入淡出效果就使用AlphaAnimation. 直接看代码: 复制代码 代码如下: public class MainActivity extends Activity

  • AndroidHttpClient使用Cookie应用分析

    今天想把一个用使用了HttpClient的自动签到小程序移植到Android上,还好Android的SDK自带了HttpClient的包.翻Android的文档时发现官方还提供了一个实现了HttpClient接口的AndroidHttpClient,上网搜了下没发现关于AndroidHttpClient的文章.当然也可以继续使用DefaultHttpClient,但用为Android定制的AndroidHttpClient自然更好. 下面是2个测试用的HttpServlet: 复制代码 代码如下

  • Android 动画之ScaleAnimation应用详解

    android中提供了4中动画: AlphaAnimation 透明度动画效果 ScaleAnimation 缩放动画效果 TranslateAnimation 位移动画效果 RotateAnimation 旋转动画效果 本节讲解ScaleAnimation 动画, ScaleAnimation(float fromX, float toX, float fromY, float toY,int pivotXType, float pivotXValue, int pivotYType, flo

  • Android判断当前应用程序处于前台还是后台的两种方法

    1.通过RunningTaskInfo类判断(需要额外权限): 复制代码 代码如下: /**     *判断当前应用程序处于前台还是后台     */    public static boolean isApplicationBroughtToBackground(final Context context) {        ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SER

  • Android应用开发SharedPreferences存储数据的使用方法

    SharedPreferences是Android中最容易理解的数据存储技术,实际上SharedPreferences处理的就是一个key-value(键值对).SharedPreferences常用来存储一些轻量级的数据. 复制代码 代码如下: //实例化SharedPreferences对象(第一步) SharedPreferences mySharedPreferences= getSharedPreferences("test", Activity.MODE_PRIVATE);

  • Android 第三方应用接入微信平台研究情况分享(二)

    微信平台开放后倒是挺火的,许多第三方应用都想试下,毕竟可以利用微信建立起来的关系链来拓展自己的应用还是挺不错的,可以节约很多在社交方面的开销,我最近由于实习需要也在研究这个东西,不过发现网上的相关资料还是挺少的,这里把我的整个研究情况给出来,希望可以共同学习. 第三方应用接入微信平台(1) 二.第三方应用与微信通信的时序图 2.接收微信的请求信息 前面四步和之前的"1.向微信发送消息"是一样的,不需要重复执行,这里给出来只是为了 流程的整体性.当我们注册后,应用图标会出现在微信聊天的列

  • Android 动画之TranslateAnimation应用详解

    android中提供了4中动画: AlphaAnimation 透明度动画效果 ScaleAnimation 缩放动画效果 TranslateAnimation 位移动画效果 RotateAnimation 旋转动画效果 本节讲解TranslateAnimation动画,TranslateAnimation比较常用,比如QQ,网易新闻菜单条的动画,就可以用TranslateAnimation实现, 通过TranslateAnimation(float fromXDelta, float toXD

  • Android 动画之RotateAnimation应用详解

    android中提供了4中动画: AlphaAnimation 透明度动画效果 ScaleAnimation 缩放动画效果 TranslateAnimation 位移动画效果 RotateAnimation 旋转动画效果 本节讲解RotateAnimation 动画, RotateAnimation (float fromDegrees, float toDegrees, int pivotXType, float pivotXValue, int pivotYType, float pivot

随机推荐