Android-MoPub广告的集成(2)

Android集成第三方依赖库

在此之前,首先先来总结一下Android集成三方依赖库的方式Android也是基于java,所以大体上的集成第三方jar代码包跟java一个道理。

  1. 首先是最方便的一种方式Jcenter或者maven方式。官方都会提供这两种的脚本语句,只需在app项目中添加即可(可以自行了解相关内容)
//依赖的来源
 repositories {
        jcenter()
        flatDir {
            dirs 'libs'
        }
        maven { url "https://s3.amazonaws.com/moat-sdk-builds" }
    }

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile 'com.android.support:design:27.1.1'
    compile 'com.android.support:appcompat-v7:27.1.1'

    //在此处添加需要的依赖即可
    compile project(':mopub-sdk-banner')
//注:高版本的gradle语言compile已经过时(2018年底将会废弃),使用implementation或者api来代替。
}

不管什么样的api或者依赖库官方一般都会提供这种方式,只需参考官方文档即可。

  1. 如果需要导入的是第三方的jar代码包,那么只需在Android项目中的libs(也可以是你自己命名的其他文件夹中)中,放入你需要的jar包。之后在项目中module的build.gradle文件中添加如下语句
//XXX为java包的名字
compile files('libs/XXX.jar')
  1. 或者在Android studio中的模块配置中手动添加依赖包也可以,点击Android studio左上角File->Project Structure,找到找到对应的项目后,就可以看到项目的基本配置信息,然后选择dependencies,点击左上角的绿色+选择要添加的依赖,有三种依赖方式可供选择(Library/jar/model)选择下载好的依赖包即可。

其次是第三方Android项目的sdk 项目依赖

如果说需要导入的不是纯粹的jar代码包,而是一个功能模块(module)。这时有两种方式可以选择,

  1. 一是修改sdk中gradle文件的配置信息主要是buildtoolsversion,以及使用到的一些v4,v7包的版本需要跟主体项目保持一致,其中的一些没用可以删去(dependencies中的一些依赖等),之后在app的setting.gradle中include后添加该sdk
//app的setting.gradle中
include ':app', ':mopub-sdk:mopub-sdk-banner'
  1. 另外一种是自己新建一个Android Library,项目上右键new → module(注意) ,将创建好的module中的src下的文件全部删除,将下载的sdk中对应的src文件夹中的东西复制过去,其他的也对应复制即可。
    之后在gradle文件中添加依赖。

Android集成Mopub

先给出官方文档:
https://developers.mopub.com/docs/android/getting-started/
大致步骤按照官网来就行。各种广告模式也参考官方文档来即可。
在升级项目中的广告sdk时候由于版本太旧所以踩了不少坑。再次总结一下:

  • 由于使用方法推荐的方法时候(jcenter上获取)其中有一个文件需要科学上网,而远程git上面跑测试时候的环境恰恰没有外网所以测试一直是build失败,所以这种方式无法使用。
//就是因为引用的这个网址无法访问
maven { url "https://s3.amazonaws.com/moat-sdk-builds" }
  • 所以采用module的方式集成,又因为项目中的gradle版本使用的是很旧的一个版本,而官方给出的新版本sdk模块是使用的新版本gradle,直接丢进去有很多地方不兼容。所以要修改grade版本成一致,一是升级项目中的gradle(我这个项目比较大根目录涉及多个app,很难搞,所以放弃这个方法)二是修改第三方module中的gradle
api 以及 implementation    需要使用   compile  来代替 (gradle3.1之前都需要)
错误:google() 找不到
解决方法:将gradle中的google()修改为
    maven {
        url 'https://maven.google.com/'
        name 'Google'
    }
......

总结

总之期间是遇到了不少的困难,但是只要是遇到了问题那就一定有他的原因,遇到的并不是什么怪异现象,在网上搜总会有答案的,多利用google,并且大部分问题都可以在stackoverflow上面找到答案,关键的是要有一颗沉得住的心。

你可能感兴趣的:(Android-MoPub广告的集成(2))