选择准备好的模块: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
改正后出现了找不到.so文件的问题 **解决方法:**把video模块中的三个.so文件复制到主程序libs中 D:\Android\newnewnew\HTDJC3.41\video\src\main\jniLibs\armeabi-v7a D:\Android\newnewnew\HTDJC3.41\app\libs\x86 rebuild工程 重新运行