2013-09-13 2 views
0

Я построил & Подписать мой apk от Eclipse ADT как it is describes (экспорт и знак, создавая новый ключ). Но он не может быть установлен на реальном устройстве, пока возникают ошибки, такие как «ошибка пакета установщика». У меня нет устройства Android & отправлено моим apk друзьям по электронной почте. Я использую AVD, и все в порядке с ним. Какие-либо предложения? Парни Thanx.Не удается установить APK правильно на устройстве

<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
package="com.XXXX.YYYY" 
android:versionCode="0" 
android:versionName="0.9.2" android:installLocation="internalOnly"> 

<uses-sdk 
    android:minSdkVersion="13" 
    android:targetSdkVersion="17" />  
<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:theme="@style/AppTheme" 
    android:hardwareAccelerated="true" 
    android:permission="android.permission.INTERNET" 
    android:allowBackup="true"> 
    <activity 
     android:name="com.XXXX.YYYY.ActivityMain" 
     android:label="@string/main_activity_title" 
     android:launchMode="singleTop" > 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
    <activity android:name="com.XXXX.YYYY.ActivityDetails" 
     android:parentActivityName="com.XXXX.YYYY.ActivityMain" 
     android:excludeFromRecents="true" 
     android:configChanges="orientation|screenSize">    
    </activity> 
</application></manifest> 

UPD: APK устанавливает хорошо, но ошибка возникает, если выбрать Открыть (см скриншот). После этого приложение работает нормально. Но на планшете, если попробуйте открыть приложение, говорится: «Приложение удалено». enter image description here

UPD2: добавить поддержку API 4+ meta tag на 2-й деятельности, но это не имеет никакого эффекта

<meta-data 
      android:name="android.support.PARENT_ACTIVITY" 
      android:value="com.XXXX.YYYY.ActivityMain" /> 
+0

Просто проверьте свое название пакета ... – Piyush

+0

Вы можете получить логарифм об ошибке? Это должно показать, что происходит с менеджером пакетов, чтобы вызвать его сбой. – Jon

+0

@ Jon unfortunaly, мои друзья не могут получить журнал, они не так выглядят пользователями). Послушайте, что, если я опубликую приложение здесь, а затем вы можете проверить его? –

ответ

0

Моя проблема была дубликатом Запрос на разрешение интернет манифеста! Когда я удаляю это из приложения активности, запускался нормально.

0

допускается на устройстве опция «Неизвестные источники» в разделе «безопасность»?

+0

Не знаю. Как я могу сделать свой знаковый ключ «известным источником»? –

+0

Хотя это может быть проблемой, это не вызовет такого рода неудачу. Конопко - это не ваш ключ, который является известным источником, это способ доставки приложения, то есть из магазина игр Google. –

1

В вашем примере отсутствует закрытие </manifest> и android:enabled. Я не уверен, что последний не позволит устройству полностью его установить, но первый из них.

У меня также были проблемы с использованием всех имен активности в прошлом, поэтому вы можете попытаться упростить их, чтобы убедиться, что это помогает.

<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.XXXX.YYYY" 
    android:versionCode="0" 
    android:versionName="0.9.2" android:installLocation="internalOnly"> 

    <uses-sdk 
     android:minSdkVersion="13" 
     android:targetSdkVersion="17" />  

    <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:theme="@style/AppTheme" 
     android:hardwareAccelerated="true" 
     android:allowBackup="true"> 

     <activity 
      android:name=".ActivityMain" 
      android:label="@string/main_activity_title" 
      android:enabled="true" 
      android:permission="android.permission.INTERNET" 
      android:launchMode="singleTop" > 

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

     <activity android:name=".ActivityDetails" 
      android:parentActivityName=".ActivityMain" 
      android:excludeFromRecents="true" 
      android:configChanges="orientation|screenSize">    
     </activity> 
    </application> 
</manifest> 
+0

Они не * имеют * быть, но они * могут * быть. – Geobits

+0

@Geobits После двойной проверки это выглядит так, как сайт Android-разработчика соглашается с вами. Странно, но, поскольку использование подобных вещей в прошлом давало мне проблемы. – Jon

+0

@Jon thanx для ansver, но '' Я просто пропустил копию этого тега), в любом случае кажется, что добавление 'android: enabled =" true "' не влияет –

1

Возможно, вам необходимо убедиться, что устройства и устройства вашего друга могут устанавливать приложения, которые не находятся в магазине воспроизведения.

Это специальная функция, которую вы должны установить, или приложения, находящиеся за пределами магазина воспроизведения, не будут установлены.

Вот как это сделать:

  1. Открыть настройки
  2. Найти параметры безопасности (Pre 4.0 находится под приложений)
  3. Посмотрите на параметр, который говорит Неизвестные источники, или нерыночным приложения
  4. Включить, что установка

Все должно работать после этого!

Here статья с картинками, если вы до сих пор путают :)

+0

Хотя это может быть проблемой, это не вызовет такого рода отказ , –

+0

Это не устраняет ошибку –