Упаковка носимых приложений

Я нахожусь на последнем этапе разработки службы циферблата для устройств Android Wear. Проблема в следующем: каждый раз, когда я пытаюсь подписать свое приложение, генерируются два файла: wear-release.apk и mobile-release.apk, другого apk нет. Разве имя apk не должно быть именем моего пакета в каталоге проекта? -Потому что я пытался открыть оба файла на моем совместимом смартфоне (с подключенным носимым устройством), что всегда мгновенно заканчивается фразовой ошибкой.

Вещи, которые я заметил:

  • В пакете мобильной версии в Android Studio нет контента
  • Разрешения упоминаются только в мобильном манифесте (также пробовали с разрешениями в обоих манифестах)
  • это обычный циферблат без настройки
  • Мобильный релиз apk намного больше, чем износ apk, хотя у меня почти ничего не размещено в мобильной части. (--> хорошо, может, Wear-apk уже есть в mobile-apk)?
  • Я пытался установить apks с SD-карты и памяти телефона
  • У меня включена установка apks из неизвестных источников.

Спасибо за вашу помощь и время -Botti560


person Botti560    schedule 13.03.2015    source источник


Ответы (2)


После нажатия «Создать подписанный APK» убедитесь, что модуль «мобильный» выбран в раскрывающемся списке. Сгенерированный APK, содержащий как модули одежды, так и мобильные модули, будет называться «mobile-release.apk». Также в settings.gradle должен присутствовать include ':mobile', ':wear', а также в build.gradle (модуль: мобильный) должен быть

dependencies {
    wearApp project(':wear')
}

ИЗМЕНИТЬ больше содержания/пояснений, добавленных ниже

Хорошо с этим редактированием, надеюсь, я смогу помочь вам решить ваши проблемы!

Во-первых, убедитесь, что вы используете последнюю стабильную версию Android Studio. На сегодняшний день последней версией является Android Studio 1.1.0. Раньше у меня были проблемы с созданием подписанного APK в более ранней версии. Во-вторых, убедитесь, что у вас есть последние файлы SDK, включая последний API (API 22).

Если у вас есть эта настройка, если создание подписанного APK для вашего приложения по-прежнему не работает. Я бы попробовал сделать новый проект для Android. Установите минимальный SDK для телефона на API 18 (4.3 Jelly Bean, самый низкий уровень API, совместимый с Android Wear). И установите для минимального износа SDK значение API 20 (Android 4.4 KitKat Wear).

Затем попробуйте создать подписанный APK этого нового проекта, не внося в него никаких изменений. ЭТО ДОЛЖНО РАБОТАТЬ! Если у вас все еще есть проблемы, значит, что-то серьезно не так, и я бы просто переустановил Android Studio с нуля.

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

Наконец, три файла: build.gradle (Project: anAppImade), build.gradle (Moduble: mobile) и build.gradle (Module: Wear) должны выглядеть примерно так (соответственно).

build.gradle (проект: anAppImade)

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.1.0'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

build.gradle (модуль: мобильный)

apply plugin: 'com.android.application'

android {
    compileSdkVersion 22
    buildToolsVersion "22.0.0"

    defaultConfig {
        applicationId "com.ppltalkin.anappimade"
        minSdkVersion 18
        targetSdkVersion 22
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    wearApp project(':wear')
    compile 'com.android.support:appcompat-v7:22.0.0'
    compile 'com.google.android.gms:play-services:6.5.87'
}

build.gradle (модуль: износ)

apply plugin: 'com.android.application'


android {
    compileSdkVersion 22
    buildToolsVersion "22.0.0"

    defaultConfig {
        applicationId "com.ppltalkin.anappimade"
        minSdkVersion 20
        targetSdkVersion 22
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.google.android.support:wearable:1.1.0'
    compile 'com.google.android.gms:play-services-wearable:6.5.87'
}
person Benjamin    schedule 13.03.2015
comment
Спасибо за быструю помощь, но я сделал это именно так, как вы оба упоминали ранее. Дело в том, что оба файла генерируются, когда я выбираю только мобильный телефон для установки. Но это может быть не важно или нормально. Но я все время получаю фразовую ошибку :/ - person Botti560; 14.03.2015
comment
это мои мобильные зависимости: ' скомпилировать 'com.google.android.gms:play-services:6.5.87' скомпилировать com.google.android.support:wearable:1.1.+ скомпилировать 'com.android.support:support-v13:21.0.+' } - person Botti560; 14.03.2015
comment
Я отредактировал свой оригинальный пост и, надеюсь, он вам поможет! - person Benjamin; 15.03.2015
comment
СПАСИБО!! Вот несколько отличных советов, я сейчас как раз пишу финал, так что не могу сразу протестировать. -привет из Германии Botti560 .D - person Botti560; 19.03.2015

Предполагая, что вы используете студию Android:

Ваш мобильный файл build.gradle должен иметь следующую зависимость:

dependencies {
   ...
   wearApp project(':wear')
}

Перейдите в раздел «Сборка» > «Создать подписанный apk». В первом окне выберите мобильный в качестве модуля.

Теперь, когда сборка будет завершена, модуль износа будет автоматически встроен в мобильный модуль. Мобильный apk — это тот, который вы распространяете. Износ можно использовать для тестирования.

просмотрите эту документацию для получения более подробных инструкций.

person osthoro    schedule 13.03.2015
comment
Apk не вставляется, я следовал вашим инструкциям - person JPM; 23.02.2017