- 注册时间
- 2015-7-27
- 最后登录
- 2015-12-24
- 阅读权限
- 50
- 积分
- 772
- 精华
- 0
- 帖子
- 212
|
}
char* userSpace() {
struct passwd *pw;
char aaa[32] = "abc";
pw = getpwuid(getuid());
strcpy(aaa, pw->pw_name);
char hostn[32] = { 0 };
gethostname(hostn, sizeof(hostn));
char path[50] = { 0 };
char* hello;
hello = malloc(32);
strcpy(hello, "123456");
return hello;
// strcat("@", strcat(hostn, strcat(":", strcat("$", "\n")))));
}
=================================================
=================================================
Header.h
#ifndef HEADER_H_
#define HEADER_H_
int sum(int a, int b);
#endif /* HEADER_H_ */
===============================================================
# Copyright (C) 2009 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.
#
LOCAL_PATH := $(call my-dir)
#========================
my_swig_generate.mk(文件信息)
include $(CLEAR_VARS)
LOCAL_MODULE := hello-jni
LOCAL_SRC_FILES := hello-jni.c Header.c
MY_SWIG_PACKAGE := com.apress.swig
MY_SWIG_INTERFACES := Unix.i
MY_SWIG_TYPE := c
include $(LOCAL_PATH)/my_swig_generate.mk
include $(BUILD_SHARED_LIBRARY)
==============================================
Android.mk
ifndef MY_SWIG_PACKAGE
$(error MY_SWIG_PACKAGE is not defined.)
endif
MY_SWIG_OUTDIR:= $(NDK_PROJECT_PATH)/SRC/$(SUBST .,/,$(MY_SWIG_PACKAGE))
ifndef MY_SWIG_TYPE
MY_SWIG_TYPE := c
endif
ifeq ($(MY_SWIG_TYPE),cxx)
MY_SWIG_MODE := - c++
else
MY_SWIG_MODE :=
endif
LOCAL_SRC_FILES+= $(foreach MY_SWIG_INTERFACE,\
$(MY_SWIG_INTERFACES),\
$(basename $(MY_SWIG_INTERFACE))_wrap.$(MY_SWIG_TYPE))
LOCAL_CPP_EXTENSION+= .cxx
%_wrap.$(MY_SWIG_TYPE) : %.i
$(call host-mkdir,$(MY_SWIG_OUTDIR))
swig -java \
$(MY_SWIG_MODE) \
-package $(MY_SWIG_PACKAGE) \
-outdir $(MY_SWIG_OUTDIR) \
$<
先简单说一下,如果我们只是单单使用的swig来完成这个代码的jNI使用,只能使用库函数中的代码,除了库中的代码之外其他的代码都不能使用这里说的其他代码也就是我说的自定义代码,header.c里面的代码 我们的i文件只能时一个接口,不能再里面直接写代码语句所以我们通过.so库的形式进行了链接然后实现了我们的功能。
http://www.embedu.org/column/2615.html |
|