WEB开发网
开发学院手机开发Android 开发 Android 远程调试 JNI 实现 阅读

Android 远程调试 JNI 实现

 2010-04-05 18:27:00 来源:WEB开发网   
核心提示:与Step2 生成的运行在Target 上JNI 实现通信来实现Debug.Eclipse -> File->New->Project...->Android Test Project6.1 添加 InternalApiAllTest.java (这是所有JUnit 共通的,可以直接拷贝)pac
与Step2 生成的运行在Target 上JNI 实现通信来实现Debug.

Eclipse -> File->New->Project...->Android Test Project

6.1 添加 InternalApiAllTest.java (这是所有JUnit 共通的,可以直接拷贝)

package com.me.internalapitest;

import junit.framework.Test;

import junit.framework.TestSuite;

import android.test.suitebuilder.TestSuiteBuilder;

/**

* A test suite containing all tests for my application.

*/

public class InternalApiAllTest extends TestSuite {

public static Test suite() {

return new TestSuiteBuilder(AllTests.class).includeAllPackagesUnderHere().build();

}

}

6.2 添加 InternalApiNativeTest.java (这是实际测试Case)

package com.me.internalapitest;

import junit.framework.Assert;

import com/me/test/TestNativeApi;

import android.test.InstrumentationTestCase;

public class InternalApiNativeTestextends

InstrumentationTestCase {

protected void setUp() throws Exception {

super.setUp();

}

protected void tearDown() throws Exception {

super.tearDown();

}

public void testEnableSystem() throws Throwable {

int result = InternalApiNativeTest.apiFunction(0);

Assert.assertTrue(result == 0);

}

}

6.3 修改 InternalApiNativeTest 工程属性 将Step 5中 生成的 com.me.test.jar 到 Java build library path

7 . 代码全部添加完毕,现在就开始Debug 了。

7.1 登陆 Android board, 通过下面方法使目标板上 adbd 使用socket 端口而不是默认的usb口

#rm /dev/android_adb

#rm /dev/android_adb_enable

#setprop persist.service.adb.enable 1

#setprop service.adb.root 1

#setprop ctl.stop adbd

#setprop ctl.start adbd

7.2. 因为 Host 端 Eclispe 也会启动ADB server, 而这个server 指向了Android Emulator,

上一页  1 2 3 4 5  下一页

Tags:Android 远程 调试

编辑录入:coldstar [复制链接] [打 印]
赞助商链接