1. 程式人生 > >android studio androidTest引用jar出錯

android studio androidTest引用jar出錯

調研後發現,androidstudio將androidTest和main打成兩個apk,\app\build\outputs\apk路徑下可以看到打成的兩個apk

app-debug.apk
app-debug-androidTest.apk

解析app-debug-androidTest.apk後發現,

E:\>aapt dump badging E:\app-debug-androidTest.apk
package: name='com.******.test.test' versionCode='' versionName=''
其中androidTest生成的apk會在包名後增加一個.test包名,所以在離線執行時包名後面也需要增加.test。

這個apk明顯比主apk小了很多,再次解析class發現,引用的jar方法數很少,看起來只有相關的方法被一起打包,而其它方法被瘦身了。

所以懷疑打包時需要把呼叫的jar也一起打包,看到junit包等方法數量依然很多,所以看看junit怎麼打包的

androidTestCompile 'junit:junit:4.12'
androidTestCompile 'com.android.support.test:rules:0.4.1'
testCompile是宣告本地測試的依賴,androidTestCompile是宣告Instrumented測試依賴

所以這個引用的jar也要一樣宣告,宣告例子如下:

androidTestCompile files('libs/httpunit-1.7.jar')
再次打包檢視apk大小和方法數量果然變大了。