使用Android studio创建的AIDL编译时找不到自定义类的解决办法

使用AS创建ADIL文件时AS会在main文件夹下给我们生成一个aidl文件夹和一个相同包名的包,通常我们会把所有和ADIL相关的类或文件放在这个包下,但是如果存在自定义的类时,程序编译时无法通过,提示找不到自定义的包。解决办法如下,在启动Module的build.gradle中加入如下代码:

sourceSets {
main {
manifest.srcFile 'src/main/AndroidManifest.xml'
java.srcDirs = ['src/main/java', 'src/main/aidl']
resources.srcDirs = ['src/main/java', 'src/main/aidl']
aidl.srcDirs = ['src/main/aidl']
res.srcDirs = ['src/main/res']
assets.srcDirs = ['src/main/assets']
}
} 

加入之后完整的build.gradle文件内容如下:

apply plugin: 'com.android.application'

android {
compileSdkVersion 23
buildToolsVersion "23.0.2"
defaultConfig {
applicationId "aidl.aidl.demo"
minSdkVersion 14
targetSdkVersion 23
versionCode 1
versionName "1.0"
}
sourceSets {
main {
manifest.srcFile 'src/main/AndroidManifest.xml'
java.srcDirs = ['src/main/java', 'src/main/aidl']
resources.srcDirs = ['src/main/java', 'src/main/aidl']
aidl.srcDirs = ['src/main/aidl']
res.srcDirs = ['src/main/res']
assets.srcDirs = ['src/main/assets']
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.1.1'
}

  sourceSets中主要是把把src/main/aidl文件也作为java.srcDirs, resources.srcDirs,这样当编译程序时,AIDL中自定义类就能找到了。

以上内容给大家介绍了使用Android studio创建的AIDL编译时找不到自定义类的解决办法,希望对大家有所帮助!

(0)

相关推荐

  • Android Studio 引入 aidl 文件的方法汇总

    AndroidStudio 引入 aidl 文件,一般来说,有两种方法. 第一种方法 直接在 src/main 目录下新建 aidl 文件夹,并将我们的 aidl 文件放到该目录下.因为 AndroidStudio 默认的 aidl 文件默认配置是这样的. 第二种方法 把 adil 文件拷贝到libs文件夹下在build.gradle文件中配置 sourceSets { main { jniLibs.srcDirs = ['libs'] aidl.srcDirs = ['src/main/jav

  • Android IPC进程间通信详解最新AndroidStudio的AIDL操作)

    前言 前面梳理了Android的线程间的通信<Thread.Handler和HandlerThread关系何在?> ,这些都是在同一个进程中,那进程间的通信,或者说不同的应用间的通信该如何实现呢?这个时候就要用到AIDL(Android Interface Definition LanguageAndroid接口定义语言 ). 使用方法(AndroidStudio) 我发现现在AIDL的教程基本上还是eclipse的,但是在AndroidStudio里面使用AIDL还是有一些不同的,来看看怎么

  • Android Studio创建AIDL文件并实现进程间通讯实例

    在Android系统中,跨进程通信是非常普遍的事情,它用到了Binder机制处理进程之间的交互.Binder机制会开放一些接口给Java层,供android开发工程师调用进程之间通信.这些接口android封装到了AIDL文件里,当我们项目用到跨进程通信时可以创建.aidl文件,.aidl文件可以协助我们达到跨进程的通信.下面简单介绍用AndroidStudio创建AIDL文件的过程. a.新建AIDL文件 1.项目文件夹右键---> new --->选择AIDL 2.自定义一个接口名称 3.

  • 使用Android studio创建的AIDL编译时找不到自定义类的解决办法

    使用AS创建ADIL文件时AS会在main文件夹下给我们生成一个aidl文件夹和一个相同包名的包,通常我们会把所有和ADIL相关的类或文件放在这个包下,但是如果存在自定义的类时,程序编译时无法通过,提示找不到自定义的包.解决办法如下,在启动Module的build.gradle中加入如下代码: sourceSets { main { manifest.srcFile 'src/main/AndroidManifest.xml' java.srcDirs = ['src/main/java', '

  • AndroidApk混淆编译时,报告java.io.IOException...错误解决办法

    在混淆编译之前,我的程序可以正常运行,混淆编译时,报告如下错误: Error:Execution failed for task ':gviews:transformClassesAndResourcesWithProguardForRelease'. Java.io.IOException: The same input jar [E:\Android\myProgram\angel\libs\alipaySdk-20160825.jar] is specified twice. 首先 看一下

  • Android studio创建第一个app

    本文实例为大家介绍了Android studio创建第一个app的详细步骤,供大家参考,具体内容如下 1.创建HelloWorld项目 任何编程语言写出的第一个程序毫无疑问都会是Hello World,这已经是自20世纪70年代一直流传下来的传统,在编程界已成为永恒的经典,那么今天就来使用Android studio创建第一个app(Hello World). 首先运行Android studio,在弹出的快捷窗口中新建一个项目. 点击上面截图中的"Star a new Android Stud

  • Android Studio 3.6运行模拟器时Emulator警告问题的解决方案

    手贱更新了android studio过后,编译不报错,只要启动模拟器就会报出两行emulator警告,关掉模拟器也会有警告,之前版本用的都好好的,怎么消除警告问题? Emulator: emulator: WARNING: EmulatorService.cpp:448: Cannot find certfile: C:\Users\Sawye.android\emulator-grpc.cer security will be disabled. Emulator: Started GRPC

  • Android Studio 创建自定义控件的方法

    我们知道,当系统控件并不能满足我们的需求时,我们就需要来创建自定义控件,主要有两种方法 (1)引入布局 下面来自定义一个控件,iPhone的标题栏,创建一个标题栏并不是什么难事,加入两个button一个TextView就行了,可是在我们的应用中,有很多页面都是需要这样的标题栏,我们不可能每个活动都写一遍布局,这个时候我们就可以用引用布局的方法,新建一个title.xml <?xml version="1.0" encoding="utf-8"?> <

  • Android从0到完整项目(1)使用Android studio 创建项目详解

    使用Android Studio 创建Android项目,分享给大家 (1) 说明: 还有一部分人在坚持使用 Eclipse ,建议抓紧换掉.使用AS 可能会刚开始因为不熟悉而有一定的胆怯心理,不过当你熟悉你会发现 原来Android 开发其实这么便利.很多代码 都是可以一键生成的. 正文 一,准备工作 http://www.android-studio.org 下载Android Studio 安装成功后打开 Android 安装 自行百度 创建工程,Android 是单工程项目 这一点与Ec

  • 解决Android studio用真机调试时logcat一直输出日志问题

    当我们用android Studio真机调试时,一般会有很多系统日志不断输出,影响调试. 解决方法: 右上角 no filters 选成 only selected application 如图: 补充知识:Android Studio的代码没错,运行时logcat会出现红色语句解决方法 不断的运行调试某一个项目,点击之后logcat会出现想不到的红色语句,或者切换项目打开出现R文件报红. 解决方法: 点击Build----Clean Project 再次调试发现没有红色语句,Error没有语句

  • 使用Android Studio创建OpenCV4.1.0 项目的步骤

    一.OpenCV  OpenCV(开源计算机视觉库)是一个开源的计算机视觉和机器学习软件库,是一个基于C与C++的跨平台计算机视觉处理库. 二.下载 开发基于Andorid的计算机视觉的应用可以使用OpenCV 4.1.0-Android SDK: 从官方网站下载 OpenCV 4.1.0 For Android SDK https://sourceforge.net/projects/opencvlibrary/files/4.1.0/opencv-4.1.0-android-sdk.zip/

  • android studio创建C++项目的实现示例

    目录 一.创建Native C++工程 二.配置工程环境 三.运行代码 四.下载C++运行依赖的工具包 五.创建虚拟机 六.运行代码 问题一:如果启动虚拟机后,而左上角的虚拟机没有加载出来. 问题二:java文件无法运行,或者adb无法运行 一.创建Native C++工程 二.配置工程环境 三.运行代码 选择左上角的工程,将Android换成Project 四.下载C++运行依赖的工具包 如图所示,选择NDK和CMake,并点击Apply,此时会出现弹窗,告诉你要安装的包的名称.版本等信息,此

  • 关于Android Studio安装完后activity_main.xml前几行报错的解决建议

    当你安装完Android Studio之后,开始了一个新项目,然后你发现: activity_main.xml前几行报错,比如http://schemas.android.com/apk/res/android "URI is not registered". move refactoring is not available while indexing is in progress. apply script build.gradle有问题. activity_main.xml下的

随机推荐