0

我有一个 android 应用程序,它可以在使用 Android 2.3.3 的 AVD 上完美运行,但它无法安装在任何可供我测试的设备上(运行 Android 2.3.3 的索尼爱立信 XPeria、运行 Android 2.3.7 的 LG Optimus 和三星 Galaxy标签 Android 4.0.3)。错误是“未安装应用程序”。据我所知,它可能与应用程序的不正确清单文件有关,所以AndroidManifest.xml如果它可能有帮助的话,我可以这样做:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.hohlocola"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk android:minSdkVersion="7" />
            <uses-permission
    android:name="android.permission.INTERNET" />

<application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name" >
    <activity
        android:name=".HohloColaActivity"
        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>

我导出我的应用程序unsigned
提前致谢!

4

3 回答 3

6

您不能在真实设备上安装未签名的 APK,您必须使用有效密钥导出 APK。这甚至可以是您在调试模式下使用的相同密钥库/密钥,它位于(默认情况下)~/.android/debug.keystore或密钥库和包含密钥C:\Users\<user>\.android\debug.keystore的密码。android

高温高压

于 2012-05-29T21:33:01.413 回答
2

Android 应用程序必须经过签名。有关更多信息,请参阅Android 应用签名文档

于 2012-05-29T21:40:13.347 回答
1

看看logcat。我的问题是权限错误。我在application标签中定义了android.permission.INTERNET而不是单独的uses-permission。当您尝试启动应用程序时,Logcat 输出引发异常:

E/Launcher(  136): java.lang.SecurityException: Permission Denial: <...> requires android.permission.INTERNET

因此,请尝试找出阻止您的应用开始使用 adb logcat 的原因。

我也读过这篇文章Android 上的“未安装应用程序”错误,并且有很多可能性。甚至有人不得不更新 Java。

于 2012-05-29T20:46:22.107 回答