页面http://developer.android.com/tools/building/multidex.html#testing 建议
dependencies {
compile 'com.android.support:multidex:1.0.1'
androidTestCompile 'com.android.support:multidex-instrumentation:1.0.1'
}
android {
defaultConfig {
multiDexEnabled true
testInstrumentationRunner "android.support.multidex.MultiDexTestRunner"
}
}
Run Code Online (Sandbox Code Playgroud)
但是在运行测试时会产生ClassNotFoundException.
API文档和dexdump显示有com.android.test.runner.MultiDexTestRunner.
所以如果我不相信文档而是指定
dependencies {
compile 'com.android.support:multidex:1.0.1'
androidTestCompile 'com.android.support:multidex-instrumentation:1.0.1'
}
android {
defaultConfig {
multiDexEnabled true
testInstrumentationRunner "com.android.test.runner.MultiDexTestRunner"
}
}
Run Code Online (Sandbox Code Playgroud)
然后我明白了
com/company/myapp/MyApp; had used a different Landroid/support/multidex/MultiDexApplication; during pre-verification
...
IllegalAccessExceptionIllegalAccessError: Class ref in pre-verified class resolved to unexpected implementation
Run Code Online (Sandbox Code Playgroud)
我怀疑doc页面是错误的,正确的路径是com.android.test.runner.MultiDexTestRunner ...加上我还有其他一些问题.
请注意,multidex应用程序工作正常.不知何故,第二个MultiDexApplication包含在测试apk中.
问题:
MultiDexTestRunner的正确路径是哪条?为什么我在测试apk中获得第二个MultiDexApplication?
在ICS中,现在网络 - >数据使用设置屏幕中的"限制后台数据"设置.
有没有办法以编程方式为我的应用程序设置"限制后台数据"?
要么
有没有办法提出具有我的应用程序选项的"数据使用"设置?
我有大量的svg文件,我想转换为Android的xml矢量资产。
对于每个文件,记录的过程是File-> New-> Vector Asset。然后选择svg文件,单击“下一步”,然后单击“完成”。
有没有更快的方法?也许是对启动Asset Studio的bash评论?
这似乎是一个基本问题,但我无法在任何地方找到这些信息.
我想构建一个暴露公共API的AAR但隐藏实现,以便不直接调用实现.
除了模糊我想要封装的包(隐藏)之外,我没有看到这样做的方法.