当我调试在我的设备上使用Android Studio编写的应用程序时(Galaxy Note 3和Ouya)该应用程序调试正常并在设备上运行,但应用程序从未出现在应用程序抽屉中,因此我无法在断开连接时运行它设备(即显示其他人在远离我的开发计算机时运行的应用程序)。我的应用程序曾用于安装为可运行的应用程序,但这似乎不再发生。然而,该应用程序在应用程序管理器中列为我可以卸载,关闭等应用程序。
为什么应用不再出现在我的应用抽屉中?
-------------------------------更新--------------- -----------
这是我的清单文件
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.frd.game" >
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.frd.game.GameRun"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.Main" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
------------ ---------------更新
我现在尝试通过adb命令手动安装apk并且完全相同的事情发生(即应用程序出现在应用程序管理器中但不在应用程序抽屉中)因此排除问题与android studio
------ -----更新
我现在已经手动安装了另一个测试应用程序(据我所知不是一个gradle)并且它安装得很好,清单与我上面的清单完全相同,但显然有不同的包名。
答案 0 :(得分:3)
我能够通过临时更改应用程序的名称来解决同样的问题。
android:label="temp"
在设备上运行该应用程序。检查图标现在是否显示在应用程序抽屉中。如果是,您应该能够将标签更改回原始名称。
android:label="@string/app_name"
答案 1 :(得分:0)
确保您拥有&#34;默认&#34;活动,通过必要的意图过滤器。见这里:Default Activity not found in Android Studio
确保该类别中的MAIN全部为大写。
然后,如果您有基于Gradle的项目,请运行
./ gradlew installDebug
答案 2 :(得分:0)
就我而言,我已指定productFlavors
,您在使用Gradle时必须考虑这些因素。
来自the docs:
上述任务名称中的“Debug”部分只是构建变体名称的驼峰版本,因此可以替换为您要组装或安装的任何构建变体。例如,如果您有“演示”产品风格,那么您可以使用assembleDemoDebug任务构建调试版本。
首先,您将运行gradlew tasks
来检查可用的安装任务列表,如下所示:
Install tasks
-------------
installArm7Debug - Installs the DebugArm7 build.
installArm7DebugAndroidTest - Installs the android (on device) tests for the Arm7Debug build.
installArm7Release - Installs the ReleaseArm7 build.
然后你会运行gradlew <install task>
,例如gradlew installArm7Debug
。