如何添加新的AdMob (google play服务)作为一个jar而不是一个库项目



我正在维护一个应该只依赖于jar库文件的应用程序生成器。它不能依赖于其他项目。如果依赖于其他项目,将需要对这个庞大的项目进行艰难的修改,并将产生设计和结构上的问题。

现在,在8月,admob将停止使用他实际的。jar文件,并将需要更改为新的Google Play Services项目,这必须在我们的项目中作为库项目引用。我怎样才能避免这种情况呢?如何将Google PLay Services项目转换为可导入的jard文件?

我试着从Google Play Services项目创建一个jar,但后来我在我的应用程序清单的这一行得到这个错误:

         <meta-data android:name="com.google.android.gms.version" 
    android:value="@integer/google_play_services_version" />
         Error: No resource found that matches the given name 
    (at 'value' with value '@integer/google_play_services_version').

谢谢

如何将Google PLay Services项目转换为可以导入的jard文件?

一般来说,你不能。如果AdMob代码需要来自Play Services库项目的资源,那是谷歌的决定,你对此无能为力。

对于您当前的问题,您需要以某种方式确定@integer/google_play_services_version会变成什么,对于任何可能的配置,并在您的项目中复制它。这个特定的值可能对所有配置都是相同的,因为它是某种版本号,尽管它不必是。

从长远来看,你要么需要用其他适合你架构的东西来取代AdMob,要么你需要支持库项目。考虑到通过Ant或Gradle支持库项目涉及配置文件中的一行(project.propertiesbuild.gradle),人们会认为这不会是一个主要的挑战。

最新更新