Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
 
Springboks
2 / 2 / 0
Регистрация: 06.05.2014
Сообщений: 84
#1

Не могу разобраться в логах, где ошибка? - Программирование Android

07.06.2016, 10:53. Просмотров 438. Ответов 20
Метки нет (Все метки)

Приложение не запускается на Андроид устройствах
Помогите пожалуйста разобраться в этом!!

06-07 10:35:51.829: E/AndroidRuntime(1283): FATAL EXCEPTION: main
06-07 10:35:51.829: E/AndroidRuntime(1283): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{info.androidhive.androidvideostreaming/info.androidhive.androidvideostreaming.MainActivity}: java.lang.ClassNotFoundException: info.androidhive.androidvideostreaming.MainActivity in loader dalvik.system.PathClassLoader[/data/app/info.androidhive.androidvideostreaming-1.apk]
06-07 10:35:51.829: E/AndroidRuntime(1283): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1573)
06-07 10:35:51.829: E/AndroidRuntime(1283): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1667)
06-07 10:35:51.829: E/AndroidRuntime(1283): at android.app.ActivityThread.access$1500(ActivityThread.java:117)
06-07 10:35:51.829: E/AndroidRuntime(1283): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:935)
06-07 10:35:51.829: E/AndroidRuntime(1283): at android.os.Handler.dispatchMessage(Handler.java:99)
06-07 10:35:51.829: E/AndroidRuntime(1283): at android.os.Looper.loop(Looper.java:130)
06-07 10:35:51.829: E/AndroidRuntime(1283): at android.app.ActivityThread.main(ActivityThread.java:3687)
06-07 10:35:51.829: E/AndroidRuntime(1283): at java.lang.reflect.Method.invokeNative(Native Method)
06-07 10:35:51.829: E/AndroidRuntime(1283): at java.lang.reflect.Method.invoke(Method.java:507)
06-07 10:35:51.829: E/AndroidRuntime(1283): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867)
06-07 10:35:51.829: E/AndroidRuntime(1283): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:625)
06-07 10:35:51.829: E/AndroidRuntime(1283): at dalvik.system.NativeStart.main(Native Method)
06-07 10:35:51.829: E/AndroidRuntime(1283): Caused by: java.lang.ClassNotFoundException: info.androidhive.androidvideostreaming.MainActivity in loader dalvik.system.PathClassLoader[/data/app/info.androidhive.androidvideostreaming-1.apk]
06-07 10:35:51.829: E/AndroidRuntime(1283): at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:240)
06-07 10:35:51.829: E/AndroidRuntime(1283): at java.lang.ClassLoader.loadClass(ClassLoader.java:551)
06-07 10:35:51.829: E/AndroidRuntime(1283): at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
06-07 10:35:51.829: E/AndroidRuntime(1283): at android.app.Instrumentation.newActivity(Instrumentation.java:1021)
06-07 10:35:51.829: E/AndroidRuntime(1283): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1565)
06-07 10:35:51.829: E/AndroidRuntime(1283): ... 11 more

Добавлено через 6 минут
Вот код программы

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
import java.util.regex.Matcher;
import java.util.regex.Pattern;
 
import net.majorkernelpanic.streaming.Session;
import net.majorkernelpanic.streaming.SessionBuilder;
import net.majorkernelpanic.streaming.audio.AudioQuality;
import net.majorkernelpanic.streaming.gl.SurfaceView;
import net.majorkernelpanic.streaming.rtsp.RtspClient;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.Menu;
import android.view.SurfaceHolder;
import android.view.Window;
import android.view.WindowManager;
 
