Являются ли приложения полностью разделенными?

Я столкнулся с проблемой, которая меня смущает. Кажется, что приложения для Android НЕ полностью разделены, это так.

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

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

Что я вижу, так это то, что я запускаю одно приложение, и оно, кажется, работает нормально, и я могу без проблем открывать и закрывать его несколько раз, а затем ни с того ни с сего я получаю всплывающее окно с сообщением, что определенное приложение перестало работать. Проблема в том, что я никогда не открывал это приложение. Я мог бы открыть один из дубликатов, но я даже забыл, что у меня было приложение, которое разбилось на телефоне, не говоря уже о его запуске.

Я регулярно закрываю все запущенные приложения, просто чтобы убедиться, что все идет гладко, и я никогда не вижу, чтобы это загадочное приложение работало где-либо.

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

Это может быть причиной того, что я видел некоторые другие проблемы, но не могу сказать, что основы другой проблемы - это два набора кода, которые в значительной степени идентичны для моего процесса, где один работает, а другой нет.

Я очень запутался Может ли кто-нибудь помочь развеять дым?

это может помочь, это список моих разрешений

uses-permission android:name="com.android.vending.BILLING" 
uses-permission android:name="android.permission.INTERNET" 
uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" 
uses-permission android:name="android.permission.READ_PHONE_STATE" 
uses-permission android:name="android.permission.ACCESS_WIFI_STATE" 
uses-permission android:name="android.permission.BLUETOOTH" 

Содержимое всех моих приложений-шаблонов будет ОЧЕНЬ похожим, за исключением версий имен пакетов и т. д.

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.blah.blahblah"
android:versionCode="2"
android:versionName="0.75" >
<uses-sdk
    android:minSdkVersion="5"
    android:targetSdkVersion="7" />
<!-- VERY IMPORTANT! Don't forget this permission, or in-app billing won't work. -->
<uses-permission android:name="com.android.vending.BILLING" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.BLUETOOTH" />
<application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name" >
    <activity
        android:name=".IntroActivity"
        android:label="@string/title_activity_main"
        android:screenOrientation="portrait" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity
        android:name=".MainActivity"
        android:configChanges="orientation|keyboardHidden"
        android:screenOrientation="portrait" >
    </activity>
    <activity
        android:name=".InfoActivity"
        android:configChanges="orientation|keyboardHidden"
        android:screenOrientation="portrait" >
    </activity>
    <activity
        android:name=".AudioActivity"
        android:configChanges="orientation|keyboardHidden"
        android:screenOrientation="portrait" >
    </activity>
    <activity
        android:name=".MovePlayActivity"
        android:configChanges="orientation|keyboardHidden"
        android:screenOrientation="portrait" >
    </activity>
    <activity
        android:name=".WebActivity"
        android:configChanges="orientation|keyboardHidden"
        android:screenOrientation="portrait" >
    </activity>
</application>

Here is a second one

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.blah2.blah2blah2"
android:versionCode="4"
android:versionName="1.5" >
<uses-sdk
    android:minSdkVersion="4"
    android:targetSdkVersion="7" />
<!-- VERY IMPORTANT! Don't forget this permission, or in-app billing won't work. -->
<uses-permission android:name="com.android.vending.BILLING" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.BLUETOOTH" />
<application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name" >
    <activity
        android:name=".IntroActivity"
        android:label="@string/title_activity_main"
        android:screenOrientation="portrait" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity
        android:name=".MainActivity"
        android:configChanges="orientation|keyboardHidden"
        android:screenOrientation="portrait" >
    </activity>
    <activity
        android:name=".AudioActivity"
        android:configChanges="orientation|keyboardHidden"
        android:screenOrientation="portrait" >
    </activity>
    <activity
        android:name=".MovePlayActivity"
        android:configChanges="orientation|keyboardHidden"
        android:screenOrientation="portrait" >
    </activity>
    <activity
        android:name=".WebActivity"
        android:configChanges="orientation|keyboardHidden"
        android:screenOrientation="portrait" >
    </activity>
</application>

I do see the min SDK version has changed I don't remember doing this right off hand but I must have for some reason


person Jeff Janes    schedule 09.01.2013    source источник
comment
Регистрируете ли вы какие-либо BroadcastReceivers, которые могут пробуждать различные приложения? Видите ли вы какую-либо соответствующую информацию в Logcat, когда видите диалоговое окно «К сожалению, X остановлен»?   -  person acj    schedule 09.01.2013
comment
Пожалуйста, выложите манифесты из 2-х примеров. И, пожалуйста, не убивайте запущенные приложения. Это длинная история и спор, но Android работает намного лучше, если вы позволяете ему принимать решения. Ты даже не имеешь в виду бег!   -  person Simon    schedule 09.01.2013
comment
Я посмотрел на диспетчер задач, и они отображаются как активные, не запущенные, извините, но это те, которые я закрыл, я постараюсь прекратить это делать, и я добавлю два файла манифеста, хотя у меня есть несколько приложений, которые попадают в одну и ту же категорию, но я покажет манифест загадочно появившегося приложения   -  person Jeff Janes    schedule 09.01.2013
comment
Интересным моментом является то, как вы объявили имена пакетов, действия и фильтры намерений.   -  person Simon    schedule 09.01.2013
comment
У меня возникли проблемы с поиском реальных файлов eclipse для проблемного пакета, но структура аналогична учебникам по покупке в приложении, опубликованным Google V2 и V3. Я также только что запустил проблемное приложение и закрыл его, а затем, через минуту, я получил неожиданно закрытое сообщение, я нажал «ОК», и оно снова закрылось, а через минуту я снова получил его. с тех пор ничего   -  person Jeff Janes    schedule 09.01.2013
comment
Со 100% уверенностью манифесты идентичны, за исключением имени приложения и пакета?   -  person Simon    schedule 09.01.2013
comment
У этого есть дополнительная активность, называемая информацией, но в остальном она использует все те же разрешения, и только эти разрешения выложены так же, как здесь.   -  person Jeff Janes    schedule 09.01.2013
comment
Единственное, о чем я могу думать, это попытаться выяснить, кто запустил активность. Взгляните на ответ от iHearGeoff здесь stackoverflow.com/questions/4789155/. Это не тривиально. Удачи!   -  person Simon    schedule 09.01.2013