Launcher2导入Eclipse

Android2018年6月13日 pm8:57发布6年前 (2018)更新 91es.com站长
43 0 0
目录


在分析源码中,除了使用Source Insight 这个强大的软件外,有些应用还是用编译器看源码是最好的,因此今天我们学习一下如何导入源码到Eclipse中。

这里主要是讲正确把Android 6.0 的Launcher2 导入Eclipse中并运行和安装应用。

工具: Eclipse,Luna Service Release 2 (4.4.2)

JDK:1.7

版本: Android 6.0 

第一步:找到相关的jar

你需要有编译过的源码,这个是前提,因为Launcher2 没有导入其他jar是不能单独执行的。

我们可以看看Launcher项目中Android.mk是怎么写的

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)

LOCAL_MODULE_TAGS := optional

LOCAL_STATIC_JAVA_LIBRARIES := android-common android-support-v13

LOCAL_SRC_FILES := $(call all-java-files-under, src) $(call all-renderscript-files-under, src)
LOCAL_SDK_VERSION := current

LOCAL_PACKAGE_NAME := Launcher2
LOCAL_CERTIFICATE := shared
LOCAL_PRIVILEGED_MODULE := true

LOCAL_OVERRIDES_PACKAGES := Home

LOCAL_PROGUARD_FLAG_FILES := proguard.flags

include $(BUILD_PACKAGE)

include $(call all-makefiles-under,$(LOCAL_PATH))

从上面可以看出,我们需要找到“android-common,android-support-v13 ”这两个jar包,因此只要我们找到这两个jar就成功了一半。

如果你有成功编译过Android源码,在out/目录中会有发现你所需要的jar,具体如下:

android-common: /out/target/common/obj/JAVA_LIBRARIES/android-common_intermediates/javalib.jar

ndroid-support-v13: /out/target/common/obj/JAVA_LIBRARIES/android-support-v13_intermediates/javalib.jar

第二步:导入Launcher2

先导入Launcher2代码带Eclipse中,一步一步来,有些信息千万别错过

1.选中Eclipse中的项目Launcher2右键,点击最下面的Proprieties,进入如下界面

Launcher2导入Eclipse

2. 更改Android 6.0 Project Build Target的版本

右键进入Proprieties进入,如上图的第一张,这次我们选择左边选项中的第二个(Android),就会进入 Project Build Target的版本选择页面

选择Target Name 中的Android 6.0 (API Level 23)

为啥要API Level 23,因为Launcher中部分代码使用API23的接口

3. 点击Eclipse中的顶部菜单栏 Project---> Clean 这一步很重要的。【重点】

PS: 如果代码中还是有错误提示,把鼠标放上去看看提示,根据提示执行对应操作。(我这主要提示jdk要求1,7,更换jdk后没有任何错误)

4. 为了让Eclipse运行并直接安装Launcher.apk。

我们需要先删除平板上的Android.apk,删除步骤如下:

进入system/app目录下,执行:rm -r Launcher2   (Launcher2是个目录)

再进入data/data目录下,执行: rm -r com.android.launcher

如果你不删除上的就直接运行安装,会提示安装错误,至于提示信息我就懒得附上了。

我们重新启动平板,开机后运行Eclipse中的Launcher2项目。

 历史上的今天

  1. 2024: 樊小纯:借我(0条评论)
  2. 2024: 郑愁予:归航曲(0条评论)
  3. 2024: 郑愁予:生命(0条评论)
  4. 2024: 洛夫:石榴树(0条评论)
  5. 2023: SQLite的limit用法(0条评论)
版权声明 1、 本站名称: 91易搜
2、 本站网址: 91es.com3xcn.com[备用域名]
3、 本站内容: 部分来源于网络,仅供站长学习和参考,若侵权请留言

暂无评论

暂无评论...

随机推荐

[摘]Android ANR日志分析指南

当你的项目越做越复杂,或者你的用户达到某个数量级的时候,你的代码不小心出现细小的问题,你会收到各种各样的bug,其中ANR的问题你一定不会陌生。本文将详细讲解ANR的类型、出现的原因、ANR案例详细分析、经典的案例。定义ANR(Application Not Responding) 应用程序无...

Ubuntu允许root用户远程登录简单介绍

前言本文是简单记录允许远程使用root登入Ubantu。Ubuntu 版本: 18.04好记性不如烂笔头正文为了能够远程控制,需要经过如下几个步骤:修改root密码安装ssh以启动ssh服务修改允许远程使用root登入修改root密码打开Terminal# 使用下面命令...

设计模式之观察者模式

观察者模式是使用频率最高的设计模式之一,它用于建立一种对象与对象之间的依赖关系,一个对象发生改变时将自动通知其他对象,其他对象将相应作出反应。观察者模式定义观察者模式(Observer Pattern):定义对象之间的一种一对多依赖关系,使得每当一个对象状态发生改变时,其相关依赖对象皆得到通知并...

米沃什:去森林的远足

树木那么巨大,你看不见树梢。 落下的太阳收拢玫瑰色的光芒 在每棵树上,就像在烛台上面, 小小的人儿走在下面的路上。 让我们扬起头,拉着手 这样就不会在纠结的草丛迷路。 夜晚开始在花朵上加上封条, 色彩连着色彩飘下天空。 那里,上面,一次盛宴。金罐, 倒进了阿斯彭铜器的红酒。 一辆空中的车...

[摘]android6.0运行时动态申请权限

从Android6.0以后,Android是不会主动获取需要权限,改为了需要提示用户手动获取,系统应用除外。1. 运行时获得权限:从androi 6.0开始,不再是安装应用时用户确定获得全部的权限.而是在使用软件过程中需要该权限时,弹出对话框让用户选择权限.不仅如此,用户选择权限后还可以关闭。...

[摘]System.exit(0)和System.exit(1)区别

原作者解释得很清晰明,因此摘抄于此。关于System.exit(status)System.exit(status)源码说明如下:System.java/** * Terminates the currently running Java Virtual Machine. The * ...