Appearance
工程配置
环境准备
Android studio 3.0
Android 手机系统4.0以上版本
工程配置
依赖配置
SDK将以aar的方式提供出来,放在工程的libs目录下面,并在gradle中添加如下依赖
gradle
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation "com.android.support:appcompat-v7:28.0.0"
implementation(name: 'AndMuOpenSDK', ext: 'aar')
implementation('org.simpleframework:simple-xml:2.7.1') {
exclude module: 'stax'
exclude module: 'xpp3'
exclude module: 'stax-api'
}
implementation 'com.squareup.okhttp3:okhttp:3.14.2'
implementation 'com.squareup.okhttp3:logging-interceptor:3.6.0'
implementation 'com.google.code.gson:gson:2.8.5'
implementation('com.journeyapps:zxing-android-embedded:3.6.0') {
exclude group: 'com.android.support'
}
implementation 'com.takisoft.fix:preference-v7-material:28.0.0.0'
implementation 'com.jakewharton:butterknife:9.0.0'
implementation 'com.github.bmelnychuk:atv:1.2.9'
implementation 'com.github.bumptech.glide:glide:4.8.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.8.0'
implementation 'com.android.support:multidex:1.0.3'
implementation ('com.github.bumptech.glide:okhttp3-integration:4.8.0') {
transitive = false
}
implementation 'com.jaeger.statusbarutil:library:1.5.1'
annotationProcessor 'com.jakewharton:butterknife-compiler:9.0.0'
implementation files('libs/quick_login_android_5.4.6.jar')
}
- 权限配置 在AndroidManifest.xml文件中添加如下配置
xml
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<supports-screens
android:anyDensity="true"
android:largeScreens="true"
android:normalScreens="true"
android:smallScreens="true"
android:xlargeScreens="true" />
<uses-feature
android:name="android.hardware.audio.low_latency"
android:required="false" />
<uses-feature
android:name="android.hardware.microphone"
android:required="false" />
<uses-feature
android:name="android.hardware.screen.landscape"
android:required="false" />
<uses-feature
android:name="android.hardware.screen.portrait"
android:required="false" />
<uses-feature
android:name="android.hardware.telephony"
android:required="false" />
<uses-feature
android:name="android.hardware.faketouch"
android:required="false" />
<uses-feature
android:name="android.hardware.touchscreen"
android:required="false" />
<uses-feature
android:name="android.hardware.wifi"
android:required="false" />
<uses-feature
android:name="android.hardware.camera"
android:required="false" />
<uses-feature
android:name="android.hardware.autofocus"
android:required="false" />
- 混淆配置
java
-ignorewarnings
-dontshrink
-optimizations !code/simplification/arithmetic,!code/simplification/cast,!field/*,!class/merging/*
-optimizationpasses 5
-keep interface * {
<methods>;
<fields>;
}
-keepclasseswithmembernames class * {
native <methods>;
}
-dontwarn com.cmcc.**
-dontwarn com.v2.**
-dontwarn com.v3.**
-dontwarn com.tencent.**
-dontwarn com.cmmf.**
-dontwarn com.google.**
-dontwarn com.clplayer.**
-dontwarn org.apache.commons.**
-dontwarn com.ont.media.player.**
-dontnote com.v2.**
-dontnote com.v3.**
-dontnote com.google.**
-dontnote com.tencent.**
-dontnote com.cmmf.**
-dontnote com.cmcc.**
-dontnote com.clplayer.**
-dontnote com.arcsoft.**
-keep class * extends android.app.Activity
-keep class * implements java.io.Serializable{*;}
-keep class com.cmcc.andmuopensdk.AndMuOpen { *; }
-keep class com.cmcc.hemu.HeMu { *; }
-keep class com.cmcc.andmuopensdk.base.restapi.** { *; }
-keep class com.cmcc.andmuopensdk.base.utils.** {*;}
-keep class com.cmcc.andmuopensdk.camera.utils.** {*;}
-keep class com.cmcc.andmuopensdk.camera.devicestate.** {*;}
-keep class com.cmcc.andmuopensdk.camera.restapi.** {*;}
-keep class com.cmcc.andmuopensdk.camera.cache.bean.AMODevice{ *; }
-keep class com.cmcc.andmuopensdk.camera.closeli.restapi.** {*;}
-keep class com.cmcc.andmuopensdk.camera.session.** {*;}
-keep class com.cmcc.andmuopensdk.camera.AMOCamera {*;}
-keep class com.cmcc.andmuopensdk.base.config.AMOGlobal {*;}
-keep class com.cmcc.andmuopensdk.camera.player.** {*;}
-keep class com.cmcc.andmuopensdk.camera.downloadlocal.** {*;}
-keep class com.cmcc.andmuopensdk.camera.widget.** {*;}
-keep class com.cmcc.andmuopensdk.camera.closeli.** {*;}
-keep class com.cmcc.andmuopensdk.base.net.** {*;}
-keep interface com.ont.media.player.** {*;}
-keep class com.ont.media.player.** {*;}
-keep class com.v2.** {*;}
-keep class com.v3.** {*;}
-keep class com.clplayer.** {*;}
-keep class com.cmmf.** {*;}
-keep class com.closeli.** {*;}
-keep class com.onenet.** {*;}
-keep class com.arcsoft.** {*;}
-keep class com.tencent.** {*;}
-keep class org.simpleframework.** {*;}
-keep class com.cmcc.andmuopensdk.camera.cmiot.handler.** {*;}
-keep class com.cmcc.andmuopensdk.camera.onenet.** {*;}
-keep class com.google.a.a.** {*;}
-keep public class com.v2.settings.bean.** {
<fields>;
<methods>;
}