Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何添加串口api作为库并在android studio中使用它?_Java_Android_Android Studio_Android Ndk_Serial Port - Fatal编程技术网

Java 如何添加串口api作为库并在android studio中使用它?

Java 如何添加串口api作为库并在android studio中使用它?,java,android,android-studio,android-ndk,serial-port,Java,Android,Android Studio,Android Ndk,Serial Port,我正在使用android studio开发监控android应用程序。我想在我的应用程序中添加android serialport api()作为库,并在项目中实现串行通信。我使用SVN签出和Cygwin来下载源代码。我在串行端口api中编译NDK文件和JNI文件,然后复制了所有文件并附加到我项目中的库文件中。项目结构如下所示 然后我在android串行api中包含build.gradle文件,如下所示 buildscript { repositories { mavenCentral

我正在使用android studio开发监控android应用程序。我想在我的应用程序中添加android serialport api()作为库,并在项目中实现串行通信。我使用SVN签出和Cygwin来下载源代码。我在串行端口api中编译NDK文件和JNI文件,然后复制了所有文件并附加到我项目中的库文件中。项目结构如下所示

然后我在android串行api中包含build.gradle文件,如下所示

buildscript {
repositories {
    mavenCentral()
}
dependencies {
    classpath 'com.android.tools.build:gradle:0.12.+'
  }
 }
apply plugin: 'android-library'

android {
  compileSdkVersion 23
  buildToolsVersion "23.0.2"

defaultConfig {

    minSdkVersion 15
    targetSdkVersion 23
}

sourceSets {
    main {
        java.srcDirs = ['src']
        resources.srcDirs = ['src']
        aidl.srcDirs = ['src']
        renderscript.srcDirs = ['src']
        res.srcDirs = ['res']
        assets.srcDirs = ['assets']

        manifest.srcFile 'project/res/AndroidManifest.xml'
    }
}
 <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="android_serialport_api.sample"
android:versionCode="3"
android:versionName="1.2" >

 <application
android:icon="@drawable/icon"
android:label="@string/app_name"
android:name="Application" >
<activity
    android:label="@string/app_name"
    android:name="MainMenu" >
    <intent-filter >
        <action android:name="android.intent.action.MAIN" />

        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>
<activity android:name="SerialPortPreferences" >
</activity>
<activity android:name="ConsoleActivity" >
</activity>
<activity android:name="LoopbackActivity" >
</activity>
<activity android:name="Sending01010101Activity"></activity>
</application>



<uses-sdk android:minSdkVersion="3" />

</manifest>
}

我将此包含在app/build.gradle中

compile project(':libraries:android-serialport-api')
在settings.gradle中,我也包含了这个

  include ':libraries:android-serialport-api'
androidmanifest.xml文件最初是这样的

buildscript {
repositories {
    mavenCentral()
}
dependencies {
    classpath 'com.android.tools.build:gradle:0.12.+'
  }
 }
apply plugin: 'android-library'

android {
  compileSdkVersion 23
  buildToolsVersion "23.0.2"

defaultConfig {

    minSdkVersion 15
    targetSdkVersion 23
}

sourceSets {
    main {
        java.srcDirs = ['src']
        resources.srcDirs = ['src']
        aidl.srcDirs = ['src']
        renderscript.srcDirs = ['src']
        res.srcDirs = ['res']
        assets.srcDirs = ['assets']

        manifest.srcFile 'project/res/AndroidManifest.xml'
    }
}
 <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="android_serialport_api.sample"
android:versionCode="3"
android:versionName="1.2" >

 <application
android:icon="@drawable/icon"
android:label="@string/app_name"
android:name="Application" >
<activity
    android:label="@string/app_name"
    android:name="MainMenu" >
    <intent-filter >
        <action android:name="android.intent.action.MAIN" />

        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>
<activity android:name="SerialPortPreferences" >
</activity>
<activity android:name="ConsoleActivity" >
</activity>
<activity android:name="LoopbackActivity" >
</activity>
<activity android:name="Sending01010101Activity"></activity>
</application>



<uses-sdk android:minSdkVersion="3" />

</manifest>

然而,当我做这个项目的时候。有很多错误。所以删除了大部分代码。所以现在库中的androidmanifest.xml是这样的

 <?xml version="1.0" encoding="utf-8"?>
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
   package="android_serialport_api.sample"
   android:versionCode="3"
   android:versionName="1.2" >

<uses-sdk android:minSdkVersion="3" />

</manifest>

在删除它们之后,我可以使项目和gradle同步化。但我不知道如何使用我导入的库中的serial.c源代码。如何修复程序?待办事项列表中有一些消息

请帮帮我

很简单!
  • 使用以下命令:

  • 从android sdk安装ndk

在其他项目中使用“.so”文件:
  • android studio在此地址创建“.so”文件:“app\build\mediates\binaries\debug\lib”
  • 在“app\src\main”中创建“jniLibs”文件夹
  • 复制abi文件夹包含JNILBS文件夹中的.so文件
  • 请阅读以下内容:
但当在循环中发送数据时,文件关闭