導航:首頁 > 操作系統 > androidcts環境搭建

androidcts環境搭建

發布時間:2022-09-22 16:51:40

① 如何通過android CTS測試

通過Android CTS測試的方法步驟:
一、運行CTS的方法,步驟如下:
1、進入目錄android-cts,該目錄是通過上面那兩種方法獲得的。在android-cts目錄下會有3個文件夾,其中一個是tools。
2、進入tools目錄,輸入./startcts來啟動CTS。
3、如果運行成功會出現Android CTS version 2.3_r1的字樣(我的android的版本是2.3的)。如果有連接設備到PC上還會出現Device(設備ID)connected的字樣。這里設備可以是連接PC的android的機器,也可以是模擬器。
二、CTS測試的方法:
1、在cts_host>下敲入help,會顯示cts下的許多命令。ls –plan命令顯示google自帶的測試方案,如:java、Signature、Android、CTS、VM、RefApp、Performance、AppSecurity。其中Performance這個方案是google暫不要求的。Java、Signature、Android、VM、RefApp、Appsecurity方案都是CTS方案的子集。
2、用命令ls -d來查看已連接的設備,CTS測試之前我們必須保證至少有一個設備連接上。
3、輸入命令start –plan CTS來執行CTS測試方案,該方案有兩萬多條測試項目,需要很長時間,因此除了第一次測試之外,不建議這么做。我做的都是針對某些包的測試。如果連接了多個設備的話需加上-d參數,後面跟上設備id來告訴CTS需要測試的設備。
4、對單獨一個包進行測試的方法:start –plan CTS –p 包名;推薦用這種方法來進行針對性的測試。需要知道有哪些包名,可以輸入命令:ls –plan CTS
5、也可以針對單獨一個case進行測試:start –plan CTS –test 類名#方法名
三、查看測試的結果:
測試生成的log在\android-cts\repository目錄下以log+測試時間.txt命名。測試報告在android-cts\repository\results目錄下,也是以測試時間命名。
四、注意事項:
測試前需要安裝一個apk:adb install -r android-cts/repository/testcases/.apk 然後在設置裡面

② 如何通過Android CTS測試

解決方法:
1. 生成加密key文件:
將/android_src/development/tools/生成的key COPY到android\build\target\proct\security\

2. 編譯android源碼
重新編譯android源碼,此時out/.../system/app下就是重新編譯的APK
重新構建NFS掛載使用的根文件系統再次測試

3. 單個APK的簽名
重新測試時發現com.android.pts.browser包還是PASS不了,查看out/.../system/app/下的APK文件,發現在步驟2中,
out/.../system/app/PtsDeviceBrowserLauncher.apk沒有重新生成,還是原來的。
不知道為啥沒有重新生成? 我的解決方法是對此APK單獨簽名,將signapk.jar 及自簽名密匙,platform.pk8 platform.x509.pem COPY到下面路徑並
cd /out/target/proct/xxxx/obj/APPS/PtsDeviceBrowserLauncher_intermediates
文件位置:可以在platform/build/target/proct/security/中找到platform.pk8 platform.x509.pem等簽名文件,對應不同的許可權。
signapk.jar:由/platform/build/tools/signapk/編譯產出,可以在/out/host/linux-x86/framework/中找到。
然後運行下面命令 :
# java -jar signapk.jar platform.x509.pem platform.pk8 package.apk.unsigned PtsDeviceBrowserLauncher.apk
package.apk.unsigned 表示未簽名的該APK文件, 重新簽名後為PtsDeviceBrowserLauncher.apk //簽過名的APK重新簽名可能會出錯,最好找到未簽名的APK

其他參考:
簽名:
java -jar signapk.jar platform.x509.pem platform.pk8 MyDemo.apk MyDemo_signed.apk 得到具有對應許可權的APK

優化APK:
zipalign -v 4 MyDemo_signed.apk MyDemo_new.apk

查循APK是否優化過:
zipalign -c -v 4 MyDemo.apk

③ 如何debug android cts

啟動和關閉ADB服務(adb start-server和adbkill-server)
經作者測試,模擬器在運行一段時間後,adb服務有可能(在Windows進程中可以找到這個服務,該服務用來為模擬器或通過USB數據線連接的真機服務)會出現異常。這時需要重新對adb服務關閉和重啟。當然,重啟Eclipse可能會解決問題,但那比較麻煩。如果想手工關閉adb服務,可以使用如下命令:
1. adb kill-server
在關閉adb服務後,要使用如下命令啟動adb服務:
1. adb start-server

