1. android ndk 怎樣調用第三方的so庫文件
你好,我現在能夠用NDK的如下方式寫幾個簡單的文件,然後打包為SO,再用另外的一個.C文件調用SO,然後生成最終的供Android使用的SO文件,具體方式如下:下載一個從android模擬器里取systemlib的工具busybox,然後調用命令$adbpushbusybox/dev/sample/busybox$adbshellchmod777/dev/sample/busybox$adbshell./dev/sample/busyboxtar-cf/dev/sample/libs.tar/system/lib$adbpull/dev/sample/libs.tarlibs.tar這樣就將模擬器下的/system/lib目錄的所有庫(so)文件打包並下載下來了,解壓libs.tar就得到了我們所需要的所有庫文件。接著將所有的文件到$(NDK)\build\prebuilt\windows\arm-eabi-4.2.1\lib\gcc\arm-eabi\4.2.1,這個時候基本的配置工作就結束了。然後建立tutorial01.c調用tutorial02.c中的方法,通過寫makefile文件將之打包為SOCC=/cygdrive/e/android-ndk-1.5_r1/build/prebuilt/windows/arm-eabi-4.2.1/bin/arm-eabi-gccCFLAGS=-g-O2-fPIC-DANDROID-I./-I../-I/cygdrive/e/android-ndk-1.5_r1/build/platforms/android-1.5/arch-arm/usr/includeSDFLAGS=-nostdlib-Wl,-T,armelf.xsc-Wl,-soname,$@-Wl,-shared,-Bsymbolic-lcCRT_OBJS=-lz-lm#sourcefiles:SRCS=tutorial01.ctutorial02.ctutorial02.hall:libtutorial.solibtutorial.so:tutorial01.otutorial02.o$(CC)$(SDFLAGS)[email protected]$(CRT_OBJS)tutorial01.o:tutorial02.htutorial02.o:tutorial02.hclean:rm-flibtutorial.so*.o然後make,這個時候會報錯can'tfind"armelf.xsc",在ndk的目錄里搜索一下,搜到之後到$(NDK)\build\prebuilt\windows\arm-eabi-4.2.1\lib\gcc\arm-eabi\4.2.1,然後make,成功。接著建立一個文件test01.c,動態載入so文件,然後寫一個makefile文件,最後make成功。建立一個Android工程testapp來測試其運行情況,實驗表明是能夠正確運行的。
2. 安卓手機控制音效聲道一類的文件夾在哪
安卓手機控制音效聲道一類的位置在/media/audio,系統各個文件夾位置為:
1、/dev 這里是linux系統常規文件夾,裡面的文件很多都是設備模擬的文件系統,一般用戶無需理會。
2、/system/fonts 這裡面保存著系統的字體,如果你有root許可權,可以往裡添加自己喜歡的字體,比如雅黑。
3、/system/framework 這里是android系統的框架,裡面保存著系統核心程序或java類庫,十分重要裡面的任何文件幾乎都不要做刪除操作。
4、/media/audio 這裡面保存著安卓系統默認的鈴聲,alarms是鬧鈴提醒的,notification是簡訊或提示音,ringtones是來電鈴聲,而ui是一些界面音效,比如鍵盤敲擊聲。
3. libAppDataSearch.so在哪個文件夾
文件路徑:/system/lib/libAppDataSearch.so.
精簡系統可以用re管理器刪除該文件,還可以刪除以下lib內文件:
libWebCore_UC.so
libwebp.so
libwebp_0.2.0_base.so
libwebp_android.so
libwonderplayer_init.so
libwsld.so
libWVphoneAPI.so
libyzs_usc.so
libadcode.so
libAisound.so
libamapmapgv21alias.so
libamapmsc.so
libamapv301alias.so
libapp_BaiMapApplib_OEM500.so
libAppDataSearch.so
libAudiofe_V1_OEM500.so
libavcodec.so
libavformat.so
libavutil.so
libbds.so
libBDVoiceSearchClient_V2.so
libbestpayencode-jni.so
libBMapApiEngine_v1_3_5.so
libBrowserShell_UC.so
libbspatchhwouc.so
libcasdkjni.so
libchromeview.so
libCNPackage_OEM500.so
libejTTS.so
4. 如何用gdb找到Android so文件中的加密key
下載一個從android模擬器里取system lib的工具busybox,然後調用命令
$adb push busybox /dev/sample/busybox
$adb shell chmod 777 /dev/sample/busybox
$adb shell ./dev/sample/busybox tar -cf /dev/sample/libs.tar /system/lib
$adb pull /dev/sample/libs.tar libs.tar
這樣就將模擬器下的 /system/lib 目錄的所有庫(so)文件打包並下載下來了,解壓libs.tar就得到了咱們所需要的所有庫文件。
接著將所有的文件 到 $(NDK)\build\prebuilt\windows\arm-eabi-4.2.1\lib\gcc\arm-eabi\4.2.1,這個時候基本的配置工作就結束了。
然後建立tutorial01.c調用tutorial02.c中的方法,通過寫makefile文件將之打包為SO
CC = /cygdrive/e/android-ndk-1.5_r1/build/prebuilt/windows/arm-eabi-4.2.1/bin/arm-eabi-gcc
CFLAGS = -g -O2 -fPIC -DANDROID -I ./ -I ../ -I /cygdrive/e/android-ndk-1.5_r1/build/platforms/android-1.5/arch-arm/usr/include
SDFLAGS = -nostdlib -Wl,-T,armelf.xsc -Wl,-soname,$@ -Wl,-shared,-Bsymbolic -lc
CRT_OBJS= -lz -lm
# source files:
SRCS= tutorial01.c tutorial02.c tutorial02.h
all: libtutorial.so
libtutorial.so: tutorial01.o tutorial02.o
$(CC) $(SDFLAGS) -o $@ tutorial01.o tutorial02.o $(CRT_OBJS)
tutorial01.o: tutorial02.h
tutorial02.o: tutorial02.h
clean:
rm -f libtutorial.so *.o
然後make,這個時候會報錯 can't find "armelf.xsc", 在ndk的目錄里搜索一下,搜到之後 到$(NDK)\build\prebuilt\windows\arm-eabi-4.2.1\lib\gcc\arm-eabi\4.2.1,然後make,成功。
接著建立一個文件test01.c,動態載入so文件,然後寫一個makefile文件,最後make成功。
建立一個Android工程 testapp來測試其運行情況,實驗表明是能夠正確運行的。
5. 如何使用android的ndk建立native的開發環境
從網上看了一篇使用andriod的toolchain在cygwin上來建立android的開發環境,但是在vista上編譯始終失敗,在xp上能夠成功。但是編譯的時間比較長,而且對於新手來說也比較麻煩,難道就沒有簡單的方法嗎?google已經把andriod的ndk已經放出來了,所以我就想著打它的主意了,把它配置一下,就能來開發c的程序了。旁邊小伙肯定笑了,「搞啥?,有病啊,ndk就是一個開發native code的環境。」大哥,我當然知道了,雖然使用ndk來開發native code相對容易,但是它的.mk文件我看的是雲里霧里,我本來想調用自己寫的另外一個so庫,都不知道在.mk文件里如何寫,我現在也懶的去看ndk裡面的mk文件,等哪天(哪天?天曉得是哪一天)有空了好好研究一下。好了,閑話少說,開練吧。首先安裝cygwin,這個網上的教程多的是,就不說了,接著下載android ndk,這個在andriod的官網上就有了,然後下載一個從android模擬器里取system lib的工具busybox,然後調用命令
$adb push busybox /dev/sample/busybox
$adb shell chmod 777 /dev/sample/busybox
$adb shell ./dev/sample/busybox tar -cf /dev/sample/libs.tar /system/lib
$adb pull /dev/sample/libs.tar libs.tar
這樣就將模擬器下的 /system/lib 目錄的所有庫(so)文件打包並下載下來了,解壓libs.tar就得到了我們所需要的所有庫文件。
接著將所有的文件 到 $(NDK)/build/prebuilt/windows/arm-eabi-4.2.1/lib/gcc/arm-eabi/4.2.1,好了,這個時候基本的配置工作就結束了,怎麼樣簡單多了吧。
接著編寫一個簡單的c文件 tutorial01.c
#include <stdio.h>
int getinformation()
{
return 0;
}
然後編寫一個Makefile文件
CC = /cygdrive/f/software/android/android-ndk-1.5_r1/build/prebuilt/windows/arm-eabi-4.2.1/bin/arm-eabi-gcc
CFLAGS = -g -O2 -fPIC -DANDROID -I ./ -I ../ -I F:/software/android/android-ndk-1.5_r1/build/platforms/android-1.5/arch-arm/usr/include
SDFLAGS = -nostdlib -Wl,-T,armelf.xsc -Wl,-soname,$@ -Wl,-shared,-Bsymbolic -lc
CRT_OBJS= -lz -lm
all: libtutorial01.so
libtutorial01.so: tutorial01.o
$(CC) $(SDFLAGS) -o $@ tutorial01.o $(CRT_OBJS)
tutorial01.o: tutorial01.c
然後make,這個時候會報錯 can't find "armelf.xsc", 在ndk的目錄里搜索一下,搜到之後 到$(NDK)/build/prebuilt/windows/arm-eabi-4.2.1/lib/gcc/arm-eabi/4.2.1,然後make,成功。這樣一個簡單的so文件就生成了,這個時候如果想在android的虛擬機上運行,我們還需要給它包裝一下。再編寫一個文件test01.c,在這里是使用dl動態載入so文件,靜態載入始終有問題,搞不清楚android是如何搜索目錄,而且現在只能用絕對路徑,這個問題還得仔細研究研究。
#include <string.h>
#include <jni.h>
jint
Java_com_example_testffmpeg_testffmpeg_getinformation( JNIEnv* env,
jobject thiz )
{
void* filehandle = dlopen("/data/data/com.example.test/lib/libtutorial.so", RTLD_LAZY );
int ll = -1;
if(filehandle)
{
int( * getinformation ) ();
getinformation = dlsym(filehandle, "getinformation");
if( getinformation )
{
ll = getinformation();
}
else
{
ll = -3;
}
dlclose(filehandle);
filehandle=0;
}
else
{
ll = -2;
}
return ll;
}
同樣再來一個Makefile文件
CC = /cygdrive/f/software/android/android-ndk-1.5_r1/build/prebuilt/windows/arm-eabi-4.2.1/bin/arm-eabi-gcc
CFLAGS = -g -O2 -fPIC -DANDROID -I ./ -I ../ -I F:/software/android/android-ndk-1.5_r1/build/platforms/android-1.5/arch-arm/usr/include
SDFLAGS = -nostdlib -Wl,-T,armelf.xsc -Wl,-shared,-Bsymbolic -Wl,-soname,$@ -lc -L ../tutorial
CRT_OBJS= -lz -lm -ldl
all: libtest01.so
libtest01.so: test01.o
$(CC) $(SDFLAGS) -o $@ test01.o $(CRT_OBJS)
ok, make一下成功。好了,接下來使用andriod的sdk寫一個簡單的activity, testapp來測試其運行情況,以下是test01.java的代碼。
package com.example.test;
import android.app.Activity;
import android.widget.TextView;
import android.os.Bundle;
public class test01 extends Activity
{
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
/* Create a TextView and set its content.
* the text is retrieved by calling a native
* function.
*/
TextView tv = new TextView(this);
// tv.setText( stringFromJNI() );
Integer ll = getinformation();
String lls = ll.toString();
tv.setText(lls);
setContentView(tv);
}
/* A native method that is implemented by the
* 'hello-jni' native library, which is packaged
* with this application.
*/
public native int getinformation();
/* this is used to load the 'hello-jni' library on application
* startup. The library has already been unpacked into
* /data/data/com.example.HelloJni/lib/libhello-jni.so at
* installation time by the package manager.
*/
static {System.loadLibrary("test");
}
}
在eclipse中運行,在模擬器上顯示0,就表示成功了。
轉載
6. android libbinder.so在哪個文件載入
1. 直接在code裡面調用dlopen, dlsym
[objc] view plain
my_cam_app->hal_lib.ptr = dlopen("libmmcamera_interface.so", RTLD_NOW);
*(voidvoid **)&(my_cam_app->hal_lib.mm_camera_open) =
dlsym(my_cam_app->hal_lib.ptr, "camera_open");
2. 如果要調用的solib也在當前的android 環境下編譯生成,則可以直接在Android.mk加入到LOCAL_SHARED_LIBRARIES變數
[objc] view plain
LOCAL_SHARED_LIBRARIES:= \
libdl \
libui \
libutils \
libcutils \
libbinder \
libmedia \
libui \
3. 如果要調用的solib已經是編譯好的,則可以採用在Android.mk里加入到LOCAL_LDLIBS
[objc] view plain
LOCAL_LDLIBS := -ldl -lutils #要調用的solib
LOCAL_LDLIBS += -L$(LOCAL_PATH)/libs/ #solib的path
7. 在Android設備上怎麼調試守護進程
其實網上有很多類似的文章,但是你會發現幾乎都不可重現,要麼是細節沒講清楚,要麼是壓根自己沒有真正去試過。這里,我僅給出自己用gdb和gdbserver調試android native code的實際過程,希望對大家有用。
註:以調試mediaserver進程為例.
第一步:你需要下載android,以debug方式編譯,並以生成的image起模擬器或者設備。
第二步:你需要從「http://developer.download.nvidia.com/tegra/files/tegra-gdb-20100430.zip」下載一個gdb,覆蓋到android源碼中gdb對應的位置。
第三步:adb shell到設備,並起gdbserver偵聽目標進程:
adb shell
gdbserver :5039 /system/bin/mediaserver
第四步: 建立pc機和設備的消息連接:
adb forward tcp:5039 tcp:5039
第五步: 使用gdb調試目標進程:
cd android_src
prebuilt/linux-x86/toolchain/arm-eabi-4.2.1/bin/arm-eabi-gdb out/debug/target/proct/generic/symbols/system/bin/mediaserver
第六步: 設置符號表:
set solib-absolute-prefix /your_android_src_path/out/debug/target/proct/generic/symbols
set solib-search-path /your_android_src_path/out/debug/target/proct/generic/symbols/system/lib
第七步: 使gdb和gdb server建立連接:
target remote :5039
第八步: ok. 現在可以使用gdb的命令進行調試,譬如next\break\step\info thread等.
8. 如何調用已有的SO文件來生成供Android使用的SO文件
你好,我現在能夠用NDK的如下方式寫幾個簡單的文件,然後打包為SO,再用另外的一個.C文件調用SO,然後生成最終的供Android使用的SO文件,具體方式如下:
下載一個從android模擬器里取system lib的工具busybox,然後調用命令
$adb push busybox /dev/sample/busybox
$adb shell chmod 777 /dev/sample/busybox
$adb shell ./dev/sample/busybox tar -cf /dev/sample/libs.tar /system/lib
$adb pull /dev/sample/libs.tar libs.tar
這樣就將模擬器下的 /system/lib 目錄的所有庫(so)文件打包並下載下來了,解壓libs.tar就得到了我們所需要的所有庫文件。
接著將所有的文件 到 $(NDK)\build\prebuilt\windows\arm-eabi-4.2.1\lib\gcc\arm-eabi\4.2.1,這個時候基本的配置工作就結束了。
然後建立tutorial01.c調用tutorial02.c中的方法,通過寫makefile文件將之打包為SO
CC = /cygdrive/e/android-ndk-1.5_r1/build/prebuilt/windows/arm-eabi-4.2.1/bin/arm-eabi-gcc
CFLAGS = -g -O2 -fPIC -DANDROID -I ./ -I ../ -I /cygdrive/e/android-ndk-1.5_r1/build/platforms/android-1.5/arch-arm/usr/include
SDFLAGS = -nostdlib -Wl,-T,armelf.xsc -Wl,-soname,$@ -Wl,-shared,-Bsymbolic -lc
CRT_OBJS= -lz -lm
# source files:
SRCS= tutorial01.c tutorial02.c tutorial02.h
all: libtutorial.so
libtutorial.so: tutorial01.o tutorial02.o
$(CC) $(SDFLAGS) -o $@ tutorial01.o tutorial02.o $(CRT_OBJS)
tutorial01.o: tutorial02.h
tutorial02.o: tutorial02.h
clean:
rm -f libtutorial.so *.o
然後make,這個時候會報錯 can't find "armelf.xsc", 在ndk的目錄里搜索一下,搜到之後 到$(NDK)\build\prebuilt\windows\arm-eabi-4.2.1\lib\gcc\arm-eabi\4.2.1,然後make,成功。
接著建立一個文件test01.c,動態載入so文件,然後寫一個makefile文件,最後make成功。
建立一個Android工程 testapp來測試其運行情況,實驗表明是能夠正確運行的。
9. gdb載入動態庫成功,但是不能顯示動態庫中的源碼(gdb+gdbserver)
因為具體的給的不夠詳細,不清楚你遇到的情況。
如果僅從斷點上看,應該就是CApartment.cpp:55
但是,如果你的程序編譯的時候,不是-O0,那個可能回不到源碼,只能看匯編。
1、有時候(很少)就是編譯器的錯誤。
2、還有可能就是你調試的程序和你的源碼不匹配
3、你的程序已經崩潰了,破壞了堆棧或者GDB需要的數據。
4、這個地方有特殊的定位信息
5、其他情況,還是比較多的,經常遇到。
如果懂匯編,最好看看匯編。
如果不懂,看看那一條語句是最後一條能夠跟蹤的語句。
仔細看看最後一條語句的所有變數,應該能猜出來是什麼問題。
10. 求助,qt for android無法調試
s為 ABI 'arm-linux-android-elf-32bit'啟動調試器'QmlCppEngine'...
dStart parameters: 'com.ds.elofm' mode: 6
dABI: arm-linux-android-elf-32bit
dLanguages: c++ qml
dExecutable: D:\QtWorkSpace\build-eloFM-Android_for_armeabi_v7a_GCC_4_9_Qt_5_4_1-Debug\app_process
dDebugger: D:\Android\android-ndk-r10d\toolchains\arm-linux-androideabi-4.9\prebuilt\windows\bin\arm-linux-androideabi-gdb.exe
dProject: D:\QtWorkSpace\eloFM (built: D:\QtWorkSpace\build-eloFM-Android_for_armeabi_v7a_GCC_4_9_Qt_5_4_1-Debug)
dQML server: 127.0.0.1:3768
dRemote: :5039
dSysroot:
dDebug Source Location:
dDebugger settings:
```````中間略...`````````
s正在設置 inferior...
<204-interpreter-exec console "set auto-solib-add on"
<205-interpreter-exec console "python sys.path.insert(1, 'C:/Qt/Qt5.4.1/Tools/QtCreator/share/qtcreator/debugger/')"
<206-interpreter-exec console "python sys.path.append('D:/Android/android-ndk-r10d/toolchains/arm-linux-androideabi-4.9/prebuilt/windows/bin/data-directory/python')"
<207-interpreter-exec console "python from gdbbridge import *"
W/ActivityThread( 7621): Application com.ds.elofm can be debugged on port 8100...
W/System.err( 7621): java.lang.ClassNotFoundException: android.graphics.drawable.RippleDrawable
W/System.err( 7621): at java.lang.Class.classForName(Native Method)
W/System.err( 7621): at java.lang.Class.forName(Class.java:251)
W/System.err( 7621): at java.lang.Class.forName(Class.java:216)
```````中間略...`````````
W/System.err( 7621): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:818)
W/System.err( 7621): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:634)
W/System.err( 7621): at dalvik.system.NativeStart.main(Native Method)
W/System.err( 7621): Caused by: java.lang.NoClassDefFoundError: android/graphics/drawable/RippleDrawable
W/System.err( 7621): ... 25 more
W/System.err( 7621): Caused by: java.lang.ClassNotFoundException: Didn't find class "android.graphics.drawable.RippleDrawable" on path: DexPathList[[zip file "/data/app/com.ds.elofm-2.apk"],nativeLibraryDirectories=[/data/app-lib/com.ds.elofm-2, /vendor/lib, /system/lib]]
W/System.err( 7621): at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
W/System.err( 7621): at java.lang.ClassLoader.loadClass(ClassLoader.java:497)
W/System.err( 7621): at java.lang.ClassLoader.loadClass(ClassLoader.java:457)
W/System.err( 7621): ... 25 more
W/System.err( 7621): java.lang.ClassNotFoundException: android.graphics.drawable.AnimatedStateListDrawable
W/System.err( 7621): at java.lang.Class.classForName(Native Method)
W/System.err( 7621): at java.lang.Class.forName(Class.java:251)
W/System.err( 7621): at java.lang.Class.forName(Class.java:216)
```````中間略...`````````
W/System.err( 7621): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:634)
W/System.err( 7621): at dalvik.system.NativeStart.main(Native Method)
W/System.err( 7621): Caused by: java.lang.NoClassDefFoundError: android/graphics/drawable/AnimatedStateListDrawable
W/System.err( 7621): ... 25 more
W/System.err( 7621): Caused by: java.lang.ClassNotFoundException: Didn't find class "android.graphics.drawable.AnimatedStateListDrawable" on path: DexPathList[[zip file "/data/app/com.ds.elofm-2.apk"],nativeLibraryDirectories=[/data/app-lib/com.ds.elofm-2, /vendor/lib, /system/lib]]
W/System.err( 7621): at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
W/System.err( 7621): at java.lang.ClassLoader.loadClass(ClassLoader.java:497)
W/System.err( 7621): ... 25 more
W/System.err( 7621): java.lang.ClassNotFoundException: android.graphics.drawable.VectorDrawable
W/System.err( 7621): at java.lang.Class.classForName(Native Method)
W/System.err( 7621): at java.lang.Class.forName(Class.java:251)
W/System.err( 7621): at java.lang.Class.forName(Class.java:216)
```````中間略...`````````
W/System.err( 7621): at dalvik.system.NativeStart.main(Native Method)
W/System.err( 7621): Caused by: java.lang.NoClassDefFoundError: android/graphics/drawable/VectorDrawable
W/System.err( 7621): ... 25 more
W/System.err( 7621): Caused by: java.lang.ClassNotFoundException: Didn't find class "android.graphics.drawable.VectorDrawable" on path: DexPathList[[zip file "/data/app/com.ds.elofm-2.apk"],nativeLibraryDirectories=[/data/app-lib/com.ds.elofm-2, /vendor/lib, /system/lib]]
W/System.err( 7621): at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
W/System.err( 7621): at java.lang.ClassLoader.loadClass(ClassLoader.java:497)
W/System.err( 7621): at java.lang.ClassLoader.loadClass(ClassLoader.java:457)
W/System.err( 7621): ... 25 more
W/ResourceType( 7621): Skipping entry 0x1080524 in package table 0 because it is not complex!
>=thread-group-added,id="i1"
>~"GNU gdb (GDB) 7.6\n"
>~"This GDB was configured as \"--host=i586-pc-mingw32msvc --target=arm-linux-android\".\nFor bug reporting instructions, please see:\n"
>~"<http://source.android.com/source/report-bugs.html>.\n"
>&"show version\n"
>~"GNU gdb (GDB) 7.6\n"
>~"Copyright (C) 2013 Free Software Foundation, Inc.\n"
>~"This GDB was configured as \"--host=i586-pc-mingw32msvc --target=arm-linux-android\".\nFor bug reporting instructions, please see:\n"
>~"<http://source.android.com/source/report-bugs.html>.\n"
>195^done
dPARSING VERSION: 195^done
>&"show debug-file-directory\n"
>~"The directory where separate debug symbols are searched for is \"c:\\tmp\\ndk-andrewhsieh\\build\\toolchain\\prefix\\lib\\debug\".\n"
>196^done
```````中間略...`````````
>211^done
<212target extended-remote tcp::5039
>&"target extended-remote tcp::5039\n"
>~"Remote debugging using tcp::5039\n"
>~"Ignoring packet error, continuing...\n"
>&"warning: unrecognized item \"timeout\" in \"qSupported\" response\n"
unrecognized item "timeout" in "qSupported" response
>~"Ignoring packet error, continuing...\n"
W/System.err( 7621): java.lang.Exception:
W/System.err( 7621): at org.qtproject.qt5.android.bindings.QtActivity.loadApplication(QtActivity.java:261)
W/System.err( 7621): at org.qtproject.qt5.android.bindings.QtActivity.startApp(QtActivity.java:660)
W/System.err( 7621): at org.qtproject.qt5.android.bindings.QtActivity.onCreate(QtActivity.java:900)
W/System.err( 7621): at android.app.Activity.performCreate(Activity.java:5303)
W/System.err( 7621): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1091)
W/System.err( 7621): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2165)
W/System.err( 7621): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2255)
W/System.err( 7621): at android.app.ActivityThread.access$800(ActivityThread.java:142)
W/System.err( 7621): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1213)
W/System.err( 7621): at android.os.Handler.dispatchMessage(Handler.java:102)
W/System.err( 7621): at android.os.Looper.loop(Looper.java:136)
W/System.err( 7621): at android.app.ActivityThread.main(ActivityThread.java:5217)
W/System.err( 7621): at java.lang.reflect.Method.invokeNative(Native Method)
W/System.err( 7621): at java.lang.reflect.Method.invoke(Method.java:515)
W/System.err( 7621): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:818)
W/System.err( 7621): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:634)
W/System.err( 7621): at dalvik.system.NativeStart.main(Native Method)
>~"Ignoring packet error, continuing...\n"
>~"Ignoring packet error, continuing...\n"
>&"Remote connection closed\n"
dNOTE: INFERIOR EXITED
dState changed from InferiorSetupRequested(4) to InferiorExitOk(16)
dQUIT DEBUGGER REQUESTED IN STATE 6
dNOTE: INFERIOR ILL
dState changed from InferiorSetupOk(6) to InferiorShutdownRequested(17)
dQUEUE: SHUTDOWN INFERIOR
dState changed from InferiorExitOk(16) to InferiorShutdownOk(19)
dNOTE: INFERIOR EXITED
dState changed from InferiorSetupRequested(4) to InferiorExitOk(16) [master]
dState changed from InferiorExitOk(16) to InferiorShutdownOk(19) [master]
dState changed from InferiorShutdownOk(19) to EngineShutdownRequested(20) [master]
dQUEUE: SHUTDOWN ENGINE
>212^error,msg="Remote connection closed"
sFailed to start application: 連接遠程伺服器失敗:
sRemote connection closed
dINFERIOR START FAILED
dNOTE: INFERIOR SETUP FAILED
s設置失敗。
dState changed from InferiorShutdownOk(19) to InferiorSetupFailed(5)
dQUIT DEBUGGER REQUESTED IN STATE 17
dNOTE: INFERIOR ILL
dState changed from InferiorShutdownRequested(17) to InferiorShutdownRequested(17)
dQUEUE: SHUTDOWN INFERIOR
dNOTE: INFERIOR SETUP FAILED
s設置失敗。
dState changed from EngineShutdownRequested(20) to InferiorSetupFailed(5) [master]
dState changed from InferiorSetupFailed(5) to EngineShutdownRequested(20) [master]
dQUEUE: SHUTDOWN ENGINE
dCALL: SHUTDOWN INFERIOR
dINFERIOR SUCCESSFULLY SHUT DOWN
dState changed from InferiorShutdownRequested(17) to InferiorShutdownOk(19)
dCALL: SHUTDOWN ENGINE
dState changed from InferiorSetupFailed(5) to EngineShutdownRequested(20)
dINITIATE GDBENGINE SHUTDOWN IN STATE 0, PROC: 2
<213-gdb-exit
dCALL: SHUTDOWN INFERIOR
dINFERIOR SUCCESSFULLY SHUT DOWN
dState changed from InferiorShutdownOk(19) to InferiorShutdownOk(19)
dCALL: SHUTDOWN ENGINE
dState changed from EngineShutdownRequested(20) to EngineShutdownRequested(20)
dINITIATE GDBENGINE SHUTDOWN IN STATE 0, PROC: 2
<214-gdb-exit
>213^exit
dGDB CLAIMS EXIT; WAITING
dUNEXPECTED GDB STDERR: Could not AssignProcessToObject
dGDB PROCESS FINISHED, status 0, code 0
dNOTE: ENGINE SHUTDOWN OK
dState changed from EngineShutdownRequested(20) to EngineShutdownOk(22)
dNOTE: ENGINE SHUTDOWN OK
dState changed from EngineShutdownRequested(20) to EngineShutdownOk(22) [master]
dState changed from EngineShutdownOk(22) to DebuggerFinished(23) [master]
dQUEUE: FINISH DEBUGGER
dState changed from EngineShutdownOk(22) to DebuggerFinished(23)
dNOTE: FINISH DEBUGGER
dHANDLE RUNCONTROL FINISHED
s調試器已結束。