react-nativeのプロジェクトをビルドしたい2(Mac)(丸一日かかってできませんでした)
9/30 18:02
Could not find com.android.tools.build:gradle:4.0.1.とか言われてるけど探しても無い。
react-native-linear-gradientも無い。
% yarn add react-native-linear-gradient
No matching configuration of project :realm was found. The consumer was configured to find an API of a component, preferably optimized for Android, as well as attribute 'com.android.build.api.attributes.BuildTypeAttr' with value 'debug', attribute 'com.android.build.api.attributes.ProductFlavor:RNN.reactNativeVersion' with value 'reactNative57_5', attribute 'com.android.build.api.attributes.AgpVersionAttr' with value '7.3.0' but:
- None of the consumable configurations have attributes.
堂々巡り。
% yarn add realm
gradle:7.0.4に変更
Could not determine the dependencies of task ':app:compileDebugJavaWithJavac'.
> Could not resolve all task dependencies for configuration ':app:debugCompileClasspath'.
> Could not resolve project :realm.
Required by:
project :app
> No matching configuration of project :realm was found. The consumer was configured to find an API of a component, preferably optimized for Android, as well as attribute 'com.android.build.api.attributes.BuildTypeAttr' with value 'debug', attribute 'RNN.reactNativeVersion' with value 'reactNative57_5' but:
- None of the consumable configurations have attributes.
realmをコメントアウトした(しかも何故か2個あった)
* What went wrong:
Execution failed for task ':app:checkDebugAarMetadata'.
> A failure occurred while executing com.android.build.gradle.internal.tasks.CheckAarMetadataWorkAction
> One or more issues found when checking AAR metadata values:
The minCompileSdk (31) specified in a
dependency's AAR metadata (META-INF/com/android/build/gradle/aar-metadata.properties)
is greater than this module's compileSdkVersion (android-28).
Dependency: androidx.appcompat:appcompat:1.4.1.
AAR metadata file: /Users/username/.gradle/caches/transforms-3/c3244396153fe2aaf9e48d10c9e0cd0d/transformed/appcompat-1.4.1/META-INF/com/android/build/gradle/aar-metadata.properties.
The minCompileSdk (31) specified in a
dependency's AAR metadata (META-INF/com/android/build/gradle/aar-metadata.properties)
is greater than this module's compileSdkVersion (android-28).
Dependency: androidx.appcompat:appcompat-resources:1.4.1.
AAR metadata file: /Users/username/.gradle/caches/transforms-3/1a27c374063d8d0e11a12cbb4aa1ddbd/transformed/appcompat-resources-1.4.1/META-INF/com/android/build/gradle/aar-metadata.properties.
The minCompileSdk (30) specified in a
dependency's AAR metadata (META-INF/com/android/build/gradle/aar-metadata.properties)
is greater than this module's compileSdkVersion (android-28).
Dependency: androidx.work:work-runtime:2.6.0.
AAR metadata file: /Users/username/.gradle/caches/transforms-3/d4dedee1b15a7e9a33c1a092468e3a07/transformed/work-runtime-2.6.0/META-INF/com/android/build/gradle/aar-metadata.properties.
The minCompileSdk (31) specified in a
dependency's AAR metadata (META-INF/com/android/build/gradle/aar-metadata.properties)
is greater than this module's compileSdkVersion (android-28).
Dependency: androidx.emoji2:emoji2-views-helper:1.0.0.
AAR metadata file: /Users/username/.gradle/caches/transforms-3/be8b26f6fe72563f0dc108fd43fabd71/transformed/emoji2-views-helper-1.0.0/META-INF/com/android/build/gradle/aar-metadata.properties.
The minCompileSdk (31) specified in a
dependency's AAR metadata (META-INF/com/android/build/gradle/aar-metadata.properties)
is greater than this module's compileSdkVersion (android-28).
Dependency: androidx.emoji2:emoji2:1.0.0.
AAR metadata file: /Users/username/.gradle/caches/transforms-3/eea55c90336e2ad8a5204c8a3270c918/transformed/emoji2-1.0.0/META-INF/com/android/build/gradle/aar-metadata.properties.
The minCompileSdk (31) specified in a
dependency's AAR metadata (META-INF/com/android/build/gradle/aar-metadata.properties)
is greater than this module's compileSdkVersion (android-28).
Dependency: androidx.core:core:1.7.0.
AAR metadata file: /Users/username/.gradle/caches/transforms-3/df6363d1e4e6f3fab9fc98129e184100/transformed/core-1.7.0/META-INF/com/android/build/gradle/aar-metadata.properties.
The minCompileSdk (31) specified in a
dependency's AAR metadata (META-INF/com/android/build/gradle/aar-metadata.properties)
is greater than this module's compileSdkVersion (android-28).
Dependency: androidx.lifecycle:lifecycle-process:2.4.0.
AAR metadata file: /Users/username/.gradle/caches/transforms-3/116d173dfeccd1b08e9c2909251e25ab/transformed/lifecycle-process-2.4.0/META-INF/com/android/build/gradle/aar-metadata.properties.
The minCompileSdk (31) specified in a
dependency's AAR metadata (META-INF/com/android/build/gradle/aar-metadata.properties)
is greater than this module's compileSdkVersion (android-28).
Dependency: androidx.lifecycle:lifecycle-runtime:2.4.0.
AAR metadata file: /Users/username/.gradle/caches/transforms-3/62e3858dc5aa4aa4fa8b176fb1486c1f/transformed/lifecycle-runtime-2.4.0/META-INF/com/android/build/gradle/aar-metadata.properties.
全てのcompileSdkVersionを31に。
> Task :app:processDebugMainManifest FAILED
[com.android.support:animated-vector-drawable:28.0.0] /Users/username/.gradle/caches/transforms-3/233cd41ab5d43779d1ddd64b4614d29a/transformed/animated-vector-drawable-28.0.0/AndroidManifest.xml Warning:
Package name 'android.support.graphics.drawable' used in: com.android.support:animated-vector-drawable:28.0.0, com.android.support:support-vector-drawable:28.0.0.
[androidx.versionedparcelable:versionedparcelable:1.1.1] /Users/username/.gradle/caches/transforms-3/dc0f11691095d4bbc8003ad8f5bb847f/transformed/versionedparcelable-1.1.1/AndroidManifest.xml Warning:
Package name 'androidx.versionedparcelable' used in: androidx.versionedparcelable:versionedparcelable:1.1.1, com.android.support:versionedparcelable:28.0.0.
See http://g.co/androidstudio/manifest-merger for more information about the manifest merger.
animated-vector-drawable:はどこにもない
build.gradleに追加してみたけど同じエラー
赤字だけどそもそもエラーではない?何も書いてない。
こっち?
error Failed to install the app. Make sure you have the Android development environment set up: https://reactnative.dev/docs/environment-setup.
Error: Command failed: ./gradlew app:installDebug -PreactNativeDevServerPort=8081
% npx react-native info
warn Package react-native-navigation contains invalid configuration: "dependency.assets" is not allowed,"dependency.hooks" is not allowed. Please verify it's properly linked using "react-native config" command and contact the package maintainers about this.
info Fetching system and libraries information...
System:
OS: macOS 12.5
CPU: (8) arm64 Apple M1
Memory: 122.36 MB / 8.00 GB
Shell: 5.8.1 - /bin/zsh
Binaries:
Node: 17.0.0 - ~/.nvm/versions/node/v17.0.0/bin/node
Yarn: 3.2.3 - ~/.yarn/bin/yarn
npm: 8.0.0 - ~/.nodebrew/current/bin/npm
Watchman: 2022.09.26.00 - /opt/homebrew/bin/watchman
Managers:
CocoaPods: 1.11.3 - /usr/local/bin/pod
SDKs:
iOS SDK:
Platforms: DriverKit 21.4, iOS 16.0, macOS 12.3, tvOS 16.0, watchOS 9.0
Android SDK: Not Found
IDEs:
Android Studio: 2021.2 AI-212.5712.43.2112.8609683
Xcode: 14.0.1/14A400 - /usr/bin/xcodebuild
Languages:
Java: 18.0.2 - /usr/bin/javac
npmPackages:
@react-native-community/cli: Not Found
react: ^18.2.0 => 18.2.0
react-native: ^0.70.1 => 0.70.1
react-native-macos: Not Found
npmGlobalPackages:
*react-native*: Not Found
Android SDK: Not Foundになってる
command line toolにはチェック入ってる
Android12.0もインストールした
% react-native doctor
warn Package react-native-navigation contains invalid configuration: "dependency.assets" is not allowed,"dependency.hooks" is not allowed. Please verify it's properly linked using "react-native config" command and contact the package maintainers about this.
⠋ Running diagnostics...(node:24382) Warning: Accessing non-existent property 'padLevels' of module exports inside circular dependency
(Use `node --trace-warnings ...` to show where the warning was created)
⠼ Running diagnostics...warn Package react-native-navigation contains invalid configuration: "dependency.assets" is not allowed,"dependency.hooks" is not allowed. Please verify it's properly linked using "react-native config" command and contact the package maintainers about this.
Common
✓ Node.js
✓ yarn
✓ Watchman - Used for watching changes in the filesystem when in development mode
Android
✓ JDK
✓ Android Studio - Required for building and installing your app on Android
✖ Android SDK - Required for building and installing your app on Android
- Versions found: N/A
- Version supported: 28.0.2
✖ ANDROID_HOME
またここに飛ばされた。なんか見逃してる?
https://reactnative.dev/docs/environment-setup
こっちをやってみる。
https://stackoverflow.com/a/28296325/4252781
✓ ANDROID_HOMEninatta!!!!
あとは
✖ Android SDK - Required for building and installing your app on Android
- Versions found: N/A
Commandline Tool29.0.2もチェックされてる。
- Version supported: 28.0.2って書いてあった。SDK Managerで12.0.2をチェックしてApply
- Versions found: N/A
…...e?? arukedo…..
Android Studioでandroidファイルを開いてみる。
めちゃ時間かかる。
19:07
まだかかる
19:17
Terminalとかを一回全部閉じてみた。再度開くと。。。
✖ Android SDK - Required for building and installing your app on Android
- Versions found: N/A
- Version supported: 28.0.2
✖ ANDROID_HOME
ANDROID_HOMEも元に戻ってるぅぅぅぅぅぅぅxうぅう
add <YOUR_ANDROID_SDK_PATH>\cmdline-tools\latest\bin to PATH environment variables
-> YOUR_ANDROID_SDK_PATHがAndroid sdkの「Android sdk Location」っていうところにあるやつだとしたら、Pathはこうなる。
/Users/username/Library/Android/sdk\cmdline-tools\latest\bin
スラッシュ逆。どっちが正しいんだっけ。正しいとかある?
PATH=$PATH:\Users\username\Library\Android\sdk\cmdline-tools\latest\bin
これでやってみた。
✖ Android SDK - Required for building and installing your app on Android
- Versions found: N/A
- Version supported: 28.0.2
✖ ANDROID_HOME
export PATH=$PATH:/Users/username/Library/Android/sdk/cmdline-tools/latest/bin
こっちだった。
できたあああああああああああああああああ😭😭
✓ Android SDK - Required for building and installing your app on Android
✓ ANDROID_HOME
% adb devices
% npx react-native run-android
warn Package react-native-navigation contains invalid configuration: "dependency.assets" is not allowed,"dependency.hooks" is not allowed. Please verify it's properly linked using "react-native config" command and contact the package maintainers about this.
info JS server already running.
/bin/sh: /Applications/ADT/sdk/platform-tools/adb: No such file or directory
info Launching emulator...
error Failed to launch emulator. Reason: No emulators found as an output of `emulator -list-avds`.
warn Please launch an emulator manually or connect a device. Otherwise app may fail to launch.
info Installing the app...
> Configure project :react-native-reanimated
Native libs debug enabled: false
Android gradle plugin: 7.0.4
Gradle: 7.5.1
building Reanimated2
WARNING:The specified Android SDK Build Tools version (28.0.2) is ignored, as it is below the minimum supported version (30.0.2) for Android Gradle Plugin 7.0.4.
Android SDK Build Tools 30.0.2 will be used.
To suppress this warning, remove "buildToolsVersion '28.0.2'" from your build.gradle file, as each version of the Android Gradle Plugin now has a default version of the build tools.
WARNING:The specified Android SDK Build Tools version (23.0.1) is ignored, as it is below the minimum supported version (30.0.2) for Android Gradle Plugin 7.0.4.
Android SDK Build Tools 30.0.2 will be used.
To suppress this warning, remove "buildToolsVersion '23.0.1'" from your build.gradle file, as each version of the Android Gradle Plugin now has a default version of the build tools.
WARNING:The specified Android SDK Build Tools version (23.0.1) is ignored, as it is below the minimum supported version (30.0.2) for Android Gradle Plugin 7.0.4.
Android SDK Build Tools 30.0.2 will be used.
To suppress this warning, remove "buildToolsVersion '23.0.1'" from your build.gradle file, as each version of the Android Gradle Plugin now has a default version of the build tools.
> Task :app:processDebugMainManifest FAILED
[com.android.support:animated-vector-drawable:28.0.0] /Users/username/.gradle/caches/transforms-3/233cd41ab5d43779d1ddd64b4614d29a/transformed/animated-vector-drawable-28.0.0/AndroidManifest.xml Warning:
Package name 'android.support.graphics.drawable' used in: com.android.support:animated-vector-drawable:28.0.0, com.android.support:support-vector-drawable:28.0.0.
[androidx.versionedparcelable:versionedparcelable:1.1.1] /Users/username/.gradle/caches/transforms-3/dc0f11691095d4bbc8003ad8f5bb847f/transformed/versionedparcelable-1.1.1/AndroidManifest.xml Warning:
Package name 'androidx.versionedparcelable' used in: androidx.versionedparcelable:versionedparcelable:1.1.1, com.android.support:versionedparcelable:28.0.0.
See http://g.co/androidstudio/manifest-merger for more information about the manifest merger.
Deprecated Gradle features were used in this build, making it incompatible with Gradle 8.0.
You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.
See https://docs.gradle.org/7.5.1/userguide/command_line_interface.html#sec:command_line_warnings
102 actionable tasks: 2 executed, 100 up-to-date
/Users/username/Desktop/name/android/app/src/main/AndroidManifest.xml:24:18-86 Error:
Attribute application@appComponentFactory value=(androidx.core.app.CoreComponentFactory) from [androidx.core:core:1.7.0] AndroidManifest.xml:24:18-86
is also present at [com.android.support:support-compat:28.0.0] AndroidManifest.xml:22:18-91 value=(android.support.v4.app.CoreComponentFactory).
Suggestion: add 'tools:replace="android:appComponentFactory"' to <application> element at AndroidManifest.xml:12:5-54:19 to override.
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:processDebugMainManifest'.
> Manifest merger failed with multiple errors, see logs
* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
* Get more help at https://help.gradle.org
BUILD FAILED in 2s
error Failed to install the app. Make sure you have the Android development environment set up: https://reactnative.dev/docs/environment-setup.
Error: Command failed: ./gradlew app:installDebug -PreactNativeDevServerPort=8081
…/android/app/src/main/AndroidManifest.xml:24:18-86 Error:
Attribute application@appComponentFactory value=(androidx.core.app.CoreComponentFactory) from [androidx.core:core:1.7.0] AndroidManifest.xml:24:18-86
is also present at [com.android.support:support-compat:28.0.0] AndroidManifest.xml:22:18-91 value=(android.support.v4.app.CoreComponentFactory).
Suggestion: add 'tools:replace="android:appComponentFactory"' to <application> element at AndroidManifest.xml:12:5-54:19 to override.
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:processDebugMainManifest'.
> Manifest merger failed with multiple errors, see logs
* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
* Get more help at https://help.gradle.org
BUILD FAILED in 2s
at makeError (…/node_modules/execa/index.js:174:9)
at …/node_modules/execa/index.js:278:16
at processTicksAndRejections (node:internal/process/task_queues:96:5)
at async runOnAllDevices (…/node_modules/@react-native-community/cli-platform-android/build/commands/runAndroid/runOnAllDevices.js:109:5)
at async Command.handleAction (…./node_modules/@react-native-community/cli/build/index.js:142:9)
info Run CLI with --verbose flag for more details.
😭
何も変わってないやん・・
error Failed to launch emulator. Reason: No emulators found as an output of `emulator -list-avds`.
warn Please launch an emulator manually or connect a device. Otherwise app may fail to launch.
これ。
Android Emulatorをアップデートした。
Emulatorも起動した。
Android実機もMacに繋がってる。
error Failed to launch emulator. Reason: No emulators found as an output of `emulator -list-avds`.
warn Please launch an emulator manually or connect a device. Otherwise app may fail to launch.
ええ
To suppress this warning, remove "buildToolsVersion '23.0.1'" from your build.gradle file, as each version of the Android Gradle Plugin now has a default version of the build tools.
これも。buildToolsVersion '23.0.1'自体無い。どうなってる。
ここをみるべき?
* What went wrong:
Execution failed for task ':app:processDebugMainManifest'.
> Manifest merger failed with multiple errors, see logs
logにはWaningしかないけど
Package name 'android.support.graphics.drawable' used in: com.android.support:animated-vector-drawable:28.0.0, com.android.support:support-vector-drawable:28.0.0.
android.useAndroidX=true android.enableJetifier=true
をbuild.propertiesに追加。
意味なし。
com.android.support:animated-vector-drawable:28.0.0を見つけた。
implementation('com.android.support:support-vector-drawable:28.0.0') {
exclude group: 'android.support.graphics.drawable'
exclude module: 'support-vector-drawable'
}
これ追加した。
> Task :app:processDebugMainManifest FAILED
See http://g.co/androidstudio/manifest-merger for more information about the manifest merger.
エラー内容消えた!!
20:59
Manifest Mergerを見るためにAndroidStudioを開く
こんなエラーが出てた。
Error: tools:replace specified at line:12 for attribute android:appComponentFactory, but no new value specified name.app main manifest (this file), line 11
Android Studio > Refactor > Migrate to AndroidX
色々私が変えたせいでエラーでてるかもしれないので、元の状態のプロジェクトで再度試す
% yarn install
振り出しに戻る。
やっぱり元の状態のやつは消して。。
Error:
tools:replace specified at line:12 for attribute android:appComponentFactory, but no new value specified
これ。
tools:replace="android:appComponentFactory"を消す。(Android Manifest)
Error: Command failed: ./gradlew app:installDebug -PreactNativeDevServerPort=8081
.../android/app/src/main/AndroidManifest.xml Error:
android:exported needs to be explicitly specified for <activity>. Apps targeting Android 12 and higher are required to specify an explicit value for `android:exported` when the corresponding component has an intent filter defined. See https://developer.android.com/guide/topics/manifest/activity-element#exported for details.
android:exported="false"を追加(Android Manifest)
Android resource linking failed
ERROR:.../android/app/build/intermediates/packaged_manifests/debug/AndroidManifest.xml:60: AAPT: error: attribute android:enableOnBackInvokedCallback not found.
android:enableOnBackInvokedCallback="true"を追加
ERROR:.../android/app/build/intermediates/packaged_manifests/debug/AndroidManifest.xml:60: AAPT: error: attribute android:enableOnBackInvokedCallback not found.
issyo.
minSdkVersion = 21 -> 29に変更
22:04
まだ仕事のSlackが動いている。。みんな仕事してるなあ☺️
逆にandroid:enableOnBackInvokedCallbackを消してみる。
react-native run-androidしたら勝手に追加されてるぅ。
22:16
もう寝る。
ネットに撒き散らした質問に誰かがコメントしてくれるのを待とう。