为什么活动Android不使用Gradle 2.0?

我在我的应用程序中使用活动Android。 它工作正常,直到我从1.3升级我的Android Studio到2.0。 有了这个升级,我的gradle也升级到了2.0,这对Active Android造成了一些问题。

在使用Gradle 2.0构build时遇到此错误。

Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String com.activeandroid.TableInfo.getTableName()' on a null object reference at com.activeandroid.Cache.getTableName(Cache.java:156) at com.activeandroid.query.From.addFrom(From.java:169) at com.activeandroid.query.From.toSql(From.java:250) at com.activeandroid.query.From.execute(From.java:298) 

我尝试用gradle 1.3构build我的旧工作室,它仍然工作正常。 请帮忙吗?

build.gradle文件时,应用程序正在给出上述错误

 buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:2.0.0' classpath 'com.google.gms:google-services:2.0.0-beta2' } } allprojects { repositories { jcenter() } } 

build.gradle当应用程序工作正常

 buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:1.3.0' classpath 'com.google.gms:google-services:2.0.0-beta2' } } allprojects { repositories { jcenter() } } 

gradle包装属性

 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists distributionUrl=https\://services.gradle.org/distributions/gradle-2.10-all.zip 

  • Cordova / Ionic构建android Gradle错误:支持的最低Gradle版本是2.14.1。 当前版本是2.13
  • Android Studio库项目错误
  • 减lessAndroid Studio中的Gradle同步时间
  • Gradle,Robolectric和Espresso
  • 生成unsigned,使用Android Studio发布apk
  • Gradle插件v0.13.1后重复的Zip条目
  • Android释放apk大于debuggingapk
  • 更新后的Android Studio构建工具19.1.0
  • 我也遇到了这个问题,我发现这只是Android 23+设备上的一个问题,如果closures即时运行(文件 – >设置 – >构build,执行,部署 – >即时运行),则可以避免这个问题。

    如果你想保持即时运行,你可以尝试UnChecking“代码更改重新启动活动”

    在Mac上:

    首选项>构build,执行,部署>即时运行>取消选中“在代码更改上重新启动活动”

    ActiveAndroid有一个问题,当Instant run被激活时无法检索DexFile中search的Model类有些关于DexFile和Instant的信息在这里运行

    有三种可能的解决方法:

    1. 禁用Intant运行Android Studio – >首选项 – > Intant运行
    2. 在AndroidManifest中添加已经build议的代码:
     <meta-data android:name="AA_MODELS" android:value="com.myapp.model.Item, com.myapp.model.Category" /> 
    1. 在ActiveAndroid初始化中添加以下代码:
     Configuration.Builder config = new Configuration.Builder(this); config.addModelClasses(Model1.class, Model2.class); ActiveAndroid.initialize(config.create()); 

    希望能帮助到你

    我遇到了同样的问题,但是我不知道为什么。我在AndroidManifest中明确指定了Model类:

     <meta-data android:name="AA_MODELS" android:value="com.myapp.model.Item, com.myapp.model.Category" /> 

    它已经解决了;

    我在gradle 2.0上有同样的问题,但我不知道为什么这个错误现在,最后我解决了它通过降级gradle版本到gradle 1.5.0

    我有同样的问题与活动的android ORM。 不能只在模拟器上工作。 closures即时运行。 并完全重新安装应用程序,清除错误。

    要添加到由VictorG提供的答案,您可以避免禁用即时运行。 由于基本问题是由于即时运行导致的DexFile更改, Cache不保留DexFile值,因此可以检查DexFile是否包含任何表数据,并在需要时重新初始化ActiveAndroid

     if (Cache.isInitialized() && Cache.getTableInfos().isEmpty()) { ActiveAndroid.dispose(); } ActiveAndroid.initialize(HOWEVER_YOU_BUILD_YOUR_CONFIG);