Một số lỗi thường gặp khi khởi tạo một project react native

Spread the love

1.SDK location not found. Define location with sdk.dir in the local.properties file or with an ANDROID_HOME environment variable.

error1

Cách fix: Tạo một file local.properties trong thư mục android, tạo đường dẫn đến thư mục sdk trọng máy của bạn. Thường thì sẽ nằm trong thư mục này nếu bạn cài android sdk bằng brew.

sdk.dir=/usr/local/Cellar/android-sdk/24.3.4

error2

error3

2.Exception in thread “main” java.net.UnknownHostException: services.gradle.org

Add the following lines to android/gradle.properties (remmber to replace with your proxy address and port)

systemProp.http.proxyHost=127.0.0.1
systemProp.http.proxyPort=8118
systemProp.https.proxyHost=127.0.0.1
systemProp.https.proxyPort=8118

3.Requring unknow module “image!my-icon”‘ error when trying to include static image

Cách fix:

    • Trước tiên phải chắc chắn là bạn đã có hình trong thư mục sau android\app\src\main\res\
      Hình phải có trong tất cả các thư mục sau : drawable-hdpi, drawable-mdpi, drawable-xhdpi, drawable-xxhdpi. Nếu chắc chắn đã có hình trong các thư mục này rồi mà vẫn không chạy được thì làm tiếp cách tiếp theo
    • ios: run command
      $ node_modules/react-native/packager/packager.sh --assetRoots path/to/Images.xcassets
    • android: run command
      react-native start --assetRoots ./android/app/src/main/res/
    • Nếu sau khi chạy bước này không được thì tiếp tục làm như sau:
      Close all terminal windows, delete your node_modules folder, run npm cache clean and npm install
    • Nếu vẫn không được thì thử cách cuối cùng (độc ác nhất, chiêu cuối rồi đó, còn không được nữa thì bó cmn tay):
      Try cleaning packager cache too with rm -fr $TMPDIR/react-*

4. Unable to download js bundle in real device
Cách fix: run these command

react-native run-android # it loads in genymotion and fails with bundle error
react-native start > /dev/null 2>&1 & # from dsissitka
adb reverse tcp:8081 tcp:8081 # from dsissitka

Leave a Reply

Your email address will not be published. Required fields are marked *