如何在android.jar文件中更改类

时间:2014-01-27 12:24:16

标签: android

我是Android编程新手。 我有了Google原生联系人代码并在eclipse IDE中导入了它。 导入后,每个Java文件都有错误,错误就像是,有些类正在导入项目中不存在的其他类,即使在android.jar中也是如此。 所以我已经下载了android-apps-4.4_r1.jar文件并将其添加到项目中(外部jar)。通过这样做,大多数错误已被删除,但仍有许多错误需要删除。 例如:导入了一个类android.provider.ContactsContract.ContactCounts 并且在android.jar文件夹中有一个名为android.provider.ContactsContract的类文件,但我认为该文件中没有任何变量ContactCounts,因此我搜索了此文件(android.provider.ContactsContract)互联网,我发现它,所以我的问题是如何用我在互联网上找到的新文件替换该类文件(存在于android.jar文件夹中),还是有其他方法可以解决这个问题?

2 个答案:

答案 0 :(得分:0)

ContactCounts对公众隐藏。请注意类的源代码中的@hide属性。

源代码:ContactsContract

如果没有大量工作,您将无法使用隐藏的类,并且您将容易受到在Android API的未来或早期版本中删除,不存在或更改的代码的攻击。<​​/ p>

您可以尝试复制隐藏类的源代码,并在项目中使用它的本地版本。

这意味着:

  • 在项目中创建名为ContactsContract.java的新文件
  • 复制上面链接的文件中的内容
  • 重命名程序包以匹配您的项目
  • 导入使用该文件的本地类

答案 1 :(得分:0)

检查此网址以获取参考 http://docs.oracle.com/javase/tutorial/deployment/jar/update.html

  
    

jar uf jar-file input-file

  

这里'你'意味着更新。