错误:活动类{}不存在(仅限特定电话)

时间:2016-04-04 00:25:21

标签: android adb android-manifest

我正在开发我的真实设备小米米4c,没问题。然后突然(我想在系统更新后)我遇到了这个错误,当我尝试运行时:

Uploading file to: /data/local/tmp/be.sebsob.red
Installing be.sebsob.red
DEVICE SHELL COMMAND: pm install -r "/data/local/tmp/be.sebsob.red"
Aborted 


Launching application: be.sebsob.red/be.sebsob.red.FullscreenActivity.
DEVICE SHELL COMMAND: am start  -n "be.sebsob.red/be.sebsob.red.FullscreenActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER
Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=be.sebsob.red/.FullscreenActivity }
Error type 3
Error: Activity class {be.sebsob.red/be.sebsob.red.FullscreenActivity} does not exist.

(这是一个新的Android工作室默认全屏应用,没有任何更改)

尝试的事情,但没有解决问题

  • 清理/重建项目
  • 重新导入项目
  • 删除了构建目录
  • 删除了〜/ .idea和〜/ .gradle目录
  • 已删除.iml文件
  • 将Manifest.xml中的活动命名从.FullscreenActivity更改为完整路径
  • 重新启动手机/电脑/ Android Studio
  • 使用无效缓存/重新启动...
  • 重新启动Android工作室
  • 通过 adb kill-server adb start-server 命令重新启动adb
  • 通过任务管理器杀死abd进程并重新启动
  • 重新启用手机上的开发者选项
  • 撤消手机上的USB调试授权

但是当我在我的其他设备(小米Mi2S)上运行此应用程序时,它运行正常。

AND 当我在手机上手动复制.apk(无法从Android Studio运行)时,它会安装并运行正常。 所以我想从Android Studio运行到我的手机时,它必须是一个特定的问题?可能是读/写访问权限错误? 有什么想法吗?

AndroidManifest.xml (默认情况下,Android Studio新项目设置后没有更改)

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

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity
            android:name=".FullscreenActivity"
            android:configChanges="orientation|keyboardHidden|screenSize"
            android:label="@string/app_name"
            android:theme="@style/FullscreenTheme">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

build.gradle (模块:应用)

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.2"

    defaultConfig {
        applicationId "be.sebsob.red"
        minSdkVersion 16
        targetSdkVersion 21
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:23.2.1'
    compile 'com.android.support:support-v4:23.2.1'
}

由于

2 个答案:

答案 0 :(得分:2)

好的,经过长时间的研究,我发现它与adb无法正常工作在手机上有关。我真的不知道为什么......但是有关更多信息,请查看以下答案:https://stackoverflow.com/a/32103016/5297218

对我个人来说,重新安装另一个(较旧的)ROM版本是解决我问题的唯一方法。

答案 1 :(得分:0)

我尝试了一切,没有什么对我有用!!很失望!! 在Samsung S8上运行(Android V. 8.0.0 API 26)。 只有一件事有效,是:

  1. 构建APK(Build - &gt; Build APK)
  2. 使用普通的Android文件传输将.apk文件拖放到智能手机下载文件夹中
  3. 按下并安装.apk(它将要求更改未知来源的安装设置)
  4. 安装应用程序后,您将能够从Android Studio运行调试。
  5. 我希望这可以帮助别人,因为我花了一段时间才弄明白这一点。 非常奇怪的是,在Asus和Pixel2上,所有这些都不是问题。我已被删除并重新安装应用程序多个tipe,只有三星S8与奥利奥它是一个问题,所以可能三星存储在某个地方的包名称,如果删除,那么你无法重新安装(我使用的删除方式是通过应用程序管理器)。