我已设置[{'cast_id': 23, 'character': "Roger 'Verbal' Kint", 'credit_id': '52fe4260c3a36847f8019af7', 'gender': 2, 'id': 1979, 'name': 'Kevin Spacey', 'order': 5, 'profile_path': '/x7wF050iuCASefLLG75s2uDPFUu.jpg'}, {'cast_id': 27, 'character': 'Edie's Finneran', 'credit_id': '52fe4260c3a36847f8019b07', 'gender': 1, 'id': 2179, 'name': 'Suzy Amis', 'order': 6, 'profile_path': '/b1pjkncyLuBtMUmqD1MztD2SG80.jpg'}]
并在javascript中使用它没问题,但我无法在react-native-config
中使用它。
build.gradle
版本
release {
if (project.hasProperty('MYAPP_RELEASE_STORE_FILE')) {
storeFile file(project.env.get("MYAPP_RELEASE_STORE_FILE"))
storePassword project.env.get("MYAPP_RELEASE_STORE_PASSWORD")
keyAlias project.env.get("MYAPP_RELEASE_KEY_ALIAS")
keyPassword project.env.get("MYAPP_RELEASE_KEY_PASSWORD")
}
}
输出
react-native-cli: 2.0.1
react-native: 0.49.5
react: 16.0.0
react-native-config: 0.11.1
答案 0 :(得分:1)
在gradle构建中,您使用project.env.get("VAR NAME")
答案 1 :(得分:0)
似乎MYAPP_RELEASE_STORE_FILE
中的文件不存在。你有什么价值?该文件是否存在于同一文件夹中?
但请注意,您不应该在.env
中存储签名机密;来自react-native-config自述文件:
请记住,此模块不会对包装的秘密进行模糊处理或加密,因此请勿将敏感密钥存储在.env中。它是basically impossible to prevent users from reverse engineering mobile app secrets,因此请设计您的应用(和API)。
您可以做的是使用Gradle属性文件来保守秘密。例如,在~/.gradle/gradle.properties
:
MYAPP_RELEASE_KEY_ALIAS=myapp
MYAPP_RELEASE_STORE_PASSWORD=abc
MYAPP_RELEASE_KEY_PASSWORD=def
这些只在build.gradle
中可用:
signingConfigs {
release {
storeFile "myapp.keystore"
keyAlias MYAPP_RELEASE_KEY_ALIAS
storePassword MYAPP_RELEASE_STORE_PASSWORD
keyPassword MYAPP_RELEASE_KEY_PASSWORD
}
}
答案 2 :(得分:0)
虽然自动链接已为您设置好,但仍需要手动设置以在 build.gradle
中使用它
申请自:project(':react-native-config').projectDir.getPath() + "/dotenv.gradle"
到最顶部,就在 import com.android.build.OutputFile
文件中的 android/app/build.gradle
下方
https://github.com/luggit/react-native-config#extra-step-for-android