Подтвердить что ты не робот

Как установить приложение дважды без вмешательства в Android?

У меня есть приложение для Android (пусть называется X), я хочу создать второе приложение X2, но на основе другого приложения. Поэтому я изменил свойство имени приложения-манифеста на X2, также я изменил имя пакета... но все же, когда я устанавливаю X2, приложение X стирается!

Какие свойства следует изменить, чтобы я мог установить два приложения самостоятельно на одном устройстве. Я работаю над eclispe.

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.company.app1"
    android:versionCode="1"
    android:versionName="1.0" >

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name1"
        android:theme="@style/AppTheme" >

после изменения.

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.company.app2"
android:versionCode="1"
android:versionName="1.0" >

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name2"
    android:theme="@style/AppTheme" >
4b9b3361

Ответ 1

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

EDIT 1: Теперь, если вы используете Android Studio, используйте applicationIdSuffix, чтобы иметь одно приложение для каждого аромата.

debug {
        applicationIdSuffix ".debug"
    }

Подробнее здесь developer.android.com

Ответ 2

также измените имя пакета в модуле gradle script build.gradle, он будет работать

defaultConfig {
    applicationId "com.me.mesurvey" //put your package name here//
    minSdkVersion 14
    targetSdkVersion 19
}

Ответ 3

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

Я выполняю следующие действия:

  • декомпилировать apk с помощью apktool java -jar apktool.jar d -o out -f my-app.apk
  • замените com.mainnamespace на com.mainnamespacebeta​​strong > во всех файлах вне каталога
  • замените com/mainnamespace на com/mainnamespacebeta​​strong > во всех файлах вне каталога
  • переименовать каталог out/smali/com/mainnamespace out/smali/com/mainnamespacebeta​​strong >
  • снова скомпилировать apk java -jar apktool.jar b -o./debug.apk -f./out
  • Подпишите apk с помощью нового ключа с помощью jarsigner. jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore key.keystore./debug.apk "password" -storepass "password" -keypass "password"

Вот инструкция, как подписать apk, чтобы получить key.keystore - http://developer.android.com/tools/publishing/app-signing.html

Я также создал простой script для linux - https://gist.github.com/vavrecan/8596303