鏈接DLNA網路的命令:
ifconfig eth0 down; ifconfig eth0 hw ether 00:00:00:00:fd:87; ifconfig eth0 up; udhcpc

下面的方法是更適合RD 來debug CTS issue的cts運行方式, 這樣解決了一個大問題: 如果用android傳統方式去運行cts的話,必然已經被cts 運行環境佔用了adb埠,用eclipsedebug就無法在另外一台機器上進行(例如RDPC, eclipse debug也需要adb ), 唯一的方式, 就是把android的source code搬到cts 運行的ubuntu機器上, 由於size特別大,非常不便.

下面介紹的運行方式, 直接用adb 去模擬 cts環境的運行方式, 唯一的缺點是, 一個test一個test 的運行. 但是, 對RD來說,這反而是優點! 方便快捷.

這個方法概括一下就是: 在我們的branch 上就有cts 的sourcecode, 我們可以修改其中某個test case所對應的 apk source, 之後,build 出 apk, 然後安裝到板子上去run. 如果我們修改的testcase apk,就是添加了一些message/log之類的, 就立即可以在運行過程中體現出來. 同時,我們可以利用eclipse/ddms相結合 debug android framework部分, 當然, 由於我們也有apk的sourcecode, 也可以debug test case apk本身.

請參考:
剛做完實驗 , 寫下 SOP 給各位參考…
之後若有 RD 需要, 也可以參考這份….

Steps:
1)cmd> cd android/ics-4.x (到 android 目錄)
2)cmd>make cts

Q) 如何知道0801的cts 版本 ?
A)cmd> catandroid/ics-4.x/tools/tradefed-host/src/com/android/cts/tradefed/build/CtsBuildProvider.java| grepCTS_BUILD_VERSION
Result:public static final String CTS_BUILD_VERSION = "4.0.3_r2";

3)cmd>cd out/host/linux-x86/cts/android-cts/repository/testcases
4)找到需要測試的apk 並 到PC端file folder
Ex: CtsTestStubs.apk, CtsOsTestCases.apk, android.core.tests.runner.apk, CtsMyExampleTestCases.apk

5)確定PC 可用adb 連到target
6)
cmd>adbinstall CtsMyExampleTestCases.apk (安裝需要測試的 apk)
cmd>adb install CtsTestStubs.apk (這是google大多原生testapk 需要用到的 stub)
cmd>adbinstall CtsOsTestCases.apk
cmd>adbinstall android.core.tests.runner.apk
7)cmd>adb shell pm list instrumentation (用來查看已經安裝的instrumentation, 每個 CTS 用測的 apk 都是用instrumentation)
Result:
Instrumentation:com.android.cts.myexample/android.test.InstrumentationTestRunner (target=com.android.cts.myexample)
8)
整個 package 測試
cmd>adbshell am instrument –w –r com.android.cts.myexample/android.test.InstrumentationTest(執行該 test package)
此時可查看 failed (如下:Step8 test result example),也可透過 logcat log來看 fail (如下:[test result from logcat])

單一class測試
cmd> adb shellam instrument –e classandroid.myexample.cts.MySampleCalculatorTest–w –rcom.android.cts.myexample/android.test.InstrumentationTestRunner
cmd> adb shellam instrument –e classandroid.os.cts.MyHelloTest–w –rcom.android.cts.os/android.test.InstrumentationCtsTestRunner
單一function測試
cmd> adbshell am instrument –e classandroid.myexample.cts.MySampleCalculatorTest#testAdd–w –rcom.android.cts.myexample/android.test.InstrumentationTestRunner

9) 移除測試用 apk (cmd: adb uninstall<app_name> à <app_name>可從 target 端查詢: ls /data/app )
cmd> adb uninstall com.android.cts.os
cmd> adb uninstall com.android.cts.stub
cmd> adb uninstall com.android.cts.myexample

