Я скачал проект с GitHub и открыл его в Android Studio. Все необходимые инструменты сборки и репозитории поддержки Android были автоматически загружены через Android Studio.

https://github.com/DrKLO/Telegram

Теперь, когда я пытаюсь запустить проект , я получаю сообщение об ошибке в сообщениях.

Error:A problem was found with the configuration of task ':TMessagesProj:packageDebug'.
> File 'G:\AndroidDev\AndroidStudioProjects\Telegram-master\TMessagesProj\config\release.keystore' specified for property 'signingConfig.storeFile' does not exist.

Я нашел несколько других тем на Stack Exchange:

Приложение для подписи Gradle с packageRelease «указанное для свойства« signatureConfig.storeFile »не существует»

Android, указанный для свойства "signatureConfig.storeFile", не существует

И я создал хранилища ключей, как они предложили, но я все еще получаю эту ошибку, когда нажимаю кнопку запуска. Кажется, они отличаются от моих.

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

Я уверен, что он должен работать правильно, потому что это официальный источник мессенджера Telegram. https://github.com/DrKLO/Telegram

Если вам нужен файл build.gradle:

apply plugin: 'com.android.application'

repositories {
    mavenCentral()
}

dependencies {
    compile 'com.android.support:support-v4:23.1.+'
    compile 'com.google.android.gms:play-services:3.2.+'
    compile 'net.hockeyapp.android:HockeySDK:3.6.+'
    compile 'com.googlecode.mp4parser:isoparser:1.0.+'
}

android {
    compileSdkVersion 23
    buildToolsVersion '23.0.2'

    useLibrary 'org.apache.http.legacy'

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_7
        targetCompatibility JavaVersion.VERSION_1_7
    }

    signingConfigs {
        debug {
            storeFile file("config/release.keystore")
            storePassword RELEASE_STORE_PASSWORD
            keyAlias RELEASE_KEY_ALIAS
            keyPassword RELEASE_KEY_PASSWORD
        }

        release {
            storeFile file("config/release.keystore")
            storePassword RELEASE_STORE_PASSWORD
            keyAlias RELEASE_KEY_ALIAS
            keyPassword RELEASE_KEY_PASSWORD
        }
    }

    buildTypes {
        debug {
            debuggable true
            jniDebuggable true
            signingConfig signingConfigs.debug
            applicationIdSuffix ".beta"
        }

        release {
            debuggable false
            jniDebuggable false
            signingConfig signingConfigs.release
        }

        foss {
            debuggable false
            jniDebuggable false
            signingConfig signingConfigs.release
        }
    }

    sourceSets.main {
        jniLibs.srcDir 'libs'
        jni.srcDirs = [] //disable automatic ndk-build call
    }

    sourceSets.debug {
        manifest.srcFile 'config/debug/AndroidManifest.xml'
    }

    sourceSets.release {
        manifest.srcFile 'config/release/AndroidManifest.xml'
    }

    sourceSets.foss {
        manifest.srcFile 'config/foss/AndroidManifest.xml'
    }

    defaultConfig {
        minSdkVersion 8
        targetSdkVersion 23
        versionCode 695
        versionName "3.3.2"
    }
}
1
Milad Nasri 6 Янв 2016 в 12:34

3 ответа

Лучший ответ

1) проверьте, существует ли storeFile по пути G:\AndroidDev\AndroidStudioProjects\Telegram-master\TMessagesProj\config\release‌​.keystore

2) если нет - переименуйте / переместите туда файл хранилища ключей или измените путь к месту расположения файла хранилища ключей.

Теперь он должен работать. Если у вас возникла проблема со сборкой по поводу нативного кода, попробуйте эту тему Приложение Telegram для Android - & gt; java.lang.UnsatisfiedLinkError: для void реализации не найдено

0
Community 23 Май 2017 в 12:33

Ваша проблема: Android Studio ищет ключевой файл, который, как вы сказали, должен быть там ... но его нет.

Где вы сказали Android Studio, что файл будет там?

storeFile file("config/release.keystore")

Как создать этот недостающий файл? https://developer.android.com/studio/publish/app-signing.html

Если у вас уже есть созданное хранилище ключей, проверьте, находится ли оно в нужном месте, обычно я использую папку с именем 'keystore' вместо 'config', что намного удобнее, когда вы просматриваете ее в поиске;)

storeFile rootProject.file("keystore/release.keystore")
1
Fernando Bonet 17 Июн 2016 в 13:15

Чтобы сгенерировать хранилище ключей, перейдите в меню «Сборка»> «Создать подписанный APK» и нажмите «Новое хранилище ключей», переименуйте созданный файл в release.keystore и переместите его в TMessagesProj / config.

Android Studio создает файлы .jks. Просто переименуйте его из release.jks в release.keystore. После этого сборка будет успешной.

0
Christoph Defryn 24 Апр 2018 в 22:15