【Android】调试bug记录

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

解决这个错误的步骤如下:

  1. 确保你的类已经实现了 Parcelable接口
  2. 实现writeToParcel方法,将对象的当前状态写入 Parcel
  3. 添加一个叫 CREATOR 的静态字段,它实现了 Parcelable.Creator
  4. 最后创建一个对应的*.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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值