=== [Step8: test result example] ===
INSTRUMENTATION_STATUS:id=InstrumentationTestRunner
INSTRUMENTATION_STATUS: current=1
INSTRUMENTATION_STATUS:class=android.myexample.cts.MySampleCalculatorTest
INSTRUMENTATION_STATUS: stream=
android.myexample.cts.MySampleCalculatorTest:
INSTRUMENTATION_STATUS: numtests=2
INSTRUMENTATION_STATUS: test=testAdd
INSTRUMENTATION_STATUS_CODE: 1
INSTRUMENTATION_STATUS:id=InstrumentationTestRunner
INSTRUMENTATION_STATUS: current=1
INSTRUMENTATION_STATUS:class=android.myexample.cts.MySampleCalculatorTest
INSTRUMENTATION_STATUS: stream=.
INSTRUMENTATION_STATUS: numtests=2
INSTRUMENTATION_STATUS: test=testAdd
INSTRUMENTATION_STATUS_CODE: 0
INSTRUMENTATION_STATUS:id=InstrumentationTestRunner
INSTRUMENTATION_STATUS: current=2
INSTRUMENTATION_STATUS: class=android.myexample.cts.MySampleCalculatorTest
INSTRUMENTATION_STATUS: stream=
INSTRUMENTATION_STATUS: numtests=2
INSTRUMENTATION_STATUS:test=testSubtration
INSTRUMENTATION_STATUS_CODE: 1
INSTRUMENTATION_STATUS:id=InstrumentationTestRunner
INSTRUMENTATION_STATUS: current=2
INSTRUMENTATION_STATUS:class=android.myexample.cts.MySampleCalculatorTest
INSTRUMENTATION_STATUS: stream=
Failure in testSubtration:
junit.framework.AssertionFailedError:expected:<20> but was:<30>
atandroid.myexample.cts.MySampleCalculatorTest.testSubtration(MySampleCalculatorTest.java:63)
at java.lang.reflect.Method.invokeNative(Native Method)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:169)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:154)
at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:545)
at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1551)

INSTRUMENTATION_STATUS:numtests=2
INSTRUMENTATION_STATUS:stack=junit.framework.AssertionFailedError: expected:<20> but was:<30>
at android.myexample.cts.MySampleCalculatorTest.testSubtration(MySampleCalculatorTest.java:63)
at java.lang.reflect.Method.invokeNative(Native Method)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:169)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:154)
at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:545)
at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1551)

INSTRUMENTATION_STATUS:test=testSubtration
INSTRUMENTATION_STATUS_CODE: -2
INSTRUMENTATION_RESULT: stream=
Test results forInstrumentationTestRunner=..F
Time: 0.079

FAILURES!!!
Tests run: 2, Failures: 1, Errors: 0

INSTRUMENTATION_CODE: -1

===[test result from logcat] ====

/ethernet(6210): Loading ethernet jni class
D/AndroidRuntime(6210): Calling main entry com.android.commands.am.Am
I/ActivityManager(1143): Force stopping package com.android.cts.myexample uid=10036
I/ActivityManager(1143): Start proc com.android.cts.myexample for added applicationcom.android.cts.myexample: pid=6220 uid=10036 gids={}
I/TestRunner(6220): started: testAdd(android.myexample.cts.MySampleCalculatorTest)
I/TestRunner(6220): finished: testAdd(android.myexample.cts.MySampleCalculatorTest)
I/TestRunner(6220): passed: testAdd(android.myexample.cts.MySampleCalculatorTest)
I/TestRunner(6220): started: testSubtration(android.myexample.cts.MySampleCalculatorTest)
I/TestRunner(6220): failed: testSubtration(android.myexample.cts.MySampleCalculatorTest)
I/TestRunner(6220): ----- begin exception -----
I/TestRunner(6220):
I/TestRunner(6220): junit.framework.AssertionFailedError: expected:<20> butwas:<30>
I/TestRunner(6220): at junit.framework.Assert.fail(Assert.java:47)
I/TestRunner(6220): atjunit.framework.Assert.failNotEquals(Assert.java:282)
I/TestRunner(6220): at junit.framework.Assert.assertEquals(Assert.java:64)
I/TestRunner(6220): atjunit.framework.Assert.assertEquals(Assert.java:201)
I/TestRunner(6220): atjunit.framework.Assert.assertEquals(Assert.java:207)
I/TestRunner(6220): at android.myexample.cts.MySampleCalculatorTest.testSubtration(MySampleCalculatorTest.java:63)
I/TestRunner(6220): at java.lang.reflect.Method.invokeNative(NativeMethod)
I/TestRunner(6220): at java.lang.reflect.Method.invoke(Method.java:511)
I/TestRunner(6220): at junit.framework.TestCase.runTest(TestCase.java:154)
I/TestRunner(6220): at junit.framework.TestCase.runBare(TestCase.java:127)
I/TestRunner(6220): atjunit.framework.TestResult$1.protect(TestResult.java:106)
I/TestRunner(6220): at junit.framework.TestResult.runProtected(TestResult.java:124)
I/TestRunner(6220): at junit.framework.TestResult.run(TestResult.java:109)
I/TestRunner(6220): at junit.framework.TestCase.run(TestCase.java:118)
I/TestRunner(6220): at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:169)
I/TestRunner(6220): atandroid.test.AndroidTestRunner.runTest(AndroidTestRunner.java:154)
I/TestRunner(6220): atandroid.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:545)
I/TestRunner(6220): atandroid.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1551)
I/TestRunner(6220): ----- end exception -----
I/TestRunner(6220): finished: testSubtration(android.myexample.cts.MySampleCalculatorTest)
I/ActivityManager(1143): Force stopping package com.android.cts.myexample uid=10036
I/ActivityManager(1143): Killing proc 6220:com.android.cts.myexample/10036: force stop
D/AndroidRuntime(6210): Shutting down VM

