当构建生产,签名,apk时,我注意到输出中的这些行:
Running dex in-process requires build tools 23.0.2.
For faster builds update this project to use the latest build tools.
Run Code Online (Sandbox Code Playgroud)
我(想)记住,必须在精确版本23.0.1上安装android构建工具.
我该怎么做才能更新项目?
UPDATE
我卸载了build-tools 23.0.1并安装了23.0.3.
然后我build.gradle按照sfratini的建议更新了文件,但是在构建时我得到了:
Checking the license for package Android SDK Build-Tools 23.0.1 in C:\Users\realtebo\AppData\Local\Android\Sdk\licenses
License for package Android SDK Build-Tools 23.0.1 accepted.
Preparing "Install Android SDK Build-Tools 23.0.1".
Run Code Online (Sandbox Code Playgroud)
当然,使用最新构建工具的建议已经消失,但我无法理解为什么旧的构建工具会自动强制安装.
编辑:经过进一步检查,似乎这只发生在Android 6.0.1中.尝试使用6.0的几个设备,这不是一个问题.
我有一个非常简单的React Native代码片段,我想在TextInput中清除文本.它看起来有点像这样:
state = {
v: ""
};
_changeText = v => {
this.setState({ v });
};
clear = () => {
this.textInputRef.clear();
}
render() {
return (
<View style={styles.container}>
<TouchableOpacity onPress={this.clear}>
<Text> Clear </Text>
</TouchableOpacity>
<TextInput
ref={ref => this.textInputRef = ref}
value={this.state.v}
onChangeText={this._changeText}
/>
</View>
);
}
Run Code Online (Sandbox Code Playgroud)
现在我期望的行为是让文本输入保持焦点,并清除文本.这就是发生的事情 - 但是,当我开始在键盘上输入内容时,我之前清除的文本会重新出现在文本输入中.显然,这种文本的持久性并不是真正需要的.
有没有人遇到过这个问题?它是RN错误还是有任何方法可以避免这种行为而不需要模糊键盘?
这里有一个小片段来澄清我的意思:https://snack.expo.io/H1S9b5Mpe.
如果您开始输入,请按清除,然后继续输入,之前显示的文本将出现在新键入的文本之前.
我在ReactNative上,我正在使用native-base和react-navigation npm.
我得到了这个,我的问题是如何有一个标题,直到按钮"Home",我查看了反应导航的文档,但它并没有真正清除.
像这样(图像是固定的,只是在这里放置一个徽标)
javascript navigation-drawer react-native react-native-android react-native-ios
我正在为iOS和Android构建一个React Native原生模块(又名"bridge"),需要使用本机代码(Objective C和Java)登录JS控制台.这在iOS中很容易完成,RCTLog但我无法弄清楚如何在Java中完成.
我试过,Log.i但这些消息不会转发到Javascript.
在这一点上我唯一能想到的就是从Java模块发出一个JS事件,并且在JS端有一个处理程序只是调用console.log消息,但这是一种非常迂回的方式.
我希望能够做一些类似this.getReactApplicationContext().log("see me in the JS console")但没有骰子的事情.有人知道怎么做吗?
我的代码获取Json数据到一个数组使用a列出数据FlatList.它看起来像电话簿照片和文本连续.
这是我的代码:
renderItem = ({ item }) =>
(
<ListItem
title={item.username}
avatar={{ uri: item.photo }}
/>
)
render() {
console.log(this.state.myData);
return (
<View style={styles.container}>
<FlatList
data={this.state.myData}
renderItem={this.renderItem}
/>
</View>
);
}
Run Code Online (Sandbox Code Playgroud)
它的工作和我得到输出,但性能很慢.渲染大约需要10秒钟,这对用户来说很烦人.我该怎么做才能让它更快?
javascript react-native react-native-android react-native-flatlist
我在Stackoverflow上看到了类似的问题,但没有一个解决问题。我刚刚从Expo桌面应用程序创建了新的ReactNative项目。但是,当Expo配置设为LAN模式时,无法通过QR码扫描在Android手机上运行它。这似乎无法在我的Android手机上访问(看起来像)。我的手机在同一Wifi网络上。
我还尝试通过关闭防火墙来运行Expo演示应用程序,但仍然没有成功。我相信您的技术外观可能会解决我的问题。
注意:Expo隧道已关闭,这就是为什么它以LAN模式加载的原因。几天前,我尝试了有效的隧道模式。但是,那时LAN也不起作用。因此,可能有人可以指出正确的方向,因此我可以在LAN模式下运行它(位于同一Wifi网络上的电话和计算机上)。
我正在使用CameraRoll.getPhotos从画廊获取照片。
import {
CameraRoll,
} from 'react-native';
CameraRoll.getPhotos(fetchParams).then((data) => {
});
Run Code Online (Sandbox Code Playgroud)
我在某些android手机上的图像方向有问题。我已经能够检测到大多数三星产品中发生的情况。
它的方向取决于您拍摄照片的方式。
portrait with home button in bottom position:90º
landscape with home button left position:180º
portrait with home button in top position:270º
landscape with home button right position:0º
根据CameraRoll文档,方向值不会由返回getPhotos。
我正在尝试:
transform: [{ rotateX: '0deg' }, { rotateY: '0deg' }] 要么 rotate: '0deg' react-native-media-meta了GET的元数据信息(不适用)Image但值得注意。:(
问题是图像在我的应用程序中似乎旋转了,但是在本机库中却忽略了它们的旋转度,并正确显示为0º。
范例 …
我在react-native中安装了react-navigation软件包
我已经实现了标签导航,其中之一以webview格式实现。
我的问题是,如果我按Android上的后退物理按钮,则会从应用程序本身转到上一个选项卡,而不是从Web视图中返回。
我已经在互联网上为Webview应用了后退按钮,但是我还没有这样做。
我尝试在调试时显示onNavigationStateChange日志,但是在第一次启动后加载url后移动URL时未更新。这是我实现的代码:
import React from "react";
import {BackHandler} from "react-native";
import {WebView} from "react-native-webview";
class SermonScreen extends React.Component {
constructor(props) {
super(props);
}
static navigationOptions = {
header: null
};
componentDidMount() {
BackHandler.addEventListener('hardwareBackPress', this.handleBackButton);
}
componentWillUnmount() {
BackHandler.removeEventListener('hardwareBackPress', this.handleBackButton);
}
_onNavigationStateChange(navState) {
console.log(navState);
this.setState({
canGoBack: navState.canGoBack
});
}
handleBackButton = () => {
console.log(this.state);
if (this.state.canGoBack === true) {
this.webView.goBack();
return true;
} else {
return false;
}
};
render() {
return (
<WebView
source={{uri: …Run Code Online (Sandbox Code Playgroud)
我正在尝试使用来自https://razorpay.com/docs/payment-gateway/react-native-integration/standard/android/ 的官方文档将 Razorpay 与我的 react-native 应用程序集成,但我收到此异常在运行应用程序时。MainApplication.java 中没有重复的导入。
在参考了这个文档可按下文档后,我正在使用可按下作为按钮
现在我想为按钮添加涟漪效果,但它无法正常工作。
<Pressable
android_ripple={{color: 'red', borderless: false}}
style={{backgroundColor: 'blue',borderRadius : 10}}>
<Text style={{alignSelf: 'center'}}>Button</Text>
</Pressable>
Run Code Online (Sandbox Code Playgroud)
如果按钮具有半径,则波纹效果没有边框半径。波纹效果角超出弯曲半径看起来很尴尬。
reactjs react-native react-native-android react-native-ios react-component
react-native ×10
javascript ×2
android ×1
build-tools ×1
camera-roll ×1
expo ×1
razorpay ×1
reactjs ×1