1

2016 年,我发布了一个使用 parse(和 parse.com)来存储一些数据的应用程序,它运行得非常好。我在 Google Play 上发布了它,下载量接近 5k。2017 年,parse.com 被关闭。我没有时间转移到另一台服务器,所以我从 Google Play 取消了它的发布。现在在 2018 年,我想把它重新上线。我发现 back4app.com 正在使用 parse API。我花了几个星期更新我的代码,现在当我在 Android Studio 上运行它并让它在我的手机上安装应用程序时它工作正常。然而,昨天我在google play上发布了一个测试版,我的一些朋友说它不能正常工作。我在手机上检查了它,我注意到当我直接从 google play 安装它时,我的 back4app 连接不起作用。

有解决办法吗?和权限有关吗?我不明白为什么当android studio安装它时它在我的手机上工作得很好,而当它直接从google play安装时它不与服务器通信。

下面我附上我的gradle,希望这里有问题。

apply plugin: 'com.android.application'

android {
    compileSdkVersion 26
    buildToolsVersion '25.0.3'

    defaultConfig {
        applicationId "package.name"
        minSdkVersion 21
        targetSdkVersion 26
        multiDexEnabled true
        versionCode 13
        versionName "1.9.2"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    dexOptions {
        // Prevent OutOfMemory with MultiDex during the build phase
        javaMaxHeapSize "2048"
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    // Fancy Button
    compile 'com.android.support:appcompat-v7:26.0.0'
    compile 'info.hoang8f:fbutton:1.0.5'
    // Parse
    // Compile 'com.parse.bolts:bolts-android:1.+'
    compile 'com.parse:parse-android:1.16.3' //update version to the latest one
    compile fileTree(dir: 'libs', include: 'Parse-*.jar')
    // AdBuddiz
    compile 'com.purplebrain.adbuddiz.sdk:AdBuddiz-Java:3.+'
    // Push
    compile 'com.parse.bolts:bolts-android:1.+'
    compile 'com.google.firebase:firebase-core:10.0.1'
    compile 'com.google.firebase:firebase-messaging:10.0.1'
    // Pushes Firebase service
    apply plugin: 'com.google.gms.google-services'
}

repositories {
    maven {
        url 'http://repository.adbuddiz.com/maven'
        }
    maven {
        url "http://maven.google.com"
        }
    jcenter()
}

4

1 回答 1

2

经过几个小时测试我的代码后,我终于发现了我的错误。

我错误地添加了三个相同的解析库,两个已经过时,另一个是正确的。见下文:

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar']) <- HERE
    // Fancy Button
    compile 'com.android.support:appcompat-v7:26.0.0'
    compile 'info.hoang8f:fbutton:1.0.5'
    // Parse
    // Compile 'com.parse.bolts:bolts-android:1.+'
    compile 'com.parse:parse-android:1.16.3' //update version to the latest one  <- THIS IS THE ONLY ONE I NEED!
    compile fileTree(dir: 'libs', include: 'Parse-*.jar')  <- HERE
    // AdBuddiz
    compile 'com.purplebrain.adbuddiz.sdk:AdBuddiz-Java:3.+'
    // Push
    compile 'com.parse.bolts:bolts-android:1.+'
    compile 'com.google.firebase:firebase-core:10.0.1'
    compile 'com.google.firebase:firebase-messaging:10.0.1'
    // Pushes Firebase service
    apply plugin: 'com.google.gms.google-services'
}

所以我所要做的就是删除这两个并留下正确的一个。见下文:

dependencies {
    // Fancy Button
    compile 'com.android.support:appcompat-v7:26.0.0'
    compile 'info.hoang8f:fbutton:1.0.5'
    // Parse
    // Compile 'com.parse.bolts:bolts-android:1.+'
    compile 'com.parse:parse-android:1.16.3' //update version to the latest one  <- THIS IS THE ONLY ONE I NEED!
    // AdBuddiz
    compile 'com.purplebrain.adbuddiz.sdk:AdBuddiz-Java:3.+'
    // Push
    compile 'com.parse.bolts:bolts-android:1.+'
    compile 'com.google.firebase:firebase-core:10.0.1'
    compile 'com.google.firebase:firebase-messaging:10.0.1'
    // Pushes Firebase service
    apply plugin: 'com.google.gms.google-services'
}

我几乎删除了这个问题,但我相信把它留在这里告诉我们,有时候解决一个大问题真的很容易。您所需要的只是多注意您的代码 =/ 我的错!

于 2018-03-11T17:31:57.393 回答