把android.jar 和 android-support-v4.jar源文件引入工程

本文介绍如何在Android开发中查看和调试源代码,包括为android.jar附加源码及查看android-support-v4.jar源码的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原文;http://blog.youkuaiyun.com/dfqin/article/details/8104412

做Android开发时,有时避免不了要查看源码,为了确定问题所在,经常需要跟踪调试代码到源代码,这就需要你把源代码引入工程。

如果想查看Activity.java代码,默认会看到如下页面:


一、如果想查看到android.jar的源文件,有两种方法:

1是直接为android.jar附加源代码。可以点上面的“Attach Source..."按钮,指向android sdk中的源码文件(android-sdk/sources/android-v14..),如果SDK中没有源文件,可以通过eclipse中的Android SDK Manager下载。也可以在工程中找到android.jar文件,右键选择属性,为它指定源码文件位置,这种方法可以让你调试时,方便地跟踪到源代码。

2是直接把源码拉到工程内,或者为源码创建一个单独的工程,在自己的项目中引入。这个方法有点麻烦,而且会影响初次编译时间。但这种方法可以直接修改源代码,对特定情况的调试还是很有帮助的。

下面是引入源码后的截图:



二、查看android-support-v4.jar源码

想使用一些新的系统功能却又得支持低版本手机,就免不了要用到android-support-v4.jar,但是无法为这个jar包指定源文件路径,有人说是android插件的bug,具体原因已经不重要,我们只需要新建个android-support-v4的工程,能够正常查看调试源码就足够了。

1.新建一个android工程,名字为android-support-v4,当然这个不是必须的,你可以随便命名。

2.你链接源码也行,拷贝过来也可以,我是把源码拷贝到这个工程下的。找到android-sdk/extras/android/support/v4/src/java/(如果没有此目录,使用android sdk manager下载),把下面的android文件夹拷贝到你第1步创建的工程中的src目录下,直接编译。

3.右键你的应用工程,选择属性如下图,左侧列表选择Android,在右侧下面,点击"添加“按钮,选择你第1步创建的工程。然后编译。

此时,就可以在你的工程中直接查看和修改android-support-v4的代码了。

4.也可以再次打包,把源码打进去,方便以后使用(对android-support-v4工程右键-》导出-》JAR)。这个是我打包好的(http://download.youkuaiyun.com/detail/dfqin/4679572)


LOCAL_PATH:= $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE_TAGS := optional LOCAL_SRC_FILES := $(call all-java-files-under, src) LOCAL_AIDL_INCLUDES := $(LOCAL_PATH)/src/aidl LOCAL_AIDL_FILES := $(call all-aidl-files-under, $(LOCAL_PATH)/src/aidl) LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res LOCAL_PACKAGE_NAME := FactoryMode LOCAL_PRIVATE_PLATFORM_APIS := false LOCAL_PRIVILEGED_MODULE := true LOCAL_CERTIFICATE := platform LOCAL_USE_AAPT2 := true LOCAL_PROGUARD_ENABLED := disabled LOCAL_DEX_PREOPT := false LOCAL_STATIC_ANDROID_LIBRARIES += \ android-support-constraint-layout \ android-support-compat \ android-support-v4 \ android-support-v13 \ android-support-v7-appcompat \ android-support-v7-cardview \ android-support-v7-preference \ android-support-v14-preference \ androidx.recyclerview_recyclerview \ LOCAL_STATIC_JAVA_LIBRARIES += upgradeProxy \ zxing \ someip \ clusterKit \ wayto-annotation \ wayto-base \ mshi \ jwriter \ okio-jvm \ kotlin \ sshd-sftp \ sshd-core \ sshd-common \ slf4j-simple \ slf4j-api \ testsftp-client \ gson-jar \ lifecycle-jar \ LOCAL_JAVA_LIBRARIES += android.car #LOCAL_JNI_SHARED_LIBRARIES := jni include $(BUILD_PACKAGE) include $(CLEAR_VARS) LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES += upgradeProxy:libs/upgradeProxy.jar \ zxing:libs/zxing.jar \ someip:libs/someip.jar \ clusterKit:libs/ClusterKit-debug.aar \ wayto-annotation:libs/wayto-annotation.jar \ wayto-base:libs/wayto-base-debug.aar \ mshi:libs/moshi-1.15.0.jar \ jwriter:libs/javawriter-2.1.1.jar \ moshi:libs/moshi-1.15.0.jar \ okio-jvm:libs/okio-jvm-2.10.0.jar \ kotlin:libs/kotlin-stdlib-1.9.24.jar \ sshd-sftp:libs/sshd-sftp-2.7.0.jar \ sshd-core:libs/sshd-core-2.7.0.jar \ sshd-common:libs/sshd-common-2.7.0.jar \ slf4j-simple:libs/slf4j-simple-2.0.7.jar \ slf4j-api:libs/slf4j-api-2.0.7.jar \ testsftp-client:libs/jsch-0.1.55.jar \ gson-jar:libs/gson-2.8.9.jar \ lifecycle-jar:libs/lifecycle-common-2.6.1.jar \ include $(BUILD_MULTI_PREBUILT) include $(call all-makefiles-under, $(LOCAL_PATH))
最新发布
07-18
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值