public class MainActivity extends Activity implements RtspClient.Callback,
        Session.Callback, SurfaceHolder.Callback {
    // log tag
    public final static String TAG = MainActivity.class.getSimpleName();
 
    // surfaceview
    private static SurfaceView mSurfaceView;
 
    // Rtsp session
    private Session mSession;
    private static RtspClient mClient;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
        // getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
 
        setContentView(R.layout.activity_main);
 
        mSurfaceView = (SurfaceView) findViewById(R.id.surface);
 
        mSurfaceView.getHolder().addCallback(this);
 
        // Initialize RTSP client
        initRtspClient();       
 
    }
 
    @Override
    protected void onResume() {
        super.onResume();
         
        toggleStreaming();
    }
     
    @Override
    protected void onPause(){
        super.onPause();
         
        toggleStreaming();
    }
 
    private void initRtspClient() {
        // Configures the SessionBuilder
        mSession = SessionBuilder.getInstance()
                .setContext(getApplicationContext())
                .setAudioEncoder(SessionBuilder.AUDIO_NONE)
                .setAudioQuality(new AudioQuality(8000, 16000))             
                .setVideoEncoder(SessionBuilder.VIDEO_H264)
                .setSurfaceView(mSurfaceView).setPreviewOrientation(0)
                .setCallback(this).build();
 
        // Configures the RTSP client
        mClient = new RtspClient();
        mClient.setSession(mSession);
        mClient.setCallback(this);
        mSurfaceView.setAspectRatioMode(SurfaceView.ASPECT_RATIO_PREVIEW);
        String ip, port, path;
 
        // We parse the URI written in the Editext
        Pattern uri = Pattern.compile("rtsp://(.+):(\\d+)/(.+)");
        Matcher m = uri.matcher(AppConfig.STREAM_URL);
        m.find();
        ip = m.group(1);
        port = m.group(2);
        path = m.group(3);
 
        mClient.setCredentials(AppConfig.PUBLISHER_USERNAME,
                AppConfig.PUBLISHER_PASSWORD);
        mClient.setServerAddress(ip, Integer.parseInt(port));
        mClient.setStreamPath("/" + path);
    }
 
    private void toggleStreaming() {
        if (!mClient.isStreaming()) {
            // Start camera preview
            mSession.startPreview();
 
            // Start video stream
            mClient.startStream();
        } else {
            // already streaming, stop streaming
            // stop camera preview
            mSession.stopPreview();
 
            // stop streaming
            mClient.stopStream();
        }
    }
 
    @Override
    public void onDestroy() {
        super.onDestroy();
        mClient.release();
        mSession.release();
        mSurfaceView.getHolder().removeCallback(this);
    }
 
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }
 
    @Override
    public void onSessionError(int reason, int streamType, Exception e) {
        switch (reason) {
        case Session.ERROR_CAMERA_ALREADY_IN_USE:
            break;
        case Session.ERROR_CAMERA_HAS_NO_FLASH:
            break;
        case Session.ERROR_INVALID_SURFACE:
            break;
        case Session.ERROR_STORAGE_NOT_READY:
            break;
        case Session.ERROR_CONFIGURATION_NOT_SUPPORTED:
            break;
        case Session.ERROR_OTHER:
            break;
        }
 
        if (e != null) {
            alertError(e.getMessage());
            e.printStackTrace();
        }
    }
 
    private void alertError(final String msg) {
        final String error = (msg == null) ? "Unknown error: " : msg;
        AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
        builder.setMessage(error).setPositiveButton("Ok",
                new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int id) {
                    }
                });
        AlertDialog dialog = builder.create();
        dialog.show();
    }
 
    @Override
    public void onRtspUpdate(int message, Exception exception) {
        switch (message) {
        case RtspClient.ERROR_CONNECTION_FAILED:
        case RtspClient.ERROR_WRONG_CREDENTIALS:
            alertError(exception.getMessage());
            exception.printStackTrace();
            break;
        }
    }
 
    @Override
    public void onPreviewStarted() {
    }
 
    @Override
    public void onSessionConfigured() {
    }
 
    @Override
    public void onSessionStarted() {
    }
 
    @Override
    public void onSessionStopped() {
    }
 
    @Override
    public void surfaceChanged(SurfaceHolder arg0, int arg1, int arg2, int arg3) {
    }
 
    @Override
    public void surfaceCreated(SurfaceHolder holder) {
    }
 
    @Override
    public void surfaceDestroyed(SurfaceHolder holder) {
    }
 
    @Override
    public void onBitrareUpdate(long bitrate) {
    }
 
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
vxg
Модератор
3145 / 1947 / 214
Регистрация: 13.01.2012
Сообщений: 7,438
07.06.2016, 11:22     Не могу разобраться в логах, где ошибка? #2
Springboks, написано же не найден класс info.androidhive.androidvideostreaming.MainActivity в info.androidhive.androidvideostreaming-1.apk. покажите манифест. используется ли proguard?
Pablito
2458 / 1903 / 591
Регистрация: 12.05.2014
Сообщений: 6,711
Завершенные тесты: 1
07.06.2016, 11:29     Не могу разобраться в логах, где ошибка? #3
вангую что у него активити не прописана в манифесте
Springboks
2 / 2 / 0
Регистрация: 06.05.2014
Сообщений: 84
07.06.2016, 12:31  [ТС]     Не могу разобраться в логах, где ошибка? #4
Мой Manifest. Если не сложно, по подробней объясните как исправить, я только начал учить, еще многого не понимаю.
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="info.androidhive.androidvideostreaming"
    android:versionCode="1"
    android:versionName="1.0" >
 
    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="18" />
 
    <uses-feature
        android:name="android.hardware.camera"
        android:required="true" />
    <uses-feature
        android:name="android.hardware.camera.autofocus"
        android:required="false" />
 
    <supports-screens
        android:largeScreens="true"
        android:normalScreens="true"
        android:smallScreens="true"
        android:xlargeScreens="true" />
 
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.RECORD_AUDIO" />
    <uses-permission android:name="android.permission.CAMERA" />
 
    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="info.androidhive.androidvideostreaming.MainActivity"
            android:label="@string/app_name"
            android:screenOrientation="landscape" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
 
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
 
