導航:首頁 > 操作系統 > android列印變數

android列印變數

發布時間:2022-06-15 13:26:10

android 程序在手機屏幕輸出變數的值

看你有幾個線程了,樓上的方法主要使用在多線程情況下,如果只有一個線程,那麼用一個循環就可以了。當然了,多線程更好,但是變數數值的更新頻率不是固定的,取決於系統內部的線程調用機制。

㈡ android 一個繼承了Service的類怎樣取得MainActivity裡面變數的值,怎樣調用MainActivity裡面的方法

1 取變數可以通過在service的構造函數傳參,或者通過intent傳參
2 service調用acivitiy的方法?
使用static方法是可以做到,但是不建議這樣做,static方法會引起很多問題,這里就不詳談了
建議改下結構,可以把方法移到service里 或者通過其他方法實現,不知道你具體需求是什麼?
因為service是可以脫離activity運行的,直接調用acvitity的方法是非常風險的

㈢ 在android異常列印中常看到這樣的列印:android.app.ActivityThread$H.handleMessage ,中間的$H是

你的ActivityThread裡面是不是有一個Handler H 變數?這里的$連接兩個類,表示後一個是前一個的內部類,也就是說H是ActivityThread的內部類。也許你會說H是一個變數不是一個類,你的代碼應該是
Handler H = new Handler(){
public void handleMessage(android.os.Message msg) {

};
};
這就是你重寫了Handler的方法handleMessage

㈣ android adb logcat怎麼列印過濾正在調試的包的信息

