赞
踩
选择准备好的模块:File-New-import Module导入模块
给新模块改新名字,本例用video
引入依赖关系:File-Project Structure-app-Dependencies-Module dependency
选择video,然后点击两个OK
分别找到APP和video模块的 清单文件AndroidManifest.xml和 build.gradle文件
准备修改这四个文件
修改本工程APP的AndroidManifest.xml
添加语句xmlns:tools="http://schemas.android.com/tools"
添加语句tools:replace="android:icon,android:theme,android:name" 也可能添加
tools:replace=“android:icon,android:theme”
具体要看和video demo重复的地方
修改video模块的AndroidManifest.xml
注释代码<uses-sdk android:minSdkVersion="14" android:targetSdkVersion="19" />
现在的版本已经不支持把它写在清单文件,应写在build.gradle中,本例不用改动其他只需注释该部分
修改本工程APP的build.gradle文件
在dependencies中加入模块的依赖关系compile project(':video')
修改video模块的build.gradle文件
注释apply plugin: 'com.android.application'
更正为apply plugin: 'com.android.library'
注释applicationId "com.hikvision.sdk.demo"
原代码:
apply plugin: 'com.android.application' android { compileSdkVersion 23 buildToolsVersion "23.0.3" defaultConfig {`` applicationId "com.hikvision.sdk.demo" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } lintOptions { abortOnError false } } dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') // compile project(':ivms_8700_sdk_library') }
更正后:
//apply plugin: 'com.android.application' apply plugin: 'com.android.library' android { compileSdkVersion 28 buildToolsVersion "28.0.3" defaultConfig { //applicationId "com.hikvision.sdk.demo" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } lintOptions { abortOnError false } } dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') // compile project(':ivms_8700_sdk_library') }
Compilation failed; see the compiler error output for details.
**解决方法:**点击错误,进入代码,按Alt + Enter选择Replace ‘switch ’with 'if解决
此时程序只调用主APP的继承application的类,而video中的没有调用,导致视频SDK没有初始化
**解决方法:**让主程序的类不再继承application,去继承video模块中的继承了application的类,清单文件不变,还是先调用主程序的类,这样video模块中的类也会自动执行
简言之:原本applicationOne和applicationTwo 继承application,现在applicationOne继承applicationTwo,applicationTwo还是继承application,主清单中不变还是调applicationOne
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。