java.lang.ClassNotFoundException:com.hamweather.aeris.maps.R$layout使用aeris Weather SDK
我正在使用Hamweather Aeris android SDK,并尝试实现地图视图组件。当我阅读他们的在线教程时,我无法渲染AerisMapView,并且我得到了错误:java.lang.ClassNotFoundException:com.hamweather.aeris.maps.R$layout使用aeris Weather SDK,java,android,xml,android-layout,android-fragments,Java,Android,Xml,Android Layout,Android Fragments,我正在使用Hamweather Aeris android SDK,并尝试实现地图视图组件。当我阅读他们的在线教程时,我无法渲染AerisMapView,并且我得到了错误: java.lang.ClassNotFoundException: com.hamweather.aeris.maps.R$layout. 有人知道这是从哪里来的/如何解决吗 我的xml文件: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xm
java.lang.ClassNotFoundException: com.hamweather.aeris.maps.R$layout.
有人知道这是从哪里来的/如何解决吗
我的xml文件:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<com.hamweather.aeris.maps.AerisMapView
android:id="@+id/aerisfragment_map"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1" >
</com.hamweather.aeris.maps.AerisMapView>
</LinearLayout>
最后,片段:
import android.location.*;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.google.android.gms.maps.model.LatLng;
import com.hamweather.aeris.communication.AerisCallback;
import com.hamweather.aeris.communication.EndpointType;
import com.hamweather.aeris.location.LocationHelper;
import com.hamweather.aeris.maps.AerisMapView;
import com.hamweather.aeris.maps.AerisMapView.AerisMapType;
import com.hamweather.aeris.maps.MapViewFragment;
import com.hamweather.aeris.maps.interfaces.OnAerisMapLongClickListener;
import com.hamweather.aeris.maps.interfaces.OnAerisMarkerInfoWindowClickListener;
import com.hamweather.aeris.maps.markers.AerisMarker;
import com.hamweather.aeris.model.AerisResponse;
import com.hamweather.aeris.response.EarthquakesResponse;
import com.hamweather.aeris.response.FiresResponse;
import com.hamweather.aeris.response.StormCellResponse;
import com.hamweather.aeris.response.StormReportsResponse;
public class MapFragment extends MapViewFragment implements OnAerisMapLongClickListener, AerisCallback,
OnAerisMarkerInfoWindowClickListener{
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.single_tab_site_weather2,
container, false);
mapView = (AerisMapView) view.findViewById(R.id.aerisfragment_map);
mapView.init(savedInstanceState, AerisMapType.GOOGLE);
initMap();
setHasOptionsMenu(true);
return view;
}
/**
* Inits the map with specific setting
*/
private void initMap() {
mapView.moveToLocation(new LatLng(34.7, -86.7), 9);
mapView.setOnAerisMapLongClickListener(this);
mapView.setOnAerisWindowClickListener(this);
}
@Override
public void onResult(EndpointType endpointType, AerisResponse aerisResponse) {
}
@Override
public void onMapLongClick(double v, double v1) {
}
@Override
public void wildfireWindowPressed(FiresResponse firesResponse, AerisMarker aerisMarker) {
}
@Override
public void stormCellsWindowPressed(StormCellResponse stormCellResponse, AerisMarker aerisMarker) {
}
@Override
public void stormReportsWindowPressed(StormReportsResponse stormReportsResponse, AerisMarker aerisMarker) {
}
@Override
public void earthquakeWindowPressed(EarthquakesResponse earthquakesResponse, AerisMarker aerisMarker) {
}
}
另外,这是我在堆栈交换上的第一个Q,所以如果我没有遵守某个惯例或礼仪,请让我知道,我将尝试修复它。谢谢。我设法让它工作起来了。对于任何有此问题的人,以下是我的步骤: 我首先从使用jar切换到使用gradle依赖项。根据他们的网站,在build.gradle(模块一)中添加以下内容 另外,请确保在ANDROID标记中添加以下内容,该标记可能已存在于文件中:
android {
...some other stuff...
dexOptions{
preDexLibraries = false
}
}
仔细检查您是否拥有适用于谷歌地图的API密钥权限。然后它就起作用了。据我所知,这与使用编译过的jar有关,而不是repo版本。我设法让它工作起来。对于任何有此问题的人,以下是我的步骤: 我首先从使用jar切换到使用gradle依赖项。根据他们的网站,在build.gradle(模块一)中添加以下内容 另外,请确保在ANDROID标记中添加以下内容,该标记可能已存在于文件中:
android {
...some other stuff...
dexOptions{
preDexLibraries = false
}
}
仔细检查您是否拥有适用于谷歌地图的API密钥权限。然后它就起作用了。据我所知,这与使用编译过的jar有关,而不是repo版本
android {
...some other stuff...
dexOptions{
preDexLibraries = false
}
}