谷歌的Android库代码不能被编译(Google's Android repository

2019-10-20 04:21发布

我从网上下载的应用程序(日历) 的Android库 。

我试图编译它,但它给我的错误。

作为开发人员,有关存储库的第一条规则我的教训是这样的:

提交您的代码,如果它没有错误编译。

在编译,我得到这些错误:

Error:(38, -1) android-apt-compiler: [Calendar] C:\Dev\Calendar\res\layout\location_dropdown_item.xml:38: error:  Error: No resource found that matches the given name (at 'textColor' with value '@drawable/list_item_font_primary'). 
Error:(46, -1) android-apt-compiler: [Calendar] C:\Dev\Calendar\res\layout\location_dropdown_item.xml:46: error: Error: No resource found that matches the given name (at 'textColor' with value '@drawable/list_item_font_secondary').    
Error:(44, -1) android-apt-compiler: [Calendar] C:\Dev\Calendar\res\layout\recurrencepicker.xml:44: error: Error: No resource found that matches the given name (at 'background' with value '@color/white').

真的,所提到的XML文件是从绘制包丢失。 什么哟如意算盘:在这次提交检查?

我应该用什么来代替那些可绘制? 颜色黑色? 或者颜色红? 什么是解决这一问题的最佳方法是什么?

如果谷歌不符合标准的规定,谁呢?

Answer 1:

我认为贾斯汀Jasman在暗示是,单个存储库组成Android源代码没有被设计成由自己签出和建造。 它们被设计用来建为整个Android源代码树,这将依赖拉作为构建过程的一部分的一部分:

AOSP:下载和构建

说了这么多,你可以通过一看获得任何外部依赖一些提示project.properties文件。 例如,靠近该文件的顶部,你会看到这样一行:

android.library.reference.1=../../../frameworks/ex/chips

这相当于在一个位置平台/框架/ EX库。 所以,如果你签出库:

git clone https://android.googlesource.com/platform/frameworks/ex

并期待在EX /芯片/ RES /绘制的文件夹,你会发现可能证明是有用的几个文件:

list_item_font_primary.xml
list_item_font_secondary.xml

复制这些文件到RES /绘制将解决你列出的前两个错误。

同样,关于第三个错误,你会发现,在资源平台/框架的/ opt /的DateTimePicker库。 或者你可以只改变从价值@color/white@android:color/white
( https://stackoverflow.com/a/3964048/399105 )

编辑:

我只注意到了Android源回购一些应用程序没有project.properties文件。 在这种情况下,你可以看看Android.mk文件,例如(从平台/产品/应用/ MMS ):

chips_dir := ../../../frameworks/ex/chips/res


文章来源: Google's Android repository code cannot be compiled