在分析源码中,除了使用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,进入如下界面
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项目。