④ android的cts測試到底有多細

解決方法: 1. 生成加密key文件: 將/android_src/development/tools/生成的key COPY到android\build\target\proct\security\ 2. 編譯android源碼 重新編譯android源碼,此時out/.../system/app下就是重新編譯的APK 重新構建NFS掛載使用的根文件系統再次測試 3. 單個APK的簽名 重新測試時發現com.android.pts.browser包還是PASS不了,查看out/.../system/app/下的APK文件,發現在步驟2中, out/.../system/app/PtsDeviceBrowserLauncher.apk沒有重新生成,還是原來的。 不知道為啥沒有重新生成? 我的解決方法是對此APK單獨簽名,將signapk.jar 及自簽名密匙,platform.pk8 platform.x509.pem COPY到下面路徑並 cd /out/target/proct/xxxx/obj/APPS/PtsDeviceBrowserLauncher_intermediates 文件位置:可以在platform/build/target/proct/security/中找到platform.pk8 platform.x509.pem等簽名文件,對應不同的許可權。 signapk.jar:由/platform/build/tools/signapk/編譯產出,可以在/out/host/linux-x86/framework/中找到。 然後運行下面命令 : # java -jar signapk.jar platform.x509.pem platform.pk8 package.apk.unsigned PtsDeviceBrowserLauncher.apk package.apk.unsigned 表示未簽名的該APK文件, 重新簽名後為PtsDeviceBrowserLauncher.apk //簽過名的APK重新簽名可能會出錯,最好找到未簽名的APK 其他參考: 簽名: java -jar signapk.jar platform.x509.pem platform.pk8 MyDemo.apk MyDemo_signed.apk 得到具有對應許可權的APK 優化APK: zipalign -v 4 MyDemo_signed.apk MyDemo_new.apk 查循APK是否優化過: zipalign -c -v 4 MyDemo.apk

⑤ 我想在Windows 環境下進行Android CTS測試,請問有什麼辦法

就是用cts命令進去啊!

⑥ 關於Android CTS4.0.3測試時到這個測試項時老是超時怎麼辦

CTS中的流媒體網址一般是美國的,例如youtube等,在國內一般是訪問不了的。
搭建vpn環境。或者找tcl歐洲的同事幫測或者找國內能測試公司去利用一下環境。

⑦ 如何通過Android CTS測試