如何過濾adb logcat輸出 本文介紹如何在 shell 命令行中過濾 adb logcat 輸出的幾個小技巧。 開發當中經常看到別人的 log 如洪水般瞬間刷滿了屏幕,對自己有用的信息都被淹沒了,影響心情也影響效率。下面是幾個我所知道的過濾方法。 1. 只顯示需要的輸出,白名單 最方便的當然是通過管道使用 grep 過濾了,這樣可以使用 grep 強大的正則表達式匹配。簡單的匹配一行當中的某個字元串,例如 MyApp: adb logcat grep MyApp adb logcat grep -i myapp #忽略大小寫。 adb logcat grep --color=auto -i myapp #設置匹配字元串顏色。更多設置請查看 grep 幫助。 進階一點可以使用 grep 的正則表達式匹配。例如上一個例子會匹配一行中任意位置的 MyApp,可以設置為僅匹配 tag。默認的 log 輸出如下,如果修改過輸出格式相應的表達式也要修改。 I/CacheService( 665): Preparing DiskCache for all thumbnails. 可以看出 tag 是一行開頭的第三個字元開始,根據這點寫出表達式: adb logcat grep "^..MyApp" 根據這個格式也可以設置只顯示某個優先順序的 log,再匹配行首第一個字元即可。例如僅顯示 Error 級別 tag 為 MyApp 的輸出: adb logcat grep "^E.MyApp" 當然也可以匹配多個,使用 分割多個匹配表達式,要加轉義符。例如要匹配 tag 為 MyApp 和 MyActivity 的輸出: adb logcat grep "^..MyApp\^..MyActivity" adb logcat grep -E "^..MyApp^..MyActivity" #使用 egrep 無須轉義符 2. 過濾不需要的輸出,黑名單 還是使用 grep,用法也跟上面的一樣,加一個 -v 即可。例如要過濾 tag 為 MyApp 和 MyActivity 的輸出: adb logcat grep -v "^..MyApp\^..MyActivity" adb logcat grep -vE "^..MyApp^..MyActivity" #使用 egrep 無須轉義符 3. 顯示同一個進程的所有輸出 有時一個程序裡面的 tag 有多個,需要輸出該程序(同一個 PID)的所有 tag;僅使用 tag 過濾有時也會漏掉一些錯誤信息,而一般錯誤信息也是和程序同一個 PID。還是通過 grep 實現,思路是先根據包名找到 pid 號,然後匹配 pid。寫成 shell 腳本如下,參數是程序的 java 包名(如 com.android.media)。 查看源代碼列印幫助 1 #!/bin/bash 2 packageName=$1 3 pid=`adb shell ps grep $packageName awk '{print $2}'` 4 adb logcat grep --color=auto $pid 4. 從當前開始顯示 logcat 有緩存,如果僅需要查看當前開始的 log,需要清空之前的。 adb logcat -c && adb logcat 5. 過濾 log 文件 有時需要分析 log 文件,過濾 log 文件還是使用 grep。例如 log 文件為 myapp.log,要匹配 tag 為 MyApp 和 MyActivity 的輸出,然後輸出到 newmyapp.log: cat myapp.log grep "^..MyApp\^..MyActivity" > newmyapp.log Windows 下推薦使用 Notepad++,一個免費強大的記事本,支持正則表達式查找替換。可以高亮顯示匹配內容,也可以刪除不需要的內容。 以上的技巧主要用到了 grep,其實 logcat 本身也有過濾功能,可以根據 tag、優先順序過濾 log,具體請參考 Android 官方文檔 Reading and Writing Logs。如果喜歡使用圖形界面,請參考 Using DDMS,DDMS 裡面的 logcat 也可以同樣過濾。 android的logcat詳細用法 Android日誌系統提供了記錄和查看系統調試信息的功能。日誌都是從各種軟體和一些系統的緩沖區中記錄下來的,緩沖區可以通過 logcat 命 令來查看和使用. 使用logcat命令 你可以用 logcat 命令來查看系統日誌緩沖區的內容: [adb] logcat [<option>] ... [<filter-spec>] ... 請查看Listing of logcat Command Options ,它有對logcat命 令有詳細的描述 . 你也可以在你的電腦或運行在模擬器/設備上的遠程adb shell端來使用logcat命 令,也可以在你的電腦上查看日誌輸出。 $ adb logcat 你也這樣使用: # logcat 過濾日誌輸出 每一個輸出的Android日誌信息都有一個標簽和它的優先順序. 日誌的標簽是系統部件原始信息的一個簡要的標志。(比如:「View」就 是查看系統的標簽). 優先順序有下列集中,是按照從低到高順利排列的: V — Verbose (lowest priority) D — Debug I — Info W — Warning E — Error F — Fatal S — Silent (highest priority, on which nothing is ever printed) 在運行logcat的時候在前兩列的信息中你就可以看到 logcat 的標簽列表和優先順序別,它是這樣標出的:<priority>/<tag> . 下面是一個logcat輸出的例子,它的優先順序就似乎I,標簽 就是ActivityManage: I/ActivityManager( 585): Starting activity: Intent { action=android.intent.action...} 為了讓日誌輸出能體現管理的級別,你還可以用過濾器來控制日誌輸出,過濾器可以幫助你描述 系統的標簽等級. 過濾器語句按照下面的格式描tag:priority ... , tag 表 示是標簽,priority 是表示標簽的報告的最低等級. 從上面的tag的中可以得到日誌的優先順序. 你可以在過濾器中多次寫tag:priority . 這些說明都只到空白結束。下面有一個列子,例子表示支持所有的日誌信息,除了那些標簽 為」ActivityManager」和優先順序為」Info」以上的和標簽為」 MyApp」和優先順序為」 Debug」以上的。 小等級,優先權報告為tag. adb logcat ActivityManager:I MyApp:D *:S 上面表達式的最後的元素 *:S ,,是設置所有的標 簽為」silent」,所有日誌只顯示有」View」 and 「MyApp」的,用 *:S 的另一個用處是 能夠確保日誌輸出的時候是按照過濾器的說明限制的,也讓過濾器也作為一項輸出到日誌中. 下面的過濾語句指顯示優先順序為warning或更高的日誌信息: adb logcat *:W 如果你電腦上運行logcat ,相比在遠程adbshell端,你還可以 為環境變數ANDROID_LOG_TAGS :輸入一個參數來設置默認的過濾 export ANDROID_LOG_TAGS="ActivityManager:I MyApp:D *:S" 需要注意的是ANDROID_LOG_TAGS 過濾器如果 通過遠程shell運行logcat 或 用adb shell logcat 來 運行模擬器/設備不能輸出日誌. 控制 日誌輸出格式 日誌信息包括了許多元數據域包括標簽和優先順序。可以修改日誌的輸出格式,所以可以顯示出特 定的元數據域。可以通過 -v 選項得到格式化輸出日誌的相關信息. brief — Display priority/tag and PID of originating process (the default format). process — Display PID only. tag — Display the priority/tag only. thread — Display process:thread and priority/tag only. raw — Display the raw log message, with no other metadata fields. time — Display the date, invocation time, priority/tag, and PID of the originating process. long — Display all metadata fields and separate messages with a blank lines. 當啟動了logcat ,你可以通過-v 選 項來指定輸出格式: [adb] logcat [-v <format>] 下面是用 thread 來產生的日誌格式: adb logcat -v thread 需要注意的是你只能-v 選項來規定輸出格式 option. 查看 可用日誌緩沖區 Android日誌系統有循環緩沖區,並不是所有的日誌系統都有默認循環緩沖區。為了得到 日誌信息,你需要通過-b 選項來啟動logcat 。如果要使用循環緩沖區,你需要查看剩餘的 循環緩沖期: radio — 查看緩沖區的相關的信息. events — 查看和事件相關的的緩沖區. main — 查看主要的日誌緩沖區 -b 選項使用方法: [adb] logcat [-b <buffer>] 下面的例子表示怎麼查看日誌緩沖區包含radio 和 telephony信息: adb logcat -b radio 查看 stdout 和stderr 在默認狀態下,Android系統有stdout 和 stderr (System.out和System.err ) 輸出到/dev/null , 在運行Dalvik VM的進程中,有一個系統可以備份日誌文件。在這種情況下,系統會用stdout 和stderr 和 優先順序 I.來記錄日誌信息 通過這種方法指定輸出的路徑,停止運行的模擬器/設備,然後通過用setprop 命 令遠程輸入日誌 $ adb shell stop $ adb shell setprop log.redirect-stdio true $ adb shell start 系統直到你關閉模擬器/設備前設置會一直保留,可以通過添加/data/local.prop 可 以使用模擬器/設備上的默認設置 Logcat命令列表 Option Description -b <buffer> 載入一個可使用的日誌緩沖區供查看,比如event 和radio . 默認值是main 。具體查看Viewing Alternative Log Buffers. -c 清楚屏幕上的日誌. -d 輸出日誌到屏幕上. -f <filename> 指定輸出日誌信息的<filename> , 默認是stdout . -g 輸出指定的日誌緩沖區,輸出後退出. -n <count> 設置日誌的最大數目<count> ., 默認值是4,需要和 -r 選 項一起使用。 -r <kbytes> 每<kbytes> 時 輸出日誌,默認值為16,需要和-f 選 項一起使用. -s 設置默認的過濾級別為silent. -v <format> 設置日誌輸入格式,默認的是brief 格 式,要知道更多的支持的格式,參看Controlling Log Output Format .

