Javascript Expo android单机版应用程序在请求位置权限时崩溃
我对expo单机版应用程序有问题。问题在于位置的ask权限。在开发模式下,应用程序请求位置权限,运行良好。没有bug。在使用 世博建筑:安卓 它创建了一个android独立应用程序。安装该APK并尝试访问请求位置权限的同一页面后,应用程序崩溃并重新启动 我将权限添加到app.json,但它不起作用。开发模式,一切正常 app.json 请求位置权限Javascript Expo android单机版应用程序在请求位置权限时崩溃,javascript,react-native,expo,android-permissions,Javascript,React Native,Expo,Android Permissions,我对expo单机版应用程序有问题。问题在于位置的ask权限。在开发模式下,应用程序请求位置权限,运行良好。没有bug。在使用 世博建筑:安卓 它创建了一个android独立应用程序。安装该APK并尝试访问请求位置权限的同一页面后,应用程序崩溃并重新启动 我将权限添加到app.json,但它不起作用。开发模式,一切正常 app.json 请求位置权限 任何人都可以解决这个问题,请帮助我 升级您的expo cli和expo sdk或降级(如果太新)您想通过Android Studio制作一个应用程序
任何人都可以解决这个问题,请帮助我 升级您的expo cli和expo sdk或降级(如果太新)您想通过Android Studio制作一个应用程序吗?我没有安装Android Studio,我使用vs代码。因为您将expo制作为一个独立的应用程序,所以您需要使用Android Studio来构建它。是的,没问题。但问题是,这不是我第一次构建这个应用程序。每次我构建这个应用程序,它都能正常工作。突然,我上次构建应用程序时,在询问权限时发生崩溃。但在它工作之前..如何使用android studio构建??我已经用expo-build:android构建了它。它错了吗?它不是一个与世博会有关的错误!
"expo": {
"name": "AS APP",
"slug": "as_app",
"privacy": "public",
"sdkVersion": "32.0.0",
"android": {
"package": "com.xxx.asapp",
"icon": "./assets/icon.png",
"permissions": [
"ACCESS_COARSE_LOCATION",
"ACCESS_FINE_LOCATION",
"CAMERA",
"READ_EXTERNAL_STORAGE",
"WRITE_EXTERNAL_STORAGE"
]
},
"platforms": [
"ios",
"android"
],
"version": "1.10",
"orientation": "portrait",
"icon": "./assets/icon.png",
"splash": {
"image": "./assets/splash.png",
"resizeMode": "cover",
"backgroundColor": "#781D7D"
},
"updates": {
"fallbackToCacheTimeout": 0
},
"assetBundlePatterns": [
"**/*"
],
"ios": {
"supportsTablet": true,
"bundleIdentifier": "com.xxx.asapp"
},
"description": "",
}
let { status } = await Permissions.askAsync(Permissions.LOCATION);
if(this.state.isMounted){
if (status !== 'granted') {
Alert.alert(
'Permissions',
'please grant your permissions to access your location!',
[
{text: 'Ok', onPress: () => {
const popAction = StackActions.pop({n: 1});
this.props.navigation.dispatch(popAction);
}}
],
{cancelable: false},
);
}else{
let myLocation = await Location.getCurrentPositionAsync({
enableHighAccuracy: true,
});
let direction = await Location.geocodeAsync(this.props.navigation.getParam('address',null));
let myLocationAddress = await Location.reverseGeocodeAsync({
latitude: myLocation.coords.latitude,
longitude: myLocation.coords.longitude,
});
this.setState({
coordinates: [
{
latitude: myLocation.coords.latitude,
longitude: myLocation.coords.longitude
},
{
latitude: direction[0].latitude,
longitude: direction[0].longitude
},
],
myAddress: myLocationAddress
})
}
}