Android ICS版本在eclipse上构建联系人代码

Android ICS版本在eclipse上构建联系人代码,android,Android,我正在尝试在eclipse上构建ICS联系人代码。由于contacts使用了一些隐藏类,我创建了一个包含所有必需类的新jar文件,并成功地构建了apk 但现在的问题是,我在jar中添加的类在最终的apk包中丢失了链接,我得到了noClassDefFoundError异常 我反编译了apk,发现类存在于apk中。如果apk中存在类文件,为什么链接会丢失 我尝试将jar文件用作外部库,但由于其大小(>20mb)未成功。联系人应用程序正在使用几种类型的隐藏文件。其中一些是隐藏的框架项,如Aggrega

我正在尝试在eclipse上构建ICS联系人代码。由于contacts使用了一些隐藏类,我创建了一个包含所有必需类的新jar文件,并成功地构建了apk

但现在的问题是,我在jar中添加的类在最终的apk包中丢失了链接,我得到了noClassDefFoundError异常

我反编译了apk,发现类存在于apk中。如果apk中存在类文件,为什么链接会丢失


我尝试将jar文件用作外部库,但由于其大小(>20mb)未成功。

联系人应用程序正在使用几种类型的隐藏文件。其中一些是隐藏的框架项,如AggregationSuggestions.PARAMETER_MATCH_NAME,而另一些属于静态库,如com.android.phone.CallLogAsync。第一类文件永远不应该嵌入到APK中,但第二类文件应该嵌入到APK中

如果查看Android.mk中的联系人,您可以了解需要哪些静态库:

LOCAL_STATIC_JAVA_LIBRARIES := \
com.android.phone.common \
com.android.vcard \
android-common \
guava \
android-support-v13 \
android-support-v4 \
android-ex-variablespeed \
要在eclipse中编译Contact,您应该将框架类添加为“用户库”,将所有静态库添加为“外部JAR”

获取所有所需JAR的最简单方法是构建Android源代码并查看out/target/common/obj/JAVA_库。每个库都有自己的名为libname_intermediates的目录,其中包含class-full-debug.jar。这些罐子正是您建立联系人所需要的。框架类驻留在Framework_中间层中,但是您可能需要添加更多的jar


您应该在Eclipse中调整项目的“订单和导出”,以确保您的带有框架类的“用户库”高于“Android 4.0”。

我可以从internet上的任何位置下载这些库并将其放入我的应用程序中吗?@Darth Beleg,我可以从哪里下载这些jar文件?