Код: Выделить всё
package com.embarcadero.XLRBoot;
import android.app.Activity;
import android.content.BroadcastReceiver;
import android.content.Intent;
import android.content.Context;
public class startup extends BroadcastReceiver
{
@Override
public void onReceive(Context context, Intent intent)
{
Intent sintent = new Intent();
sintent.setClassName(context, "com.embarcadero.firemonkey.FMXNativeActivity");
sintent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(sintent);
}
}
Код: Выделить всё
C:\Program Files (x86)\Java\jdk1.7.0_71\bin>jar cf com-embarcadero-XLRBoot.jar "d:\Delphi XE 10\XLR Spider\Boot Receiver\com-embarcadero-XLRBoot.java"
Код: Выделить всё
[x] Получение завершения загрузки
[x] Изменение порядка задач
I скомпилируйте мое приложение, запустите его, остановите, перезагрузите устройство. Я получаю сообщение об ошибке, что оно остановлено.
В журналах я вижу следующую запись:
Код: Выделить всё
04-20 12:38:49.087 2769 2769 E AndroidRuntime: FATAL EXCEPTION: main
04-20 12:38:49.087 2769 2769 E AndroidRuntime: Process: com.embarcadero.XLRBoot, PID: 2769
04-20 12:38:49.087 2769 2769 E AndroidRuntime: java.lang.RuntimeException: Unable to instantiate receiver com.embarcadero.XLRBoot: java.lang.ClassNotFoundException: Didn't find class "com.embarcadero.XLRBoot" on path: DexPathList[[zip file "/data/app/com.embarcadero.XLRBoot-OHpYv4loPMPls2q6DuLOLA==/base.apk"],nativeLibraryDirectories=[/data/app/com.embarcadero.XLRBoot-OHpYv4loPMPls2q6DuLOLA==/lib/arm, /data/app/com.embarcadero.XLRBoot-OHpYv4loPMPls2q6DuLOLA==/base.apk!/lib/armeabi-v7a, /system/lib, /system/vendor/lib, /system/vendor/lib/hw]]
04-20 12:38:49.087 2769 2769 E AndroidRuntime: at android.app.ActivityThread.handleReceiver(ActivityThread.java:3174)
04-20 12:38:49.087 2769 2769 E AndroidRuntime: at android.app.ActivityThread.-wrap17(Unknown Source:0)
04-20 12:38:49.087 2769 2769 E AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1675)
04-20 12:38:49.087 2769 2769 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:106)
04-20 12:38:49.087 2769 2769 E AndroidRuntime: at android.os.Looper.loop(Looper.java:164)
04-20 12:38:49.087 2769 2769 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:6518)
04-20 12:38:49.087 2769 2769 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
04-20 12:38:49.087 2769 2769 E AndroidRuntime: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
04-20 12:38:49.087 2769 2769 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
04-20 12:38:49.087 2769 2769 E AndroidRuntime: Caused by: java.lang.ClassNotFoundException: Didn't find class "com.embarcadero.XLRBoot" on path: DexPathList[[zip file "/data/app/com.embarcadero.XLRBoot-OHpYv4loPMPls2q6DuLOLA==/base.apk"],nativeLibraryDirectories=[/data/app/com.embarcadero.XLRBoot-OHpYv4loPMPls2q6DuLOLA==/lib/arm, /data/app/com.embarcadero.XLRBoot-OHpYv4loPMPls2q6DuLOLA==/base.apk!/lib/armeabi-v7a, /system/lib, /system/vendor/lib, /system/vendor/lib/hw]]
04-20 12:38:49.087 2769 2769 E AndroidRuntime: at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:125)
04-20 12:38:49.087 2769 2769 E AndroidRuntime: at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
04-20 12:38:49.087 2769 2769 E AndroidRuntime: at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
04-20 12:38:49.087 2769 2769 E AndroidRuntime: at android.app.ActivityThread.handleReceiver(ActivityThread.java:3169)
04-20 12:38:49.087 2769 2769 E AndroidRuntime: ... 8 more
Спасибо за помощь.
С уважением
Роберт
ОБНОВЛЕНИЕ 4
Я удалил предыдущие обновления, потому что был немного не в себе. Вот как мне кажется, что мне нужно правильно создавать файлы.
Создать файл класса
Код: Выделить всё
javac -Xlint:all -classpath "c:\Users\Public\Documents\Embarcadero\Studio\20.0\PlatformSDKs\android-sdk-windows\platforms\android-26\android.jar" "d:\Delphi XE 10\XLR Spider\Boot Receiver\0.2\startup\com\embarcadero\XLRBoot\startup.java" -d "d:\Delphi XE 10\XLR Spider\Boot Receiver\0.2\startup"
Код: Выделить всё
jar cf "d:\Delphi XE 10\XLR Spider\Boot Receiver\0.2\startup\com\embarcadero\XLRBoot\startup.jar" -C "d:\Delphi XE 10\XLR Spider\Boot Receiver\0.2\startup\com\embarcadero\XLRBoot" startup.class
Подробнее здесь: https://stackoverflow.com/questions/671 ... d-8-x-10-x