㈤ Android Studio debugger 中怎麼把 byte[] 型變數以二進制形式復制出來

進入到斷點後,按alt+F8,彈出Evaluate窗口,在Code Fragment中使用Arrays.toString()方法列印變數,這里的結果可以復制。

㈥ 如何調用android.mk 中的變數

變數
1
LOCAL_PATH := $(call my-dir)
1、解釋 LOCAL_PATH:
英文:如下圖
中文:Android.mk 開始必須定義變數 LOCAL_PATH,它用來指定源文件的位置
2、解釋 my-dir:
英文:如下圖
中文:編譯系統提供的'my-dir'宏函數,被用來獲取當前的目錄。

2
include $(CLEAR_VARS)
1、解釋 CLEAR_VARS:
英文:如下圖
中文:編譯系統提供CLEAR_VARS變數,它指向了一個用來清除 LOCAL_ 開頭的變數(LOCAL_PATH除外)的makefile文件,需要它的原因是整個的編譯上下文中,所有的變數都是全局的,這樣就可以保證這些變數只在局部范圍內起作用;

3
LOCAL_MODULE := hello-jni
1、解釋 LOCAL_MODULE:
英文:如下圖
中文:每一個android.mk文件中都必須定義一個模塊標示 LOCAL_MODULE , 這個名字必須是唯一的並且不包含任何的空格,編譯系統將自動的修改生成文件的前綴和後綴,如一個模塊為'foo'共享庫將被改為'libfoo.so';
重要提示,如果你的模塊名為'libfoo',編譯系統生成的文件為 'libfoo.so', 而不會去再增加前綴,當你使用的時候,android平台會自動識別;

