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

Why the Active Android Library reports this error = Before Android 4.1, ... would have incorrectly overridden the package-private method in Drawable

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

完整程序错误图片

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

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();
        }
    }

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

请记住,像 no-dpi 这样的文件夹在 KitKat 时代并不存在,而且如果管理不当,内存问题会疯狂发生。