「react-native-maps」を使用してアプリケーションを構築中に問題が発生しました
ここに私のsetting.gradleファイルがあります
include ':react-native-maps'
project(':react-native-maps').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-maps/Android')
android/app/build.gradleファイルの依存関係
dependencies {
compile project(':react-native-maps')
compile fileTree(dir: "libs", include: ["*.jar"])
compile "com.Android.support:appcompat-v7:23.0.1"
compile "com.facebook.react:react-native:+" // From node_modules
compile 'com.airbnb.Android:react-native-maps:0.6.0'
}
これは、MapsPackage()で更新されたMainActivity.Javaファイルです
protected List<ReactPackage> getPackages() {
return Arrays.<ReactPackage>asList(
new MainReactPackage(),
new MapsPackage()
);
}
来るエラー:
JSサーバーは既に実行中です。デバイスでのアプリのビルドとインストール(cd Android && gradlew.bat install Debug ...
失敗:ビルドは例外で失敗しました。
問題点:プロジェクト ':app'の構成で問題が発生しました。
モジュールreact-native-mapsを評価できません: 'default'という名前の設定が見つかりません。
試す:--stacktraceオプションを指定して実行し、スタックトレースを取得します。より多くのログ出力を取得するには、-infoまたは--debugオプションを使用して実行します。
ビルド失敗
合計時間:13.479秒デバイスにアプリをインストールできませんでした。詳細については上記のエラーを参照してください。
私は与えられたリンクのすべての手順の言及を参照しました https://github.com/lelandrichardson/react-native-maps/blob/master/docs/installation.md
https://github.com/lelandrichardson/react-native-maps/issues/288 も見ましたが、エラーを解決できませんでした
事前に感謝します
エラーはbuild.gradleファイルの依存関係にあり、これを試してください。
_dependencies {
compile fileTree(dir: "libs", include: ["*.jar"])
compile "com.Android.support:appcompat-v7:23.0.1"
compile "com.facebook.react:react-native:+" // From node_modules
compile 'com.airbnb.Android:react-native-maps:0.6.0'
}
_
行compile project(':react-native-maps')
を削除すると、問題は解決します。この行は_rnpm link
_によって作成されますが、バグです。
MainActivity.Javaでは次のようになります。
_package com.yourapp; //<- put your app name
import com.facebook.react.ReactActivity;
import com.airbnb.Android.react.maps.MapsPackage; //<- this line is important
import com.facebook.react.ReactPackage;
import com.facebook.react.Shell.MainReactPackage;
import Java.util.Arrays;
import Java.util.List;
public class MainActivity extends ReactActivity {
@Override
protected String getMainComponentName() {
return "yourapp"; //<- put your app name
}
@Override
protected boolean getUseDeveloperSupport() {
return BuildConfig.DEBUG;
}
@Override
protected List<ReactPackage> getPackages() {
return Arrays.<ReactPackage>asList(
new MainReactPackage(),
new MapsPackage(this) //here you must be write the param this
);
}
}
_
[email protected]から[email protected]にダウングレードした後は正常に動作しています
[email protected].を使用しています
私の設定は次のとおりです。
Android/app/build.gradle
dependencies {
compile project(':react-native-maps')
}
Android/settings.gradle
include ':react-native-maps'
project(':react-native-maps').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-maps/Android')
MainApplication.Java
package com.package;
import Android.app.Application;
import Android.util.Log;
import com.facebook.react.ReactApplication;
import com.facebook.react.ReactInstanceManager;
import com.facebook.react.ReactNativeHost;
import com.facebook.react.ReactPackage;
import com.facebook.react.Shell.MainReactPackage;
import Java.util.Arrays;
import Java.util.List;
import com.AirMaps.AirPackage; // <- Add this line
import com.i18n.reactnativei18n.ReactNativeI18n;
import com.oblador.vectoricons.VectorIconsPackage;
public class MainApplication extends Application implements ReactApplication {
private final ReactNativeHost mReactNativeHost = new ReactNativeHost(this) {
@Override
protected boolean getUseDeveloperSupport() {
return BuildConfig.DEBUG;
}
@Override
protected List<ReactPackage> getPackages() {
return Arrays.<ReactPackage>asList(
new AirPackage(), // <- Add this line
new MainReactPackage(),
new ReactNativeI18n(),
new VectorIconsPackage()
);
}
};
@Override
public ReactNativeHost getReactNativeHost() {
return mReactNativeHost;
}
}
AndroidManifest.xml
<application
Android:name=".MainApplication"
Android:allowBackup="true"
Android:label="@string/app_name"
Android:icon="@mipmap/ic_launcher"
Android:theme="@style/AppTheme">
<!--reference your google_map_id-->
<meta-data
Android:name="com.google.Android.geo.API_KEY"
Android:value="@string/google_map_id"/>
</application>
私は次の指示に従いました:
https://github.com/airbnb/react-native-maps/blob/master/docs/installation.md
Inoted以下のようにAndroid/settings.gradle
がreact-native-maps/lib/Android
を指している必要があります:
include ':react-native-maps'
project(':react-native-maps').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-maps/lib/Android')