4
LOCAL_SRC_FILES := hello-jni.c
1、解釋 LOCAL_SRC_FILES
英文:如下圖
中文:LOCAL_SRC_FILES必須包含一系列的C/C++源文件,他們將會被建立和裝載到模塊中,注意你不應該把需要包含的頭文件列在這里,因為建立系統將自動計算依賴項,只有源文件才能夠被編譯器識別;
2、解釋 LOCAL_CPP_EXTENSION
英文:如下圖
中文:注意默認的c++文件擴展名是'.cpp', LOCAL_CPP_EXTENSION可以用來指定不同類型的擴展名,不要忘了前面的點(如:'.cxx' 將起作用, 但是 'cxx'不會起作用).
如:LOCAL_CPP_EXTENSION := .cc .cpp

5
include $(BUILD_SHARED_LIBRARY)
1、解釋 BUILD_SHARED_LIBRARY
英文:如下圖
中文:『建立系統』提供個變數 BUILD_SHARED_LIBRARY, 將根據在『include』之前定義的所有的信息和LOCAL_前綴的變數,決定將建立什麼,如何正確的生成共享庫;
2、解釋 BUILD_STATIC_LIBRARY
英文: 如下圖
中文: 同上,只不過它生成的是靜態庫

6
LOCAL_C_INCLUDES := $(NDK_ROOT)/sources/third_party/freetype
1、解釋 NDK_ROOT
中文:NDK_ROOT 代表的是ndk的根目錄,如我的是「D:\Android\android-ndk-r10」,這個例子是用來載入ndk根目錄下的freetype的頭文件路徑;
7
LOCAL_LDFLAGS := \
$(LOCAL_PATH)/libs/$(TARGET_ARCH_ABI)/libfreetype.a
1、解釋 LOCAL_LDFLAGS
中文:用來載入用戶自己的靜態庫(.a文件)
2、解釋 TARGET_ARCH_ABI
中文:當前的cpu/abi的類型,在鏈接不同類型的CPU_ABI時非常有用,如下圖

8
$(call import-add-path,$(LOCAL_PATH)/libsrc)
1、解釋:import-add-path
中文:增加自己的路徑到 NDK_MODULE_PATH 環境變數中,再非ndk根目錄/sources下編譯時會用到
9
LOCAL_SRC_FILES := hello-jni.c HelloJni.cpp
$(error $(LOCAL_SRC_FILES))
1、解釋:$
中文:變數前面加上"$"用來返回變數的值
2、解釋:$(error string)
中文:用來將string所對應的內容列印到控制台,並且android.mk文件停止繼續進行編譯,如下圖

10
LOCAL_SRC_FILES := hello-jni.c HelloJni.cpp
$(warning $(LOCAL_SRC_FILES))
1、解釋:$(warning string)
中文:用來將string所對應的內容列印到控制台,並且android.mk文件將繼續進行編譯,如下圖

11
LOCAL_PRELINK_MODULE := false
1、解釋 LOCAL_PRELINK_MODULE:
中文:關閉編譯器鏈接前進行代碼優化,防止將沒有用到的代碼不添加到生成的庫中
12
LOCAL_EXPORT_CFLAGS := -DFOO=1
1、解釋 LOCAL_EXPORT_CFLAGS
定義這個變數來記錄一些列的 c/c++編譯標志,他們將會增加到其他的使用這個模塊的LOCAL_CFLAGS中,LOCAL_CFLAGS的功能相當於:LOCAL_STATIC_LIBRARIES 和 LOCAL_SHARED_LIBRARIES 這兩個變數;