Android的CTS測試,英文為Compatibility Test Suite,意為兼容性測試。只有通過CTS測試的設備才有可能獲得Android的商標和享受Android Market的許可權。以下分享我對Android CTS的認識。
一、取得Compatibility Test Suite的兩種方法:
(1)可以從http://source.android.com/compatibility/downloads.html下載最新版本的Compatibility Test Suit;
(2)也可以通過編譯Android源代碼的方式獲得。在android源代碼目錄下輸入make cts命令來編譯CTS,之後會在out/host/linux-x86/cts/下生成android-cts文件夾。這個文件夾就是Compatibility Test Suit。
==========================================
1、Error occurred ring initialization of VM
Could not reserve enough space for object heap
從字面上看是在初始化java Vm的時候不能獲取足夠的堆空間,於是修改了build/core/definition.mk文件中的編譯core.jar和framework.jar時需要的-JXmx為1024m,此參數代表編譯上述兩個包時需要的最大內存,此初始值為2048M,由於我的PC電腦總的內存才2G,系統運行會占據一部分內存,故編譯android的時候肯定不會分配2G內存,
解決:
把build/core/definitions.mk 文件
第1528行:$(if $(findstring windows,$(HOST_OS)),,-JXms16M -JXmx2048M) \
改成: $(if $(findstring windows,$(HOST_OS)),,-JXms16M -JXmx1024M) \
http://blog.csdn.net/leerobin83/article/details/7873229
==========================================
二、運行CTS的方法,步驟如下:
(1)進入目錄android-cts,該目錄是通過上面那兩種方法獲得的。在android-cts目錄下會有3個文件夾,其中一個是tools。
(2)進入tools目錄,輸入./startcts來啟動CTS。
(3)如果運行成功會出現Android CTS version 2.3_r1的字樣(我的android的版本是2.3的)。如果有連接設備到PC上還會出現Device(設備ID)connected的字樣。這里設備可以是連接PC的android的機器,也可以是模擬器。
三、CTS測試的方法:
(1)在cts_host>下敲入help,會顯示cts下的許多命令。ls –plan命令顯示google自帶的測試方案,如:Java、Signature、Android、CTS、VM、RefApp、Performance、AppSecurity。其中Performance這個方案是google暫不要求的。Java、Signature、Android、VM、RefApp、Appsecurity方案都是CTS方案的子集。
(2)用命令ls -d來查看已連接的設備,CTS測試之前我們必須保證至少有一個設備連接上。
(3)輸入命令start –plan CTS來執行CTS測試方案,該方案有兩萬多條測試項目,需要很長時間,因此除了第一次測試之外,不建議這么做。我做的都是針對某些包的測試。如果連接了多個設備的話需加上-d參數,後面跟上設備id來告訴CTS需要測試的設備。
(4)對單獨一個包進行測試的方法:start –plan CTS –p 包名;推薦用這種方法來進行針對性的測試。需要知道有哪些包名,可以輸入命令:ls –plan CTS
(5)也可以針對單獨一個case進行測試:start –plan CTS –test 類名#方法名
四、查看測試的結果:
測試生成的log在\android-cts\repository目錄下以log+測試時間.txt命名。測試報告在android-cts\repository\results目錄下,也是以測試時間命名。
五、注意事項:
(1)測試前需要安裝一個apk:adb install -r android-cts/repository/testcases/.apk 然後在設置裡面

⑧ 如何進行android兼容性測試cts

二、運行CTS的方法,步驟如下:
(1)進入目錄android-cts,該目錄是通過上面那兩種方法獲得的。在android-cts目錄下會有3個文件夾,其中一個是tools。
(2)進入tools目錄,輸入./startcts來啟動CTS。
(3)如果運行成功會出現Android CTS version 2.3_r1的字樣(我的android的版本是2.3的)。如果有連接設備到PC上還會出現Device(設備ID)connected的字樣。這里設備可以是連接PC的android的機器,也可以是模擬器。
三、CTS測試的方法:
(1)在cts_host>下敲入help,會顯示cts下的許多命令。ls –plan命令顯示google自帶的測試方案,如:Java、Signature、Android、CTS、VM、RefApp、Performance、AppSecurity。其中Performance這個方案是google暫不要求的。Java、Signature、Android、VM、RefApp、Appsecurity方案都是CTS方案的子集。
(2)用命令ls -d來查看已連接的設備,CTS測試之前我們必須保證至少有一個設備連接上。
(3)輸入命令start –plan CTS來執行CTS測試方案,該方案有兩萬多條測試項目,需要很長時間,因此除了第一次測試之外,不建議這么做。我做的都是針對某些包的測試。如果連接了多個設備的話需加上-d參數,後面跟上設備id來告訴CTS需要測試的設備。
(4)對單獨一個包進行測試的方法:start –plan CTS –p 包名;推薦用這種方法來進行針對性的測試。需要知道有哪些包名,可以輸入命令:ls –plan CTS
(5)也可以針對單獨一個case進行測試:start –plan CTS –test 類名#方法名
四、查看測試的結果:
測試生成的log在\android-cts\repository目錄下以log+測試時間.txt命名。測試報告在android-cts\repository\results目錄下,也是以測試時間命名。
五、注意事項:
(1)測試前需要安裝一個apk:adb install -r android-cts/repository/testcases/.apk 然後在設置裡面

