错误:任务执行失败':TMessagesProj:processArmv7DebugGoogleServices'

时间:2017-09-15 21:19:23

标签: android telegram

我使用android studio预览版beta 4,我使用Telegram源代码(https://github.com/DrKLO/Telegram),当我想连接到Firebase时,我收到此消息:

  

“找不到为build build type指定的文件({0})中的密钥库。{2}”

并收到此消息:

  

由于以下原因,无法将任何客户端添加到您的Firebase项目中:   Firebase:连接到Firebase失败。请检查您的互联网连接,然后重试。如果错误仍然存​​在,您可以在https://console.firebase.google.com

手动连接

当我手动连接到Firebase并将google-services.json添加到我的应用时,我收到此消息:

  

错误:任务执行失败':TMessagesProj:processArmv7DebugGoogleServices'。    找不到包名称'org.telegram.messenger.beta'

的匹配客户端

build.gradle(Module:TMessengerProj)

  apply plugin: 'com.android.application'

  repositories {
        mavenCentral()
  }

   configurations {
      compile.exclude module: 'support-v4'
   }

 dependencies {
  compile 'com.google.android.gms:play-services-gcm:11.0.2'
  compile 'com.google.android.gms:play-services-maps:11.0.2'
  compile 'com.google.android.gms:play-services-vision:11.0.2'
  compile 'com.google.android.gms:play-services-wallet:11.0.2'
  compile 'com.google.android.gms:play-services-wearable:11.0.2'
  compile 'com.android.support:support-core-ui:25.3.1'
  compile 'com.android.support:support-compat:25.3.1'
  compile 'com.android.support:support-core-utils:25.3.1'
  compile 'com.android.support:support-v13:25.3.1'
  compile 'com.android.support:palette-v7:25.3.1'
  compile 'net.hockeyapp.android:HockeySDK:4.1.3'
  compile 'com.googlecode.mp4parser:isoparser:1.0.6'
  compile 'com.stripe:stripe-android:2.0.2'
   }

  android {
 compileSdkVersion 25
 buildToolsVersion '25.0.2'

 useLibrary 'org.apache.http.legacy'
defaultConfig.applicationId = "org.telegram.messenger"

sourceSets.main.jniLibs.srcDirs = ['./jni/']

externalNativeBuild {
    ndkBuild {
        path "jni/Android.mk"
    }
}

dexOptions {
    jumboMode = true
}

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
        v2SigningEnabled false
    }

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

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

    release {
        debuggable false
        jniDebuggable false
        signingConfig signingConfigs.release
        minifyEnabled false
        shrinkResources false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }

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

defaultConfig.versionCode = 1043

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

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

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

productFlavors {
    x86 {
        ndk {
            abiFilter "x86"
        }
        versionCode = 2
    }
    armv7 {
        ndk {
            abiFilter "armeabi-v7a"
        }
        versionCode = 1
    }
    x86_SDK23 {
        ndk {
            abiFilter "x86"
        }
        sourceSets.debug {
            manifest.srcFile 'config/debug/AndroidManifest_SDK23.xml'
        }
        sourceSets.release {
            manifest.srcFile 'config/release/AndroidManifest_SDK23.xml'
        }
        minSdkVersion 23
        versionCode = 4
    }
    armv7_SDK23 {
        ndk {
            abiFilter "armeabi-v7a"
        }
        sourceSets.debug {
            manifest.srcFile 'config/debug/AndroidManifest_SDK23.xml'
        }
        sourceSets.release {
            manifest.srcFile 'config/release/AndroidManifest_SDK23.xml'
        }
        minSdkVersion 23
        versionCode = 3
    }
    fat {
        sourceSets.debug {
            manifest.srcFile 'config/debug/AndroidManifest_SDK23.xml'
        }
        sourceSets.release {
            manifest.srcFile 'config/release/AndroidManifest_SDK23.xml'
        }
        versionCode = 5
    }
}

applicationVariants.all { variant ->
    def abiVersion = variant.productFlavors.get(0).versionCode
    variant.mergedFlavor.versionCode = defaultConfig.versionCode * 10 + abiVersion
}

defaultConfig {
    minSdkVersion 16
    targetSdkVersion 25
    versionName "4.2.1"

    externalNativeBuild {
        ndkBuild {
            arguments "NDK_APPLICATION_MK:=jni/Application.mk", 
 "APP_PLATFORM:=android-14"
            abiFilters "armeabi-v7a", "x86"
        }
    }
 }
 }

apply plugin: 'com.google.gms.google-services'

build.gradle(项目:Telegram-Master)

buildscript {
repositories {
    jcenter()
    mavenCentral()
}
dependencies {
    classpath 'com.android.tools.build:gradle:2.3.2'
    classpath 'com.google.gms:google-services:3.0.0'
}
}

1 个答案:

答案 0 :(得分:0)

  1. 如果您还没有,请生成AndroidStudio 一个带密钥的密钥库(在我的情况下,我做了一个V2类型) 对于项目使用:Build - >生成签名APK。 记住密钥名称,密钥库文件名和 您使用的密码!

  2. AndroidStudio(也是java)提供了一个keytool jre目录。您必须使用它来提取SHA1 你刚刚创建的指纹,这样: ..... AndroidStudio2.2 \ system \ restart \ jre \ bin \ keytool.exe -exportcert -list -v -alias key_name -keystore the_keystore.jks 将显示如下内容:

    证书指纹:      MD5:......      SHA1:A2:7E:E ...

  3. 然后,您必须转到Google的Firebase页面(*)并注册该项目。 如果你没有,你会被要求提供包名 改变了它应该是的任何东西:org.telegram.messenger和 来自密钥的SHA1。您将在以下步骤中完成 提供google-services.json文件进行下载。 请务必完成向导并在其中创建应用程序。

  4. 将检索到的文件放入Telegram \ TMessagesProj目录。

  5. 返回AndroidStudio并尝试使用构建项目 之前的相同选项:Build - >生成签名APK。

  6. 它应该有用。

    PS:我发现有时AndroidStudio会锁定google-services.json,如果发生这种情况,请关闭AndroidStudio。

    Firebase页面:https://console.firebase.google.com

    其他资源:https://developers.google.com/android/guides/setup