ADT更新到22并检查Android私有库

时间:2016-02-07 01:30:47

标签: android adt classnotfoundexception

此问题已被覆盖很多次。例如 https://docs.newrelic.com/docs/mobile-monitoring/mobile-monitoring-installation/android/troubleshooting-eclipse-configurations

而且是answered before。根据这些图例,您可以在 Project - >中查看 Android私有库。属性 - > Java构建路径 - >订单&导出然后它可以工作,否则你得到 ClassNotFoundException ,通常" your.package.name.MainActivity"。但它真正起作用的是黑盒 - 如果开发人员检查该复选框,构建过程会发生什么?为什么ADT会允许使用MainActivity类编译一个包,而不会给出任何错误?

Logcat有:

--------- beginning of main
I/WhetstoneService( 1526): Receive am_crash event for pid: 16887
W/KloServer( 1526): Aborted broadcast does not supprt for: xyz.my.app
D/SettingsProvider(  722): lookupValue table global cache.fullyMatchesDisk() dropbox:data_app_crash
D/TidaProvider(16910): TidaProvider()
D/SettingsProvider(  722): lookupValue table global cache.fullyMatchesDisk() logcat_for_data_app_crash
V/SettingsInterface(  722):  from settings cache , name = dropbox:data_app_crash , value = null
I/octvm_klo( 3169): [am_crash][1454625549]:[16887,0,xyz.my.app,11058758,java.lang.ClassNotFoundException,Didn't find class "xyz.my.app.MainActivity" on path: DexPathList[[zip file "/data/app/xyz.my.app-1/base.apk"],nativeLibraryDirectories=[/vendor/lib64, /system/lib64]],BaseDexClassLoader.java,56]

我花了几天时间才被困在这里。我生成的所有apk文件在 MainActivity 上都有 ClassNotFoundException 。使用 dexdump 查看 class.dex 文件(apk的一部分),很明显我的所有类都不包含在apk中,而不仅仅是MainActivity ,所有课程都被排除在外。检查:

  1. 谷歌播放库包括/ opt / android-sdk-linux / extras / google / google_play_services / libproject / google-play-services_lib /(也试图从其他开发人员那里复制库,没有问题升级到ADT 22)

  2. 目标(Android API 5.1.1和Google API 5.1.1)都尝试了库项目和应用项目。

  3. 使用" Google API(Android 5.1.1)"进行实验在Java Build Path中选中并取消选中(无差异)。

  4. 当然,使用" Android私人图书馆"检查。

  5. 上述每个实验都经过适当的清理和重建。

0 个答案:

没有答案