⑨ 如何在win 環境下進行Android CTS 測試

可以在windows上進行測試,我們一直都用Windows測的
java -Xmx512M -cp D:\android-sdk_eng.apuser_linux-x86\android-cts\tools\cts.jar;D:\android-sdk_eng.apuser_linux-x86\android-cts\tools\hosttestlib.jar;D:\android-sdk_eng.apuser_linux-x86\android-cts\tools\junit.jar;D:\android-sdk_eng.apuser_linux-x86\tools\lib\ddmlib.jar com.android.cts.TestHost D:\android-sdk_eng.apuser_linux-x86\android-cts\repository\host_config.xml
用這個進入CTS host之後的測試就跟linux上是一樣的

⑩ 如何通過Android CTS測試

二、運行CTS的方法,步驟如下:
(1)進入目錄android-cts,該目錄是通過上面那兩種方法獲得的。在android-cts目錄下會有3個文件夾,其中一個是tools。
(2)進入tools目錄,輸入。/startcts來啟動CTS。
(3)如果運行成功會出現Android CTS version 2.3_r1的字樣(我的android的版本是2.3的)。如果有連接設備到PC上還會出現Device(設備ID)connected的字樣。這里設備可以是連接PC的android的機器,也可以是模擬器。
三、CTS測試的方法:
(1)在cts_host>下敲入help,會顯示cts下的許多命令。ls –plan命令顯示google自帶的測試方案,如:Java、Signature、Android、CTS、VM、RefApp、Performance、AppSecurity。其中Performance這個方案是google暫不要求的。Java、Signature、Android、VM、RefApp、Appsecurity方案都是CTS方案的子集。
(2)用命令ls -d來查看已連接的設備,CTS測試之前我們必須保證至少有一個設備連接上。
(3)輸入命令start –plan CTS來執行CTS測試方案,該方案有兩萬多條測試項目,需要很長時間,因此除了第一次測試之外,不建議這么做。我做的都是針對某些包的測試。如果連接了多個設備的話需加上-d參數,後面跟上設備id來告訴CTS需要測試的設備。
(4)對單獨一個包進行測試的方法:start –plan CTS –p 包名;推薦用這種方法來進行針對性的測試。需要知道有哪些包名,可以輸入命令:ls –plan CTS
(5)也可以針對單獨一個case進行測試:start –plan CTS –test 類名#方法名
四、查看測試的結果:
測試生成的log在\android-cts\repository目錄下以log+測試時間。txt命名。測試報告在android-cts\repository\results目錄下,也是以測試時間命名。
五、注意事項:
(1)測試前需要安裝一個apk:adb install -r android-cts/repository/testcases/.apk 然後在設置裡面

閱讀全文

與androidcts環境搭建相關的資料

熱點內容
rf3148編程器 瀏覽:505
浙江標准網路伺服器機櫃雲主機 瀏覽:587
設置網路的伺服器地址 瀏覽:600
java圖形界面設計 瀏覽:751
純前端項目怎麼部署到伺服器 瀏覽:538
瓜子臉程序員 瀏覽:505
如何保證伺服器優質 瀏覽:94
小微信aPP怎麼一下找不到了 瀏覽:299
演算法纂要學術價值 瀏覽:975
程序員你好是什麼意思 瀏覽:801
倩女幽魂老伺服器如何玩 瀏覽:561
電子鍾單片機課程設計實驗報告 瀏覽:999
看加密頻道 瀏覽:381
程序員算不算流水線工人 瀏覽:632
三星電視我的app怎麼卸載 瀏覽:44
簡述vi編譯器的基本操作 瀏覽:507
讓程序員選小號 瀏覽:91
加強數字貨幣國際信息編譯能力 瀏覽:584
購買的app會員怎麼退安卓手機 瀏覽:891
程序員的種類及名稱 瀏覽:295