</manifest>
vxg
Модератор
3145 / 1947 / 214
Регистрация: 13.01.2012
Сообщений: 7,438
07.06.2016, 13:41     Не могу разобраться в логах, где ошибка? #5
Springboks, используется ли proguard?
Springboks
2 / 2 / 0
Регистрация: 06.05.2014
Сообщений: 84
08.06.2016, 14:49  [ТС]     Не могу разобраться в логах, где ошибка? #6
Спасибо большое, я это исправил, но у меня появилась новая проблема с которой я не могу справиться.


06-08 14:40:14.639: E/AndroidRuntime(2245): FATAL EXCEPTION: main
06-08 14:40:14.639: E/AndroidRuntime(2245): java.lang.RuntimeException: Unable to start activity ComponentInfo{info.androidhive.androidvideostreaming/info.androidhive.androidvideostreaming.MainActivity}: android.view.InflateException: Binary XML file line #9: Error inflating class net.majorkernelpanic.streaming.gl.SurfaceView
06-08 14:40:14.639: E/AndroidRuntime(2245): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1651)
06-08 14:40:14.639: E/AndroidRuntime(2245): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1667)
06-08 14:40:14.639: E/AndroidRuntime(2245): at android.app.ActivityThread.access$1500(ActivityThread.java:117)
06-08 14:40:14.639: E/AndroidRuntime(2245): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:935)
06-08 14:40:14.639: E/AndroidRuntime(2245): at android.os.Handler.dispatchMessage(Handler.java:99)
06-08 14:40:14.639: E/AndroidRuntime(2245): at android.os.Looper.loop(Looper.java:130)
06-08 14:40:14.639: E/AndroidRuntime(2245): at android.app.ActivityThread.main(ActivityThread.java:3687)
06-08 14:40:14.639: E/AndroidRuntime(2245): at java.lang.reflect.Method.invokeNative(Native Method)
06-08 14:40:14.639: E/AndroidRuntime(2245): at java.lang.reflect.Method.invoke(Method.java:507)
06-08 14:40:14.639: E/AndroidRuntime(2245): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867)
06-08 14:40:14.639: E/AndroidRuntime(2245): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:625)
06-08 14:40:14.639: E/AndroidRuntime(2245): at dalvik.system.NativeStart.main(Native Method)
06-08 14:40:14.639: E/AndroidRuntime(2245): Caused by: android.view.InflateException: Binary XML file line #9: Error inflating class net.majorkernelpanic.streaming.gl.SurfaceView
06-08 14:40:14.639: E/AndroidRuntime(2245): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:581)
06-08 14:40:14.639: E/AndroidRuntime(2245): at android.view.LayoutInflater.rInflate(LayoutInflater.java:623)
06-08 14:40:14.639: E/AndroidRuntime(2245): at android.view.LayoutInflater.inflate(LayoutInflater.java:408)
06-08 14:40:14.639: E/AndroidRuntime(2245): at android.view.LayoutInflater.inflate(LayoutInflater.java:320)
06-08 14:40:14.639: E/AndroidRuntime(2245): at android.view.LayoutInflater.inflate(LayoutInflater.java:276)
06-08 14:40:14.639: E/AndroidRuntime(2245): at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:209)
06-08 14:40:14.639: E/AndroidRuntime(2245): at android.app.Activity.setContentView(Activity.java:1657)
06-08 14:40:14.639: E/AndroidRuntime(2245): at info.androidhive.androidvideostreaming.MainActivity.onCreate(MainActivity.java:40)
06-08 14:40:14.639: E/AndroidRuntime(2245): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
06-08 14:40:14.639: E/AndroidRuntime(2245): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1615)
06-08 14:40:14.639: E/AndroidRuntime(2245): ... 11 more
06-08 14:40:14.639: E/AndroidRuntime(2245): Caused by: java.lang.ClassNotFoundException: net.majorkernelpanic.streaming.gl.SurfaceView in loader dalvik.system.PathClassLoader[/data/app/info.androidhive.androidvideostreaming-2.apk]
06-08 14:40:14.639: E/AndroidRuntime(2245): at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:240)
06-08 14:40:14.639: E/AndroidRuntime(2245): at java.lang.ClassLoader.loadClass(ClassLoader.java:551)
06-08 14:40:14.639: E/AndroidRuntime(2245): at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
06-08 14:40:14.639: E/AndroidRuntime(2245): at android.view.LayoutInflater.createView(LayoutInflater.java:471)
06-08 14:40:14.639: E/AndroidRuntime(2245): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:570)
06-08 14:40:14.639: E/AndroidRuntime(2245): ... 20 more
vxg
Модератор
3145 / 1947 / 214
Регистрация: 13.01.2012
Сообщений: 7,438
08.06.2016, 15:39     Не могу разобраться в логах, где ошибка? #7
Springboks, строки ClassNotFoundException: net.majorkernelpanic.streaming.gl.SurfaceView не возбуждают? предлагаю решить эту проблему так же как решили первую
Springboks
2 / 2 / 0
Регистрация: 06.05.2014
Сообщений: 84
08.06.2016, 15:43  [ТС]     Не могу разобраться в логах, где ошибка? #8
Если бы я мог исправить, я не обращался бы сюда. Я совсем недавно начал изучение и многого не понимаю еще.
vxg
Модератор
3145 / 1947 / 214
Регистрация: 13.01.2012
Сообщений: 7,438
08.06.2016, 15:46     Не могу разобраться в логах, где ошибка? #9
Springboks, это был сарказм. как вы решили прошлую "проблему" не мешало бы рассказать для вникания в тему
Springboks
2 / 2 / 0
Регистрация: 06.05.2014
Сообщений: 84
08.06.2016, 15:49  [ТС]     Не могу разобраться в логах, где ошибка? #10
там была совершено глупая ошибка, я поменял package в Manifest, а в MainActivity забыл.
vxg
Модератор
3145 / 1947 / 214
Регистрация: 13.01.2012
Сообщений: 7,438
08.06.2016, 15:55     Не могу разобраться в логах, где ошибка? #11
Springboks, вот у этой штуки net.majorkernelpanic.streaming.gl.SurfaceView судя по всему тоже нечто прямоугольное мешает

