android studio 导入模块SDK 以及该模块中继承application的类与原工程继承application的类存在冲突 解决方法

  • 导入某修改后的海康视频SDK(老师给的),并修改相关文件
  • 问题1:错误:需要常量表达式
  • 问题2:video模块中的继承application的类与主工程中继承application的类发生冲突

新导入的工程可能存在路径问题,不太懂,后续明白会补充。总之需要先Rebuild Project然后可正常运行。

导入某修改后的海康视频SDK(老师给的),并修改相关文件

  1. 选择准备好的模块:File-New-import Module导入模块


    给新模块改新名字,本例用video

    引入依赖关系:File-Project Structure-app-Dependencies-Module dependency


    选择video,然后点击两个OK

  2. 分别找到APP和video模块的 清单文件AndroidManifest.xml和 build.gradle文件
    准备修改这四个文件

  3. 修改本工程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重复的地方

  4. 修改video模块的AndroidManifest.xml
    注释代码<uses-sdk android:minSdkVersion="14" android:targetSdkVersion="19" />现在的版本已经不支持把它写在清单文件,应写在build.gradle中,本例不用改动其他只需注释该部分

  5. 修改本工程APP的build.gradle文件
    在dependencies中加入模块的依赖关系compile project(':video')

  6. 修改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 23buildToolsVersion "23.0.3"defaultConfig {``applicationId "com.hikvision.sdk.demo"}buildTypes {release {minifyEnabled falseproguardFiles 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 28buildToolsVersion "28.0.3"defaultConfig {//applicationId "com.hikvision.sdk.demo"}buildTypes {release {minifyEnabled falseproguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'}}lintOptions {abortOnError false}
}dependencies {compile fileTree(include: ['*.jar'], dir: 'libs')//  compile project(':ivms_8700_sdk_library')
}

问题1:错误:需要常量表达式

Compilation failed; see the compiler error output for details.


**解决方法:**点击错误,进入代码,按Alt + Enter选择Replace ‘switch ’with 'if解决

问题2:video模块中的继承application的类与主工程中继承application的类发生冲突

此时程序只调用主APP的继承application的类,而video中的没有调用,导致视频SDK没有初始化

  1. 找不到包


**解决方法:**让主程序的类不再继承application,去继承video模块中的继承了application的类,清单文件不变,还是先调用主程序的类,这样video模块中的类也会自动执行
简言之:原本applicationOne和applicationTwo 继承application,现在applicationOne继承applicationTwo,applicationTwo还是继承application,主清单中不变还是调applicationOne

  1. 改正后出现了找不到.so文件的问题

    **解决方法:**把video模块中的三个.so文件复制到主程序libs中
    D:\Android\newnewnew\HTDJC3.41\video\src\main\jniLibs\armeabi-v7a
    D:\Android\newnewnew\HTDJC3.41\app\libs\x86
    rebuild工程 重新运行

android studio 导入模块SDK 以及该模块中继承application的类与原工程继承application的类存在冲突 解决方法相关推荐

  1. Android Studio导入第三方sdk

    1.下载好第三方sdk 2.切换为Project 3.将jar包和.so文件加入项目的libs文件夹下 4.打开该项目的build.gradle文件加入以下代码并重新build项目 sourceSet ...

  2. 使用 Android Studio 跑新浪微博SDK Demo遇到的问题及解决

    概述 这是新浪微博官方 Android SDK Demo 使用 Android Studio 导入.编译并运行通过的版本. 源码:WeiboSdkDemo 官方项目请点击: weibo_android ...

  3. Android Studio 导入 Android 系统模块并编译和调试

    FAQ: AS导入系统模块源码,并且能够编译调试,正常查看java doc ???? Android AOSP基础(五)Android Studio调试系统源码的三种方式 http://liuwang ...

  4. 使用Android Studio导入安卓源码

    1 背景 这篇文章主要说明的是用它来看源码的相关配置(该实例依据官方源码进行配置说明).在android源码中发现有一个development/tools/idegen目录,查了一下发现是生成IDE的 ...

  5. Android AOSP基础(四)Source Insight和Android Studio导入系统源码

    本文首发于微信公众号「刘望舒」 关联系列 Android AOSP基础系列 Android系统启动系列 前言 在上一篇文章Android AOSP基础(三)Android系统源码的整编和单编中,我们对 ...

  6. Android笔记 - android studio导入源码

    前提 安装好android studio 拉好代码并并编译OK 编译源码idegen模块及生成AS配置文件(*.ipr) 在开始编译idegen模块前,需要先全局编译出out目录及相关文件吧,我们通过 ...

  7. Android studio导入第三方库的各种方法和eclipse的导入方式对比

    1.1.Eclipse IDE 短信SDK使用项目依赖的方式完成集成.具体步骤如下: 1.复制"SMSSDK"目录到您自己项目的同一目录下,并将其导入到Eclipse中(查看视频教 ...

  8. Android studio接入高德SDK(1)--获取地址信息

    1.创建一个Empty Activity 的应用项目 a.File->New->New Project b.选择Phone and Table -> Empty Activity - ...

  9. Android Studio导入Eclipse项目的两种方法

    Android Studio导入Eclipse项目有两种方法,一种是直接把Eclipse项目导入Android Studio,另一种是在Eclipse项目里面进行转换,然后再导入Android Stu ...

最新文章

  1. Unity之Math等方法的使用
  2. 使用Nacos项目jar包启动抛出的yml异常
  3. php 实现两变量值对换,PHP互换两个变量值的方法(不用第三变量)
  4. uv4:you are not logged in as an administrator
  5. 2021新乡市铁一中高考成绩查询,2021铁一中中考录取分数线预测
  6. React中最基础的jsx语法
  7. socket.io html5 聊天,WebSocket探讨之——socket.io搭建多聊天室
  8. Skype协议分析[0]_安装Skype
  9. SaaSpace:最好的免费网络安全工具
  10. 区块链开发用什么语言好?
  11. AngularJs $http.post 数据后台获取不到数据问题 的解决过程
  12. 手机微信wifi怎么连接到服务器地址,出门在外用手机流量太贵,教你一招,用微信就能连接附近wifi...
  13. Matlab图像处理笔记--图像修复
  14. 新买的显示器怎么测试软件,新买的电视如何检测屏幕?记住这个方法
  15. 安装Windows11体验WSA,安装常用Android应用测试
  16. sis防屏蔽程序_屏蔽机房设计方案知识
  17. EPICS记录参数--Event记录(event)
  18. 国网专家教你秒懂各种输电线路
  19. 张宇1000题线性代数 第八章 相似理论
  20. xshell 使用pem文件登录

热门文章

  1. 层次分析法和熵值法经典实操案例+数据
  2. Fusion 360的快捷键大全
  3. html教程幻灯片,html教程全幻灯片.ppt
  4. python正则表达式\d 匹配数字\D 匹配非数字\w 匹配单词\W 匹配非单词字符
  5. 河南省濮阳市谷歌高清卫星地图下载
  6. java post xml数据_Java发HTTP POST请求(内容为xml格式)
  7. COleDateTime使用
  8. DLNA UPnP协议简介
  9. e900V21e刷机固件及教程(电信创维)
  10. 基于SSM的在线书城网站【附源码】