Can’t downgrade database from version 2 to 1
解决办法:
This exception is thrown on the following conditions:
- The device that you're running the code on has a database file of
version 2.
- The code is requesting version 1 of the database (with a param to
SQLiteOpenHelper constructor)
- onDowngrade() is not overridden in your code.
error: Resource at colorPrimary appears in overlay but not in the base package; use <add-resource> to add.
添加操作:添加aar包
原因:添加aar包不正确
正确操作:
Android.mk
文件改动如下
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
# ...
#不要使用代码混淆的工具进行代码混淆
LOCAL_PROGUARD_ENABLED:= disabled
LOCAL_STATIC_JAVA_AAR_LIBRARIES:= demo
LOCAL_AAPT_FLAGS := \
--auto-add-overlay \
--extra-packages demo的包名 \
# ...
include $(BUILD_PACKAGE)
include $(CLEAR_VARS)
# ...
LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := demo:libs/demo.aar
# ...
include $(BUILD_MULTI_PREBUILT)
用mk文件把apk包预置到系统中去
需要注意的是,LOCAL_MULTILIB
取决于第三方apk的.so文件
include $(CLEAR_VARS)
LOCAL_MODULE := xxx
LOCAL_MODULE_CLASS := APPS
LOCAL_MODULE_SUFFIX := .apk
LOCAL_MODULE_TAGS := optional
LOCAL_SRC_FILES := xxxx.apk
LOCAL_CERTIFICATE := platform
LOCAL_MULTILIB := 32
LOCAL_DEX_PREOPT := false
LOCAL_MODULE_PATH :=$(TARGET_OUT)/app
LOCAL_PREBUILT_JNI_LIBS:= \
xxxx/xxxxx.so
include $(BUILD_PREBUILT)
Android.mk在编译AIDL时遇到的couldn’t find import for class
解决这个错误的步骤如下:
- 确保你的类已经实现了 Parcelable接口
- 实现writeToParcel方法,将对象的当前状态写入 Parcel
- 添加一个叫 CREATOR 的静态字段,它实现了 Parcelable.Creator
- 最后创建一个对应的*.aidl文件去声明你的Parcelable类
如果还是报错,并且还是Android.mk编译的,需要添加
LOCAL_SRC_FILES := $(call all-java-files-under, java)
LOCAL_SRC_FILES += $(call all-Iaidl-files-under, aidl)
//下面这句是重点
LOCAL_AIDL_INCLUDES += $(LOCAL_PATH)/aidl