把云之讯音视频Demo从Eclipse转到AndroidStudio上
生活随笔
收集整理的這篇文章主要介紹了
把云之讯音视频Demo从Eclipse转到AndroidStudio上
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
前言
今天老板說讓我集成下音視頻的功能,我到網(wǎng)上搜索了下,發(fā)現(xiàn)有云之訊,容聯(lián),融云等都在做,這幾家公司我都使用了它們提供的apk,對比了下發(fā)現(xiàn)云之訊的音視頻還不錯,就打算開始集成,但是問題來了,現(xiàn)在公司使用的是Android Studio開發(fā)工具,但是它們只提供了Eclipse的Demo,然后我就把Eclipse工程導入到Android Studio工程中,發(fā)現(xiàn)各種報錯,但是最后還是導入成功了。所以這里我自己總結了一下,希望能讓其他開發(fā)者使用云之訊Demo少走一些彎路。
準備工作
1、電腦配置如下:
- Windows 7/8/10(32位或64位)
- 內存 最低:2GB RAM,推薦:8GB RAM
- 屏幕分辨率 最低:1280x800
3、去官網(wǎng)上下載Android Studio版本,下載地址為https://developer.android.com/studio/index.html
4、使用Android Studio創(chuàng)建一個簡單的Demo,并查看gradle版本和依賴
遷移步驟
1、Eclipse導出gradle項目 右擊選擇你要導出的項目 -> Export -> Android(Generate Gradle build files) 然后一直下一步,選擇你要導出的項目,如下圖:
2、修改gradle版本和依賴(此操作最好去做,不然導入時會非常慢) 修改一:找到build.gradle(就在工程目錄下)文件,修改gradle版本為Android Studio版本 Eclipse導出的gradle:classpath 'com.android.tools.build:gradle:0.5.+'
Android Studio版本:classpath 'com.android.tools.build:gradle:2.0.0' ?(此版本以你下載的版本一致) 修改二:找到gradle-wrapper.properties文件(目錄結構:gradle -> wrapper),修改distributionUrl的值為Android Studio默認值 Eclipse導出的distributionUrl值:http\://services.gradle.org/distributions/gradle-1.6-bin.zip
Android Studio默認值:https\://services.gradle.org/distributions/gradle-2.10-all.zip?(此值以你創(chuàng)建的Demo一致)
3、Android Studio導入 啟動Android Studio進入“Welcome to Android Studio”這個界面,選擇“Import project(Eclipse ADT,Gradle,etc)”,一定是這個選項,不然導入有問題。(如果你的Android Studio 不是在這個界面,那么通過File->close project就可以進入這個界面)然后找到步驟1中的那個項目就可以成功導入了。
4、耐心等待 第一次導入差不多需要三四分鐘,后面就很快。
5、配置Android SDK(Configure Android SDK),導入Android SDK到工程中,這里你可以在SDK Manager中下載你需要的版本。
6、跑你導入的工程,在跑的過程中發(fā)現(xiàn)一個問題,問題如下:
此問題是因為你的工程中.9圖片不標準,你打開這個圖,看下有一些bad patch,修正下就好了(如果沒有用,直接刪除)。Android Studio導入很方便也很簡單的。但是它的lint要求嚴格,會要求符合標準的文件命名和.9圖。
7、修改上面這個錯誤之后,再次跑應用,發(fā)現(xiàn)又出現(xiàn)一個問題,問題如下:
此問題是因為Android Studio檢測PNG圖片合法性比較嚴格導致,我們可以在build.gradle里面添加如下代碼: aaptOptions.cruncherEnabled = false aaptOptions.useNewCruncher = false 改完之后是這樣的: android { ... aaptOptions.cruncherEnabled = false aaptOptions.useNewCruncher = false ...}
8、修改上面這個錯誤之后,再次跑應用,發(fā)現(xiàn)又出現(xiàn)一個問題,問題如下:
此問題是代碼的編碼格式有問題,原來的代碼格式是GBK,但是現(xiàn)在導入的是UTF-8,在Settings -> Editor -> File Encodings下修改,如下圖:
并且在build.gradle文件里面設置如下屬性: android { ... compileOptions { encoding "GBK" }}
9、修改上面這個錯誤之后,再次跑應用,發(fā)現(xiàn)又出現(xiàn)一個問題,問題如下:
此問題是因為這個類是UTF-8編碼,但是里面的注釋是GBK編碼導致。修改如下:
在右邊把這個類改成GBK編碼,然后選擇Convert,就可以。
10、修改上面這個錯誤之后,再次跑應用,應用終于安裝到手機上并且跑起來了,但是一到開始界面就崩潰了,崩潰日志如下: java.lang.UnsatisfiedLinkError: com.android.tools.fd.runtime.IncrementalClassLoader$DelegateClassLoader[DexPathList[[dex file "/data/data/com.yzx.im_demo/files/instant-run/dex/slice-yunzhixun_video_SDK_v1000.2.0.1_L.9_release_f3553c742128a5e2c10c1bcab522738ba86a933a-classes.dex", dex file "/data/data/com.yzx.im_demo/files/instant-run/dex/slice-yunzhixun_tcp_SDK_ver_3.0.5.8_release_01f592286e3f416819bf231a103a0f68005f98d7-classes.dex", dex file "/data/data/com.yzx.im_demo/files/instant-run/dex/slice-yunzhixun_IM_SDK_ver_3.0.4.6_release_7b48dea13a89b8385923a9ac848946ffde24a656-classes.dex", dex file "/data/data/com.yzx.im_demo/files/instant-run/dex/slice-uk_e5196f2c62913af8b93f2d3ef99bebaa1c816c41-classes.dex", dex file "/data/data/com.yzx.im_demo/files/instant-run/dex/slice-slice_9-classes.dex", dex file "/data/data/com.yzx.im_demo/files/instant-run/dex/slice-slice_8-classes.dex", dex file "/data/data/com.yzx.im_demo/files/instant-run/dex/slice-slice_7-classes.dex", dex file "/data/data/com.yzx.im_demo/files/instant-run/dex/slice-slice_6-classes.dex", dex file "/data/data/com.yzx.im_demo/files/instant-run/dex/slice-slice_5-classes.dex", dex file "/data/data/com.yzx.im_demo/files/instant-run/dex/slice-slice_4-classes.dex", dex file "/data/data/com.yzx.im_demo/files/instant-run/dex/slice-slice_3-classes.dex", dex file "/data/data/com.yzx.im_demo/files/instant-run/dex/slice-slice_2-classes.dex", dex file "/data/data/com.yzx.im_demo/files/instant-run/dex/slice-slice_1-classes.dex", dex file "/data/data/com.yzx.im_demo/files/instant-run/dex/slice-slice_0-classes.dex", dex file "/data/data/com.yzx.im_demo/files/instant-run/dex/slice-baidumapapi_util_v3_6_1_b0088507dea5143e2e0c0ee3a7180477c7526ec0-classes.dex", dex file "/data/data/com.yzx.im_demo/files/instant-run/dex/slice-android-support-v4_d2b240e336213fb31ae6983535f1af4b5f15538d-classes.dex", dex file "/data/data/com.yzx.im_demo/files/instant-run/dex/slice-ForwardingDevelopmentTools_ver_1.0_release_32f1db7f6d41f24c0038b43335465e0167a3dffb-classes.dex", dex file "/data/data/com.yzx.im_demo/files/instant-run/dex/slice-BaiduLBS_Android_677ba3e9a86048692ea451f76614b90a2c52e7c4-classes.dex"],nativeLibraryDirectories=[/data/app/com.yzx.im_demo-1/lib/arm64, /vendor/lib64, /system/lib64]]] couldn't find "libUGo.so" at java.lang.Runtime.loadLibrary(Runtime.java:379) at java.lang.System.loadLibrary(System.java:1086) at com.gl.softphone.UGoManager.<clinit>(Unknown Source) at com.yzx.a.h.run(Unknown Source) at java.lang.Thread.run(Thread.java:833) 分析日志發(fā)現(xiàn)是找不到.so庫,解決辦法是在build,gradle文件里面添加jniLibs.srcDirs = ['libs'],如下圖: android { ... sourceSets { main { ... jniLibs.srcDirs = ['libs'] } }}
11、修改上面這個錯誤之后,應用終于跑起來并且沒有問題,但是跑起來的過程中是不是感覺有點慢,主要是因為配置的最大內存不夠,下面我們就來配置下最大內存: 找到你安裝Android Studio目錄 -> bin ->?studio64.exe.vmoptions(在這個文件里面配置),配置如下圖: -Xms2048m-Xmx4096m-XX:MaxPermSize=2048m-XX:ReservedCodeCacheSize=1024m-XX:+UseConcMarkSweepGC-XX:SoftRefLRUPolicyMSPerMB=50
參考文檔:
內存大小配置說明:http://blog.csdn.net/xyxjn/article/details/46906909 編碼配置說明:http://blog.csdn.net/alicehyxx/article/details/50389721 build.gradle文件參數(shù)說明:http://www.open-open.com/lib/view/open1415793464648.html Gradle介紹:http://www.jcodecraeer.com/a/anzhuokaifa/Android_Studio/2015/0126/2361.html Android Studio下載地址:https://developer.android.com/studio/index.html Android Studio使用介紹:https://developer.android.com/studio/intro/index.html Android Studio添加.so庫說明:http://jingyan.baidu.com/article/e3c78d644baaf23c4d85f57d.html Eclipse代碼導入到Android Studio文檔說明:http://www.cnblogs.com/jhj117/p/5638212.html
總結
以上是生活随笔為你收集整理的把云之讯音视频Demo从Eclipse转到AndroidStudio上的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql最大句柄数_【mysql】最大
- 下一篇: 【银河麒麟V10】【桌面】火狐浏览器设置