8

嗨,我正在尝试在 android 中使用OneSignal,我正在按照本教程在 Android Studio 中安装 SDK。这里

我能够编译依赖项并同步 gradle 文件。但是当我想导入com.onesignal.OneSignal;它时说:无法解析符号!

这是我在 app.gradle 文件中的依赖项

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:23.0.1'
    compile 'com.android.support:design:23.0.1'
    compile 'com.onesignal:OneSignal:1.10.+@aar'
    compile 'com.google.android.gms:play-services-gcm:+'
    compile 'com.google.android.gms:play-services-analytics:+'
    compile project(':gson-2.2.2')
    compile project(':java_websocket')
    compile project(':signalr-client-sdk')
    compile project(':signalr-client-sdk-android')
}

我做的事情:

1. File > Synchronize
2. File > Invalidate Cashes and Restart

更新:

我在一个新项目中做了这些步骤,没关系!为什么我不能在这个特定的项目中做到这一点?

编辑:

整个 build.gradle

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.1"

    useLibrary 'org.apache.http.legacy'

    defaultConfig {
        applicationId "ir.irsapardaz.sina.gamev01"
        manifestPlaceholders = [manifestApplicationId:"${applicationId}"]
        minSdkVersion 15
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'),    'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:23.0.1'
    compile 'com.android.support:design:23.0.1'
    compile 'com.onesignal:OneSignal:1.10.+@aar'
    compile 'com.google.android.gms:play-services-gcm:+'
    compile 'com.google.android.gms:play-services-analytics:+'
    compile project(':gson-2.2.2')
    compile project(':java_websocket')
    compile project(':signalr-client-sdk')
    compile project(':signalr-client-sdk-android')
}
4

5 回答 5

10

在您的 gradle 文件中使用以下内容来获取最新的 OneSignal SDK 3.X 版本。

compile 'com.onesignal:OneSignal:[3.8.3, 3.99.99]'

您看到的错误通常是由于 Android Studio 没有从 Maven Central 中提取 SDK,或者您在.gradle向其添加 OneSignal 后没有同步您的 SDK。

在你的情况下Tool> Android>Sync Project应该修复以下错误

com.onesignal.OneSignal; Cannot resolve symbol!

如果这不起作用,请参阅 OneSignal 的文档以了解更多可以尝试的方法。 https://documentation.onesignal.com/docs/troubleshooting-android

于 2016-04-28T02:58:10.580 回答
1

如果有人在 ReactNative v0.37 中遇到这个问题,我遇到了类似的问题,但我的代码总体上是较新的。以下解决了它:

对于 android,请务必使用:

import com.geektime.reactnativeonesignal.ReactNativeOneSignalPackage;并不是import com.geektime.rnonesignal.ReactNativeOneSignalPackage;

一些旧文档有 rnonesignal 并且已经更新。

YMMV,如果你使用的是低于 RN v0.37 的东西。祝你好运。

于 2016-12-02T22:56:04.510 回答
1

点击此处查看图片参考

点击此处查看图片参考

在您的 Build Gradel 文件中

应用插件:'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.1"

    useLibrary 'org.apache.http.legacy'

    defaultConfig {

        applicationId "ir.irsapardaz.sina.gamev01"
        manifestPlaceholders = [manifestApplicationId:"${applicationId}"]
        minSdkVersion 15
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'),    'proguard-rules.pro'
        }
    }

在下面

default Config{

}

添加这个:

manifestPlaceholders = [onesignal_app_id: " Your app ID as provided by OneSignal ",

onesignal_google_project_number: " Your Sender Id as provided by Google firebase "
于 2017-02-26T10:49:59.297 回答
0

compile 'com.onesignal:OneSignal:2.3.0' 在 gradle 文件中试试这个。版本将被更新。

于 2016-04-25T05:05:31.173 回答
0

在您的 build.gradle 中添加此依赖项并同步 gradle 文件,我希望它会起作用。

 compile 'com.onesignal:OneSignal:3.+@aar'
 compile 'com.google.android.gms:play-services-gcm:10.2.1'
 compile 'com.firebase:firebase-client-android:2.5.2+'

如果这不起作用,您还可以查看正确的 OneSignal 文档。 https://documentation.onesignal.com/docs/android-sdk-setup

于 2018-04-12T10:14:05.937 回答