安装.apk仅适用于某些手机oO

时间:2012-08-29 08:28:41

标签: android installation

我确信问题已经解决了100次,但我找不到适用于我的解决方案。

我开发了一个应用程序并在htc Sensation上进行了测试(USB-Debugging)。现在我要发布。所以我使用Eclipse的导出WIzard来创建签名的Apps .apk。

我在htc-sensation上卸载应用程序并重启手机。 将apk复制到SD卡,安装应用程序,(以防万一)重启手机并运行应用程序。的工作原理。

然后我抓住我的三星galaxy s3,检查“未知来源”,将apk复制到scdard,安装(重新启动手机以防万一)。 如果我想启动应用程序我得到Toast“应用程序未安装”。它被列为已安装,我可以卸载并重新安装它(不会对错误产生任何影响)。

另外如果我想在我的s3中调试:(启用USB调试,我可以从eclipse中的列表中选择它作为调试目标)

控制台说:

Android Launch!
adb is running normally.
Performing com.myapp.main.MainActivity activity launch
Uploading myapp.apk onto device '4df1fee466246ffd'
Installing myapp.apk...
Success!

但应用程序既没有开始运行,也无法手动启动(相同的Toast消息“App is notntalled”)

已经尝试过:

当然有多个手机重启并重新安装 重新出口apk

删除并重新申请SD卡

使用adb install命令安装

s3 runns android 4.0.4,htc 4.0.3,该应用程序需要最低4.0.3。

我对此缺少什么?

编辑: 清单:XML

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

    <uses-sdk android:minSdkVersion="15" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name" android:permission="android.permission.INTERNET">
        <activity 
            android:name="com.myapp.main.MainActivity" 
            android:launchMode="standard" 
            android:clearTaskOnLaunch="true"
            android:label="@string/app_name" 
            android:screenOrientation="portrait" android:immersive="false" android:stateNotNeeded="false" android:finishOnTaskLaunch="true" android:finishOnCloseSystemDialogs="true">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <activity 
            android:name="com.myapp.main.ContentListActivity" 
            android:finishOnTaskLaunch="true" 
            android:screenOrientation="portrait" 
            android:label="@string/app_name" android:launchMode="standard" android:immersive="false" android:stateNotNeeded="false" android:clearTaskOnLaunch="true" android:finishOnCloseSystemDialogs="true">

        </activity>

        <activity 
            android:name="com.myapp.main.LoadPreferencesActivity" 
            android:finishOnTaskLaunch="true" 
            android:label="@string/app_name"
            android:screenOrientation="portrait" android:launchMode="standard" android:immersive="false" android:stateNotNeeded="false" android:clearTaskOnLaunch="true" android:finishOnCloseSystemDialogs="true">

        </activity>

        <activity 
            android:name="com.myapp.main.DownloadDialogActivity" 
            android:finishOnTaskLaunch="true" 
            android:label="@string/app_name" 
            android:screenOrientation="portrait" android:launchMode="standard" android:stateNotNeeded="false" android:clearTaskOnLaunch="true" android:immersive="false" android:finishOnCloseSystemDialogs="true">

        </activity>

    </application>

</manifest>

1 个答案:

答案 0 :(得分:1)

从应用程序标记中删除Internet权限。它宣告两次。所以你的申请声明现在看起来像这样:

<application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name">