一 先用Android studio将主项目打开
1.将副项目以module形式导入到主项目中(file -> import module)
2.查看主项目中的build.gradle文件,看是否有如下信息,如果没有,根据自己Android studio自行配置
buildscript {
repositories {
jcenter()
google()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.1.2'
}
}
3.查看主项目中的build.gradle中是否有compile或provided等字样,在新版本中compile要替换成inplementation并且proveded要替换成compileOnly,如果您发现您的主项目的build.gradle中提示错误,那也许您就需要进行替换,如下所示:
dependencies {
compileOnly files('/home/weijinsong/Android/Sdk/platforms/android-17/data/layoutlib.jar')
implementation files('libs/universal-image-loader-1.9.0-with-sources.jar')
implementation 'com.google.android.gms:play-services-ads:8.3.0'
implementation project(':DvbService')
}
4.查看主项目中的build.gradle中是否存在ountput如果有的话,可能会存在一个新版本的ountput不可写入问题,也就是说只读,那么你可以模仿如下所示进行修改,each 替换成 all 并且使用ountputFileName = fileName的写法。
/**
* each replace all
* outputFileName = fileName
*/
applicationVariants.all{ variant->
variant.outputs.all { output->
def oldFile = output.outputFile
if (variant.buildType.name.equals('release') || variant.buildType.name.equals('debug')) {
def releaseApkName = "Colors.apk"
//output.outputFile = new File(oldFile.parent, releaseApkName)
outputFileName = releaseApkName;
}
}
}
}
5.以模板的形式导入副项目可能会存在,找不到模板的问题,遇到这个问题你可以,将settings.gradle文件打开并加入如下代码:
include ':app', ':DvbService'
6.如果主项目中无法使用副项目中添加的库,则可以将副项目中build.gradle文件中compile换中api, provided换成compileOnly如下所示
api fileTree(dir: 'libs', include: '*.jar')
compileOnly files(getLayoutLibPath())
api files('libs/dvbmanager.jar')
api files('libs/aw_displaymanager.jar')
7.如果Android studio提示缺少什么外部依赖包,你可以上网去下载,然后放到lib目录下,并重新添加你下载的依赖的包即可
8.最后说几个重要的库google() jcenter() mavencontral()