为什么Active Android Library会报告此错误=在Android 4.1之前,...会错误地覆盖Drawable中的package-private方法

时间:2018-01-04 09:39:18

标签: java android android-studio activeandroid

我使用 Active Android 库,每次启动它时,它都会在Logcat(Android Studio)中显示给我,错误类型=警告 < / p>

完整程序错误的图片

enter image description here

  • 我也想知道这个问题是否不会导致像强制停止
  • 这样的问题

前两行程序错误(警告):

logcat的

    01-04 12:20:20.378 2166-2166/com.xxxx.yyyy W/art: Before Android 4.1, method android.graphics.PorterDuffColorFilter android.support.graphics.drawable.VectorDrawableCompat.updateTintFilter(android.graphics.PorterDuffColorFilter, android.content.res.ColorStateList, android.graphics.PorterDuff$Mode) would have incorrectly overridden the package-private method in android.graphics.drawable.Drawable
    01-04 12:20:20.419 2166-2166/com.xxxx.yyyy I/art: Rejecting re-init on previously-failed class java.lang.Class<android.support.v4.app.JobIntentService$JobServiceEngineImpl>: java.lang.NoClassDefFoundError: Failed resolution of: Landroid/app/job/JobServiceEngine;
...

AppController.java

    public class AppController extends Application {

        @Override
        public void onCreate() {
            super.onCreate();
            ActiveAndroid.initialize(this);
        }

    }
...

AndroidManidest.xml

...
    <application
        android:name=".AppController"
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:theme="@stylexxyyTheme"
        tools:replace="android:icon">

        <meta-data
            android:name="AA_DB_NAME"
            android:value="RestClient.db" />
        <meta-data
            android:name="AA_DB_VERSION"
            android:value="1" />
        <meta-data
            android:name="AA_MODELS"
            android:value="com.xxxx.yyyyy.model.DBUserInfo" />
...

DBUserInfo.java

@Table(name = "user_info")
public class DBUserInfo extends Model {

        @Column(name = "user_id", unique = true, onUniqueConflict = Column.ConflictAction.REPLACE)
        public int user_id;
        @Column(name = "name")
        public String name;

        public DBUserInfo() {
            super();
        }

        public DBUserInfo(int user_id, String name) {
            this.user_id = user_id;
            this.name = name;
        }

        public static DBUserInfo getRandom() {
            return new Select().from(DBUserInfo.class).executeSingle();
        }


        public static DBUserInfo getUserInfo() {
            return new Select().from(DBUserInfo.class).executeSingle();
        }

        public List<DBUserInfo> getAll() {
            return getMany(DBUserInfo.class, "name");
        }

        public static List<DBUserInfo> getAll() {
            return new Select().from(DBUserInfo.class).orderBy("user_id ASC").execute();
        }
    }

1 个答案:

答案 0 :(得分:1)

我没有看到与您的错误相关的任何代码。您是否分享了问题发生的代码?您是在KitKat或以前的设备上进行测试吗? KitKat和更老版本的Vector Graphics存在问题,您必须启用Vector Support以及在所有图像上处理src上的vectorSupport标记。因此,我必须假设您的项目中有可绘制的向量,并将这些向量放在错误的文件夹中,或者根据该错误没有正确处理它们,但没有更多细节,这只是一种推测。

请记住,在KitKat时代,像no-dpi这样的文件夹并不存在,如果没有非常细致地管理,内存问题就像疯了一样。