Добавлено через 1 минуту
наверное она не знает такого компонента и не может запуститься..

Добавлено через 11 секунд
она = активити

Добавлено через 59 секунд
удивительно как оно вообще компилирует... или там отложенный доступ через метод..
Springboks
2 / 2 / 0
Регистрация: 06.05.2014
Сообщений: 84
08.06.2016, 16:05  [ТС]     Не могу разобраться в логах, где ошибка? #12
Та вроде все проверил, название библиотеки идентично всему.
vxg
Модератор
3145 / 1947 / 214
Регистрация: 13.01.2012
Сообщений: 7,438
08.06.2016, 16:18     Не могу разобраться в логах, где ошибка? #13
Springboks
1 у вас реально в проекте есть класс net.majorkernelpanic.streaming.gl.SurfaceView?
2 как вы его используете, где создаются объекты этого класса, почему он хочет инфлатится в лайоте?
Springboks
2 / 2 / 0
Регистрация: 06.05.2014
Сообщений: 84
08.06.2016, 16:23  [ТС]     Не могу разобраться в логах, где ошибка? #14
я использую скаченную библиотеку libstreaming. Из которой и обращаюсь к классу net.majorkernelpanic.streaming.gl.SurfaceView
Я ее импортировал. и в Properties подключил к проекту. Она отображается в Android Dependencies.

Добавлено через 4 минуты
Смысл проекта состоит в том, что я с устройства в режиме онлайн передаю видео изображение на веб страничку. Класс SurfaceView в активити создает граф. область для отображения видео.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.06.2016, 16:27     Не могу разобраться в логах, где ошибка?
Еще ссылки по теме:
Не могу разобраться с созданием приложения Android
Загадочная разметка, не могу разобраться. Android
Не могу разобраться в логе ошибки Android
Android Не могу разобраться, как подключать Фрагменты
Android Не могу разобраться с разметкой xml - layout'a

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
vxg
Модератор
3145 / 1947 / 214
Регистрация: 13.01.2012
Сообщений: 7,438
08.06.2016, 16:27     Не могу разобраться в логах, где ошибка? #15
Springboks
у вас этот класс net.majorkernelpanic.streaming.gl.SurfaceView воткнут в лайот активити? почему система хочет его создать когда загружает вью?

Добавлено через 32 секунды
в активити он случаем не зачеркнуто-подчеркнутый?

Добавлено через 37 секунд
покажите лайот
Yandex
Объявления
08.06.2016, 16:27     Не могу разобраться в логах, где ошибка?
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru