AAR 是 Google 專門為 Android Studio 推出的一種庫文件格式,用于便捷的分享和使用Android Library 項(xiàng)目
而被 Google 放棄的 Eclipse ADT 沒辦法像使用 jar 那樣使用 AAR煤杀,但是我們可以使用 AAR 里的文件快速創(chuàng)建一個(gè) Eclipse Library 項(xiàng)目來使用
AAR -> Eclipse Library
下載神策sdk, 我是不知道SDK就究竟長啥樣的:文件夾眷蜈、jar、aar沈自。搞得我暈酌儒,經(jīng)過這次終于清晰了!
https://dl.bintray.com/zouyuhan/maven/com/sensorsdata/analytics/android/SensorsAnalyticsSDK/(選擇版本下載的就是神策官方的SDK.aar包)
記錄一下我遇到的坑:
1.直接在GitHub上下載神策Dome枯途,把里面的 SensorsAnalyticsSDK文件夾轉(zhuǎn)成eclipse項(xiàng)目引用到公司項(xiàng)目里忌怎,與公司項(xiàng)目出現(xiàn)v7包沖突無法解決。
2.下載神策SDK.AAR后酪夷,根據(jù)教程能夠正確引用榴啸,在轉(zhuǎn)換后神策SDK項(xiàng)目的 Android Manifest.xml 會出錯。
錯誤位置:android:authorities="${applicationId}.SensorsDataContentProvider" ? 此處 ${applicationId}在eclipse上是沒有辦法使用的晚岭,需要換成你項(xiàng)目的包名(包名錯誤神策無法上傳數(shù)據(jù))鸥印。
1.將 AAR 文件后綴名改為 ZIP 并解壓;
2.在解壓得到的目錄里創(chuàng)建一個(gè)libs文件夾坦报,然后將classes.jar文件和jni文件夾下的所有文件移到libs文件夾下辅甥;
3.將proguard.txt文件的內(nèi)容拷貝到你的項(xiàng)目的proguard-project.txt文件中;(神策AAR包里沒有proguard.txt文件燎竖,忽略或建一個(gè)空的proguard-project.txt)
4.在解壓得到的目錄里創(chuàng)建project.properties文件璃弄,內(nèi)容如下:
target=android-22
android.library=true
target的值隨 AAR 里 Android Manifest.xml 文件的targetSdkVersion屬性值而定;
5.刪除aapt和jni文件夾以及R.txt和proguard.txt文件构回。
至此一個(gè) Eclipse Library 項(xiàng)目已經(jīng)構(gòu)建完成了夏块,接下來只需打開 Eclipse 導(dǎo)入項(xiàng)目并在你的項(xiàng)目中配置引用這個(gè)項(xiàng)目即可(File--Import--Android--Existing Android...--你的項(xiàng)目文件夾。記住勾選is Library!)
FAQ:
運(yùn)行時(shí)如果有 library 中的 Activity 或其他四大組件找不到(ActivityNotFoundException)纤掸、asset 資源找不到脐供,jar或so找不到的情況就請參考【Android】Eclipse引用 library 時(shí)的常見異常
Activity? 報(bào)java.lang.NoClassDefFoundError: *.Activity異常,通常是因?yàn)檫@個(gè) AAR 里的 Activity 繼承或?qū)崿F(xiàn)了其它 AAR 中的類或接口借跪,但是你沒有導(dǎo)入 AAR 需要的依賴政己,導(dǎo)致運(yùn)行時(shí) AAR 里的 Activity 無法實(shí)例化,解決辦法就是導(dǎo)入全部需要的依賴掏愁,具體需要什么依賴你就自己找到AAR的pom文件查看或者反編譯相應(yīng)出錯的類查看
參考:
鏈接:http://www.reibang.com/p/ccf306e08d5b