6

我的应用无法在华为 P8 Lite 上启动,但在其他设备上运行良好。我搜索了很长时间的问题,但找不到有效的解决方案。

我的应用程序一直运行没有问题。然后我修复了一些问题,并在华为 P8 Lite 上遇到了启动崩溃。我不明白。

日志猫:

? W/System.err: java.lang.NullPointerException: Attempt to invoke virtual method 'int com.huawei.lcagent.client.LogCollectManager.getUserType()' on a null object reference
? W/System.err:     at com.android.server.util.ReportTools.getUserType(ReportTools.java:86)
? W/System.err:     at com.android.server.util.ReportTools.isBetaUser(ReportTools.java:73)
? W/System.err:     at com.android.server.util.ReportTools.report(ReportTools.java:58)
? W/System.err:     at com.android.server.util.HwUserBehaviourRecord.appExitRecord(HwUserBehaviourRecord.java:65)
? W/System.err:     at com.android.server.am.ActivityManagerService$UiHandler.handleMessage(ActivityManagerService.java:1572)
? W/System.err:     at android.os.Handler.dispatchMessage(Handler.java:102)
? W/System.err:     at android.os.Looper.loop(Looper.java:150)
? W/System.err:     at android.os.HandlerThread.run(HandlerThread.java:61)
? W/System.err:     at com.android.server.ServiceThread.run(ServiceThread.java:46)
 E/ReportTools: This is not beta user build
? I/Process: Sending signal. PID: 10115 SIG: 9
? I/PgedBinderListener: kstate callback type:8 value1=10115 value2=KILLED

这是我的清单(没有所有活动):

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    package="prestigetower.nextgendevelopers.prestigetower">

    <uses-permission android:name="com.android.vending.BILLING"/>
    <uses-ermission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

    <application
        android:allowBackup="false"
        android:icon="@mipmap/enemy_175"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:hardwareAccelerated="false"
        android:largeHeap="true"
        android:debuggable="false"
        android:name="android.support.multidex.MultiDexApplication">

        <meta-data android:name="com.google.android.gms.version"
                   android:value="@integer/google_play_services_version" />
       <supports-screens
            android:smallScreens="true"
            android:normalScreens="true"
            android:largeScreens="true"
            android:xlargeScreens="true" />

        <service
            android:enabled="true"
            android:name="BackgroundSoundService" />

        <activity
            android:name=".MainActivity"
            android:label="@string/app_name"
            android:theme="@style/Theme.Transparent"
            android:screenOrientation="portrait"
            >

            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>

        <activity android:name="com.google.android.gms.ads.AdActivity"
            android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"
            android:theme="@android:style/Theme.Translucent" />

        <!-- END -->
    </application>
</manifest>

这是我的构建 Gradle:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 25
    buildToolsVersion "25.0.0"
    defaultConfig {
        applicationId "prestigetower.nextgendevelopers.prestigetower"
        minSdkVersion 18
        targetSdkVersion 25
        versionName 'Version 0.9.3.3'
        versionCode 933
        multiDexEnabled true
    }

    buildTypes {

        debug {
            minifyEnabled false

            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }

    productFlavors {

    }

    dexOptions {
        javaMaxHeapSize "4g"
    }
}

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile 'com.android.support:appcompat-v7:25.0.0'
    compile 'com.android.support:support-v4:25.0.0'
    compile 'com.android.support:support-v13:25.0.0'
    compile 'com.android.support:design:25.0.0'
    compile 'com.android.support:recyclerview-v7:25.0.0'
    compile 'com.android.support:support-annotations:25.0.0'
    compile 'com.android.support:percent:25.0.0'
    compile 'com.android.support:cardview-v7:25.0.0'
    compile 'com.anjlab.android.iab.v3:library:1.0.+'
    compile 'com.google.android.gms:play-services:10.2.4'
    compile 'com.google.android.gms:play-services-ads:10.2.4'

    testCompile 'junit:junit:4.12'
}
4

1 回答 1

5

经过一番研究,我发现当你在华为 P8 Lite 上升级到 Android M 时,华为并没有向你显示 LOG 中的所有内容(我在 Mate 20 Pro 和 Android P 上对其进行了测试,我看到了一切)。

所以实际问题总是隐藏在这些奇怪的华为日志下

要在 logcat 中显示所有内容,您必须在 dialer 特殊代码中键入:

*#*#2846579#*#*

然后你应该看到这个设置屏幕:

在此处输入图像描述

转到后台设置

在此处输入图像描述

单击日志设置并根据需要调整日志

于 2018-12-12T14:37:09.170 回答