- Java code
/* * Copyright (C) 2006 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */package android.graphics;public class Camera { public Camera() { nativeConstructor(); } public native void save(); public native void restore(); public native void translate(float x, float y, float z); public native void rotateX(float deg); public native void rotateY(float deg); public native void rotateZ(float deg); public void getMatrix(Matrix matrix) { nativeGetMatrix(matrix.native_instance); } public void applyToCanvas(Canvas canvas) { nativeApplyToCanvas(canvas.mNativeCanvas); } public native float dotWithNormal(float dx, float dy, float dz); protected void finalize() throws Throwable { nativeDestructor(); } private native void nativeConstructor(); private native void nativeDestructor(); private native void nativeGetMatrix(int native_matrix); private native void nativeApplyToCanvas(int native_canvas); int native_instance;}
以上是android 自带的 Camera.java
请问其中的 native 方法,在哪能找到源码。
------解决方案--------------------
Camera.java不止一个:
./packages/apps/Camera/src/com/android/camera/Camera.java
./frameworks/base/graphics/java/android/graphics/Camera.java
./frameworks/base/core/java/android/hardware/Camera.java
你举出的是第二个。
不知LZ可否听说过jni
JNI(Java Native Interface)的书写步骤
·编写带有native声明的方法的java类
·使用javac命令编译所编写的java类
·使用javah ?jni java类名生成扩展名为h的头文件
·使用C/C++(或者其他编程想语言)实现本地方法
·将C/C++编写的文件生成动态连接库
------解决方案--------------------
frameworks/base/core/jni/android/graphics/Camera.cpp
------解决方案--------------------
是阿,都在jni目录!
------解决方案--------------------