13
LOCAL_STATIC_LIBRARIES := foo
1、解釋 LOCAL_STATIC_LIBRARIES
鏈接進來一個靜態庫的模塊,這里是靜態庫的模塊的名稱,而不是靜態庫的名稱
14
LOCAL_SHARED_LIBRARIES
鏈接進來一個動態庫的模塊,這里是動態庫的模塊的名稱,而不是靜態庫的名稱

15
LOCAL_EXPORT_CPPFLAGS
跟 LOCAL_EXPORT_CFLAGS 的功能一樣,但是它只能夠在c++中使用

16
LOCAL_EXPORT_C_INCLUDES
跟 LOCAL_EXPORT_CFLAGS,但是對於c的 include路徑,被調用模塊申明後,使用模塊可以很方便的使用包含的路徑

17
LOCAL_EXPORT_LDFLAGS
跟LOCAL_EXPORT_CFLAGS的作用一樣,但是僅僅是鏈接選項
18
LOCAL_EXPORT_LDLIBS
跟LOCAL_EXPORT_CFLAGS的作用類似,但是這個變數說明的系統庫,需要帶上 '-l' 前綴,他們將導入鏈接器選項,並追加到你的模塊的 LOCAL_LDLIBS
19
LOCAL_ALLOW_UNDEFINED_SYMBOLS := true
允許未定義的符號
20
LOCAL_CFLAGS
.c文件對應的編譯標記變數
21
LOCAL_LDLIBS
用來鏈接共享庫(so)或者執行文件,使用系統的庫文件的時候,需要加上前綴 '-l',例如下面的例子,將告訴連接器生成的模塊的時候同時鏈接 /system/lib/libz.so
LOCAL_LDLIBS := -lz
注意:如果你在一個模塊中鏈接一個靜態庫,這個靜態庫是不會起作用的,同時ndk-build 會列印出一條警告消息
22
LOCAL_CFLAGS := -fvisibility=hidden
隱藏庫函數名
23
LOCAL_PROGUARD_ENABLED默認是打開的,不特別指定的話,就是起作用的,就可能做優化。
LOCAL_PROGUARD_ENABLED:= disabled

㈦ android怎樣後台列印變數

1.首先,在 Android.mk文件中需要加入: LOCAL_LDLIBS := -llog
2. 其次,包含如下庫文件 #include <android/log.h>
3. 使用方法示例 __android_log_print(ANDROID_LOG_INFO, "CDib::Attach", "--------%d,%d,%d,this->linebytes=%d\n",linebytes,width,height,this->linebytes); //按此形式列印變數 方便調用起見,可以使用宏定義 #define LOGI(msg) __android_log_print(ANDROID_LOG_INFO, LOG_TAG, msg) #define LOGE(msg) __android_log_print(ANDROID_LOG_ERROR, LOG_TAG, msg)

㈧ 如何輸出 android.mk 及 application.mk 中個變數的值

想知道 android.mk 及 Application.mk 中各變數的值可以通過新建如下兩個.mk文件:
PRINT_ANDROID_VARIABLE.mk
PRINT_APPLICATION_VARIABLE.mk
包含到android.mk文件中某位置:

1
include $(LOCAL_PATH)PRINT_ANDROID_VARIABLE.mk
2 include $(LOCAL_PATH)PRINT_APPLICATION_VARIABLE.mk
View Code

文件PRINT_ANDROID_VARIABLE.mk內容如下:

1 $(warning CLEAR_VARS =
$(CLEAR_VARS))
2 $(warning BUILD_SHARED_LIBRARY =
$(BUILD_SHARED_LIBRARY))
3 $(warning BUILD_STATIC_LIBRARY =
$(BUILD_STATIC_LIBRARY))
4 $(warning PREBUILT_SHARED_LIBRARY =
$(PREBUILT_SHARED_LIBRARY))
5 $(warning TARGET_ARCH =
$(TARGET_ARCH))
6 $(warning TARGET_PLATFORM =
$(TARGET_PLATFORM))
7 $(warning TARGET_ARCH_ABI =
$(TARGET_ARCH_ABI))
8 $(warning TARGET_ABI =
$(TARGET_ABI))
9 $(warning LOCAL_PATH =
$(LOCAL_PATH))
10 $(warning LOCAL_MODULE =
$(LOCAL_MODULE))
11 $(warning LOCAL_MODULE_FILENAME =
$(LOCAL_MODULE_FILENAME))
12 $(warning LOCAL_SRC_FILES =
$(LOCAL_SRC_FILES))
13 $(warning LOCAL_CPP_EXTENSION =
$(LOCAL_CPP_EXTENSION))
14 $(warning LOCAL_C_INCLUDES =
$(LOCAL_C_INCLUDES))
15 $(warning LOCAL_CFLAGS =
$(LOCAL_CFLAGS))
16 $(warning LOCAL_CXXFLAGS =
$(LOCAL_CXXFLAGS))
17 $(warning LOCAL_CPPFLAGS =
$(LOCAL_CPPFLAGS))
18 $(warning LOCAL_STATIC_LIBRARIES =
$(LOCAL_STATIC_LIBRARIES))
19 $(warning LOCAL_SHARED_LIBRARIES =
$(LOCAL_SHARED_LIBRARIES))
20 $(warning LOCAL_WHOLE_STATIC_LIBRARIES =
$(LOCAL_WHOLE_STATIC_LIBRARIES))
21 $(warning LOCAL_LDLIBS =
$(LOCAL_LDLIBS))
22 $(warning LOCAL_LDFLAGS =
$(LOCAL_LDFLAGS))
23 $(warning LOCAL_ALLOW_UNDEFINED_SYMBOLS =
$(LOCAL_ALLOW_UNDEFINED_SYMBOLS))
24 $(warning LOCAL_ARM_MODE =
$(LOCAL_ARM_MODE))
25 $(warning LOCAL_ARM_NEON =
$(LOCAL_ARM_NEON))
26 $(warning LOCAL_DISABLE_NO_EXECUTE =
$(LOCAL_DISABLE_NO_EXECUTE))
27 $(warning LOCAL_DISABLE_RELRO =
$(LOCAL_DISABLE_RELRO))
28 $(warning LOCAL_DISABLE_FORMAT_STRING_CHECKS =
$(LOCAL_DISABLE_FORMAT_STRING_CHECKS))
29 $(warning LOCAL_EXPORT_CFLAGS =
$(LOCAL_EXPORT_CFLAGS))
30 $(warning LOCAL_EXPORT_CPPFLAGS =
$(LOCAL_EXPORT_CPPFLAGS))
31 $(warning LOCAL_EXPORT_C_INCLUDES =
$(LOCAL_EXPORT_C_INCLUDES))
32 $(warning LOCAL_EXPORT_LDFLAGS =
$(LOCAL_EXPORT_LDFLAGS))
33 $(warning LOCAL_EXPORT_LDLIBS =
$(LOCAL_EXPORT_LDLIBS))
34 $(warning LOCAL_SHORT_COMMANDS =
$(LOCAL_SHORT_COMMANDS))
35 $(warning LOCAL_THIN_ARCHIVE =
$(LOCAL_THIN_ARCHIVE))
36 $(warning LOCAL_FILTER_ASM = $(LOCAL_FILTER_ASM))
View Code

文件PRINT_APPLICATION_VARIABLE.mk內容如下:

1 $(warning APP_PROJECT_PATH =
$(APP_PROJECT_PATH))
2 $(warning APP_MODULES =
$(APP_MODULES))
3 $(warning APP_OPTIM =
$(APP_OPTIM))
4 $(warning APP_CFLAGS =
$(APP_CFLAGS))
5 $(warning APP_CXXFLAGS =
$(APP_CXXFLAGS))
6 $(warning APP_CPPFLAGS =
$(APP_CPPFLAGS))
7 $(warning APP_LDFLAGS =
$(APP_LDFLAGS))
8 $(warning APP_BUILD_SCRIPT =
$(APP_BUILD_SCRIPT))
9 $(warning APP_ABI =
$(APP_ABI))
10 $(warning APP_PLATFORM =
$(APP_PLATFORM))
11 $(warning APP_STL =
$(APP_STL))
12 $(warning APP_GNUSTL_FORCE_CPP_FEATURES =
$(APP_GNUSTL_FORCE_CPP_FEATURES))
13 $(warning APP_SHORT_COMMANDS =
$(APP_SHORT_COMMANDS))
14 $(warning NDK_TOOLCHAIN_VERSION =
$(NDK_TOOLCHAIN_VERSION))
15 $(warning APP_PIE =
$(APP_PIE))
16 $(warning APP_THIN_ARCHIVE = $(APP_THIN_ARCHIVE))
View Code

