小编llo*_*ick的帖子

自我更新时崩溃APK(组件类不存在)

我正在研究一个系统应用程序,它通过下载apk并使用PackageManager的installPackage()方法安装它来更新它.

我收到以下异常:

Fatal Exception: java.lang.IllegalArgumentException: Component class com.myapp.package.receivers.SomeOldReceiver does not exist in com.myapp.package
           at android.os.Parcel.readException(Parcel.java:1544)
           at android.os.Parcel.readException(Parcel.java:1493)
           at android.content.pm.IPackageManager$Stub$Proxy.setComponentEnabledSetting(IPackageManager.java:3420)
           at android.app.ApplicationPackageManager.setComponentEnabledSetting(ApplicationPackageManager.java:1492)
           at com.myapp.package.utils.AndroidUtils.enableDisableComponent(SourceFile:113)
           at ...
Run Code Online (Sandbox Code Playgroud)

更新的apk中不存在"SomeOldReceiver"组件.

似乎现有APK的"旧"代码被执行(其应用程序的onCreate()被调用)试图访问更新的APK中存在的"新"清单,并且找不到"旧"接收器(这是甚至可能?).

我的应用程序还会收听PACAKGE_ADDED和PACKAGE_REMOVED意图.

此崩溃发生在相对较大比例的用户身上.

关于为什么会发生这种错误以及如何修复它的任何建议或线索将不胜感激.

android android-manifest android-install-apk android-broadcastreceiver

13
推荐指数
1
解决办法
763
查看次数

阅读操纵杆功能

我正试图通过使用winmm.dll库来阅读我的操纵杆功能.我是这样做的......

from ctypes import windll, Structure, c_uint, c_ushort, c_char, c_ulong
WORD = c_ushort
UINT = c_uint
TCHAR = c_char
winmm = windll.LoadLibrary('winmm.dll')
class JOYCAPS(Structure):
   _fields_ = [
    ('wMid', WORD),
    ('wPid', WORD),
    ('szPname', TCHAR * MAXPNAMELEN),  # originally szPname[MAXPNAMELEN]
    ('wXmin', UINT),
    ('wXmax', UINT),
    ('wYmin', UINT),
    ('wYmax', UINT),
    ('wZmin', UINT),
    ('wZmax', UINT),
    ('wNumButtons', UINT),
    ('wPeriodMin', UINT),
    ('wPeriodMax', UINT),
    ('wRmin', UINT),
    ('wRmax', UINT),
    ('wUmin', UINT),
    ('wUmax', UINT),
    ('wVmin', UINT),
    ('wVmax', UINT),
    ('wCaps', UINT),
    ('wMaxAxes', UINT),
    ('wNumAxes', UINT),
    ('wMaxButtons', UINT),
    ('szRegKey', TCHAR …
Run Code Online (Sandbox Code Playgroud)

python msdn ctypes joystick python-3.x

8
推荐指数
1
解决办法
266
查看次数

删除 Android Studio 中的 %USER_HOME%/.gradle 和 %USER_HOME%/.AndroidStudio3.1 文件夹是否安全?

这两个文件夹占用了我硬盘上的大量空间

  • %USER_HOME%/.gradle
  • %USER_HOME%/.AndroidStudio3.1

它们可以安全删除吗?如果没有,我可以安全删除哪些子文件夹?

android-studio

4
推荐指数
1
解决办法
4026
查看次数

没有构造函数“std::thread::thread”的实例与参数列表匹配

错误(活动)E0289 没有构造函数“std::thread::thread”的实例与参数列表匹配

#ifndef TIMER_H
#define TIMER_H

#include <thread>
#include <chrono>

class Timer
{
std::thread Thread;
bool Alive = false;
long CallNumber = -1L;
long repeat_count = -1L;
std::chrono::milliseconds interval = std::chrono::milliseconds(0);
std::function< void(void) > funct = nullptr;

void SleepAndRun()
{
    std::this_thread::sleep_for(interval);
    if (Alive)
         Function()();
}

void ThreadFunc()
{
    if (CallNumber == Infinite)
        while (Alive)
            SleepAndRun();
    else
        while (repeat_count--)
            SleepAndRun();
}

public:
    static const long Infinite = -1L;

    Timer(){}

    Timer(const std::function<void(void)> &f) : funct (f) {}

    Timer(const std::function<void(void)> &f,
        const unsigned …
Run Code Online (Sandbox Code Playgroud)

c++

2
推荐指数
1
解决办法
7864
查看次数

我不小心关闭了我的 Xcode 应用程序。如何撤消任何更改?

我正在测试一些新的 swift 代码。我知道如果我犯了任何错误,我可以通过按Command+简单地恢复到我的旧代码Z

但是我在编写新代码时不小心关闭了我的 Xcode 编辑器。

我将如何撤消新更改并返回到旧的原始代码?我没有为此使用github。

xcode

1
推荐指数
1
解决办法
365
查看次数