Дублируйте java.lang.ClassNotFoundException для com.google.android.gms.R $ styleable - PullRequest
0 голосов
/ 19 сентября 2018

У меня проблема с приложением для setContentView макета, что дает мне ClassNotFound Исключение.Я знаю, что есть много похожих проблем с другим решением, но большинство из них:

  1. Только для eclipse, для которого вам нужно импортировать проект, но сейчас я работаю над android studio, например this

Что странно, поскольку я импортировал в них библиотеку и смог ее собрать.It crash during runtime.Если класса нет, приложение не позволит мне его собрать.

Я могу показать, что моя библиотека загрузилась, пытаясь удалить ее, импорт покажет это:

enter image description here

И если я попытаюсь импортировать его обратно:

enter image description here

Это доказывает, что моя библиотека работает нормально, иClassNotFoundException.

Когда я пытаюсь отладить, моя программа останавливается здесь:

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    this.requestWindowFeature(Window.FEATURE_NO_TITLE);
    setContentView(R.layout.activity_live_track_map);

    map = ((SupportMapFragment) getSupportFragmentManager()
            .findFragmentById(R.id.mapview)).getMap();

** More Code Here, I wont put since its irrelevant**

Подробнее В частности, остановка программы на:

setContentView(R.layout.activity_live_track_map);

Значитчто там должно быть что-то не так внутри файла макета:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <fragment xmlns:android="http://schemas.android.com/apk/res/android"
          android:id="@+id/mapview"
          android:layout_width="match_parent"
          android:layout_height="match_parent"
        class="com.google.android.gms.maps.SupportMapFragment"/>
</RelativeLayout>

Журнал для сбоя, я упростил его, чтобы показать основную точку ошибки:

java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/android/gms/R$styleable;
        at com.gpstechsolution.webtrac.LiveTrackMapActivity.onCreate(LiveTrackMapActivity.java:71)
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.android.gms.R$styleable" on path: DexPathList[[zip file "/data/app/com.gpstechsolution.webtrac-1/base.apk"],nativeLibraryDirectories=[/vendor/lib, /system/lib]]

Сервисы Google Play, которыеЯ работаю с можно получить из: http://www.java2s.com/Code/Jar/g/Downloadgoogleplayservicesjar.htm

Это единственная библиотека, которая может работать, если я попробую более новую, у нее будут проблемы в Google Play

android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version"

Значение@integer/google_play_services_version is 4030500

Решения, которые я попробовал

Пробная версия 1

Я заменил Activity на FragmentActivity, как показано здесь

public class LiveTrackMapActivity extends FragmentActivity {

** More Code Here, I wont put since its irrelevant**

Что касается тех, кто по-прежнему не понимает проблему, в переполнении стека возникают различные проблемы, такие как:

java.lang.NoClassDefFoundError: com.google.android.gms.R $ настраиваемый в Android

или

java.lang.NoClassDefFoundError: com.google.android.gms.R $ styleable(ПРОЕКТ ДОБАВЛЕН !!)

...