㈨ Makefile編譯時怎麼列印出變數值

其實androidndk上的編譯說到底也就是交叉編譯,只要配置好交叉編譯工具鏈,使用原有的makefile也是可以編譯出在android運行的c、c++程序的。以android-ndk-r4-crystax的ndk版本為例:編譯器路徑android-ndk-r4-crystax/build/prebuilt/linux-x86/arm-eabi-4.4.0/bin名稱前綴arm-eabi-頭文件目錄android-ndk-r4-crystax/build/platforms/android-3/arch-arm/usr/include庫文件目錄android-ndk-r4-crystax/build/platforms/android-3/arch-arm/usr/lib你可以試一下上面的配置,如果編譯鏈接都沒有問題,可以adbpush到android設備上運行看看,什麼結果?有點崩潰,根本運行不起來,你也許想試試看android自帶的ndk例子,確實是能夠運行的,問題在哪兒呢?只是正確配置了編譯器、頭文件、庫文件還不夠,還需要配置編譯、鏈接的參數,android例子中編譯鏈接的參數是什麼呢?你也許想深究一下android的makefile,可是不久你會發現那是更崩潰的事情,裡面用了很多的make腳本函數。其實android的makefile是可以把執行的詳細命令輸出來的,只要make的時候加上V=1即可。可以看到確實帶了很多參數編譯參數:-fpic-mthumb-interwork-ffunction-sections-funwind-tables-fstack-protector-fno-short-enums-Wno-psabi-march=armv5te-mtune=xscale-msoft-float-mthumb-fomit-frame-pointer-fno-strict-aliasing-finline-limit=64-Wa,--noexecstack-D__ARM_ARCH_5__-D__ARM_ARCH_5T__-D__ARM_ARCH_5E__-D__ARM_ARCH_5TE__-DANDROID鏈接參數:-nostdlib-Bdynamic-Wl,-dynamic-linker,/system/bin/linker-Wl,--gc-sections-Wl,-z,noreloc-Wl,--no-undefined-Wl,-z,noexecstack-L$(PLATFORM_LIBRARY_DIRECTORYS)crtbegin_static.ocrtend_android.o這其中鏈接參數中的-Wl,-dynamic-linker,/system/bin/linker、crtbegin_static.o、crtend_android.o是最關鍵的,android使用了自己的進程載入器,並且自定義了c運行時的啟動結束。難怪先前編譯的進程啟動不了。

㈩ android變數值輸出

你先在全局裡面看看能不能看到這個輸出。

閱讀全文

與android列印變數相關的資料

熱點內容
linux時間調度演算法 瀏覽:767
單片機最小電路詳解 瀏覽:181
請求要求命令 瀏覽:802
電腦文件夾發微信顯示被佔用 瀏覽:289
手機怎麼看加密視頻 瀏覽:202
怎樣解壓手機es文件包 瀏覽:659
2017年學什麼編程 瀏覽:930
金融期貨pdf 瀏覽:688
程序員客棧的信息保密嗎 瀏覽:505
編程顯示器什麼意思 瀏覽:144
網路編程的就業 瀏覽:258
s7200編程入門 瀏覽:748
華潤萬家app為什麼進不去 瀏覽:250
後台運行app命令 瀏覽:873
通達信雲加密能破解 瀏覽:141
郵件保存成pdf 瀏覽:867
bbs網站java源碼下載百度雲 瀏覽:460
php無限極分類樹 瀏覽:275
什麼叫高分伺服器 瀏覽:814
通達信最佳買點副圖指標源碼公式 瀏覽:182