在React Native Android中使用Auth0-lock构建失败

时间:2016-03-22 15:12:31

标签: android gradle android-gradle react-native auth0

我正在尝试将Auth0 Lock与我的Android React-Native应用程序一起使用。我按照设置说明here进行了操作,但在构建时出现以下错误:

FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring project ':app'.
> Could not resolve all dependencies for configuration ':app:_debugCompile'.
   > Could not find any matches for com.auth0.android:lock-react-native:+ as no versions of com.auth0.android:lock-react-native are available.
     Searched in the following locations:
         file:/Users/m/.m2/repository/com/auth0/android/lock-react-native/maven-metadata.xml
         file:/Users/m/.m2/repository/com/auth0/android/lock-react-native/
         https://jcenter.bintray.com/com/auth0/android/lock-react-native/maven-metadata.xml
         https://jcenter.bintray.com/com/auth0/android/lock-react-native/
         file:/Users/m/git/this-or-that-app/node_modules/react-native/android/com/auth0/android/lock-react-native/maven-metadata.xml
         file:/Users/m/git/this-or-that-app/node_modules/react-native/android/com/auth0/android/lock-react-native/
         file:/usr/local/opt/android-sdk/extras/android/m2repository/com/auth0/android/lock-react-native/maven-metadata.xml
         file:/usr/local/opt/android-sdk/extras/android/m2repository/com/auth0/android/lock-react-native/
     Required by:
         thisOrThatApp:app:unspecified

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 16.332 secs
Could not install the app on the device, read the error above for details.
Make sure you have an Android emulator running or a device connected and have
set up your Android development environment:
https://facebook.github.io/react-native/docs/android-setup.html

我注意到这些界限:

file:/Users/m/git/this-or-that-app/node_modules/react-native/android/com/auth0/android/lock-react-native/maven-metadata.xml
file:/Users/m/git/this-or-that-app/node_modules/react-native/android/com/auth0/android/lock-react-native/

我有一个预感,应该安装它的正确位置是node_modules文件夹,但gradle正在查看react-native模块内部何时应该查看react-native-lock-android。这可能是gradle配置的问题。有关如何解决此问题的任何提示?

1 个答案:

答案 0 :(得分:1)

原来,Auth0网站上react-native-android的文档已经过时了。使用github repo上的设置说明:https://github.com/auth0/react-native-lock-android

但是回购仍然有点过时,并没有完全清楚如何修改MainActivity.java。因此,对于稍后访问此帖子的任何人来说,这是我的MainActivity.java文件:

package com.thisorthatapp;

import com.auth0.core.Strategies;
import com.auth0.facebook.FacebookIdentityProvider;
import com.auth0.lock.react.LockReactPackage;
import com.facebook.react.ReactActivity;
import com.facebook.react.ReactInstanceManager;
import com.facebook.react.ReactPackage;
import com.facebook.react.shell.MainReactPackage;

import java.util.Arrays;
import java.util.List;

public class MainActivity extends ReactActivity {

    /**
     * Returns the name of the main component registered from JavaScript.
     * This is used to schedule rendering of the component.
     */
    @Override
    protected String getMainComponentName() {
        return "thisOrThatApp";
    }

    /**
     * Returns whether dev mode should be enabled.
     * This enables e.g. the dev menu.
     */
    @Override
    protected boolean getUseDeveloperSupport() {
        return BuildConfig.DEBUG;
    }

    /**
     * A list of packages used by the app. If the app uses additional views
     * or modules besides the default ones, add more packages here.
     */
    @Override
    protected List<ReactPackage> getPackages() {
        LockReactPackage lockReactPackage = new LockReactPackage();
        lockReactPackage.addIdentityProvider(Strategies.Facebook, new FacebookIdentityProvider(this));
        return Arrays.<ReactPackage>asList(
            new MainReactPackage(),
            lockReactPackage
        );
    }
}