我在上个月随机遇到这个问题:
java.lang.IllegalArgumentException: parameter must be a descendant of this view
at android.view.ViewGroup.offsetRectBetweenParentAndChild(ViewGroup.java:4479)
at android.view.ViewGroup.offsetDescendantRectToMyCoords(ViewGroup.java:4416)
at android.view.ViewRootImpl.scrollToRectOrFocus(ViewRootImpl.java:2656)
at android.view.ViewRootImpl.draw(ViewRootImpl.java:2300)
at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:2249)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1882)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1009)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5508)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:749)
at android.view.Choreographer.doCallbacks(Choreographer.java:562)
at android.view.Choreographer.doFrame(Choreographer.java:532)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:735)
at android.os.Handler.handleCallback(Handler.java:730)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:213)
at android.app.ActivityThread.main(ActivityThread.java:5225)
at java.lang.reflect.Method.invokeNative(Method.java)
at java.lang.reflect.Method.invoke(Method.java:525)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:741)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:557)
at dalvik.system.NativeStart.main(NativeStart.java)
Run Code Online (Sandbox Code Playgroud)
经过大量的挖掘和测试后,我发现问题是在更新Appcompat lib(android-support-v7-appcompat)后于10月27日引入的.最新版本的Appcompat似乎无法解决此问题.
我想这个问题与类似的错误没有关系(比如这个问题),因为我已经隔离了在我的repo上引入问题的提交,它是包含Appcompat更新的提交.
这有什么线索吗?那里有同样问题的人?
在旧的传统android ndk中,我们将指定要在Android.mk文件中链接的静态库.
Android.mk
PLATFORM_PREFIX := /opt/android-ext/
LOCAL_PATH := $(PLATFORM_PREFIX)/lib
include $(CLEAR_VARS)
LOCAL_MODULE := library
LOCAL_SRC_FILES := library.a
include $(PREBUILT_STATIC_LIBRARY)
LOCAL_STATIC_LIBRARIES := android_native_app_glue library
Run Code Online (Sandbox Code Playgroud)
这是我的问题
切换到NDK的Gradle实验插件时,我有点困惑.分享您如何在App build.gradle文件中链接静态库的想法.
每当我尝试启动模拟器时,都会收到以下消息
PANIC: HOME 已定义但在 $HOME/.android/avd 中找不到 test.ini 文件(注意:avd 的搜索顺序为 $ANDROID_AVD_HOME、$ANDROID_SDK_HOME/.android/avd 和 $HOME/.android/avd)
我的模拟器没有启动。
我在 SO 上发现了一个类似的问题,但是没有选择答案,并且除了设置之外,答案并没有说明如何解决问题 ANDROID_AVD_HOME environment variable
但是我不知道该怎么做。
所以我希望你们中的一个人可以提供帮助。
我正在使用 android studio on ubuntu 14.04