.aidl
をコンパイルして.Java
を生成しようとしていますが、次のようになります。
Error:Execution failed for task ':library:compileReleaseAidl'.
> Java.lang.RuntimeException: com.Android.ide.common.process.ProcessException:
Error while executing 'C:\Users\Michele\AppData\Local\Android\sdk\build-tools\25.0.0\aidl.exe'
with arguments {-pC:\Users\Michele\AppData\Local\Android\sdk\platforms\Android-25\framework.aidl
-oC:\Users\Michele\workspace\AndroidLib\library\build\generated\source\aidl\release
-IC:\Users\Michele\workspace\AndroidLib\library\src
-IC:\Users\Michele\workspace\AndroidLib\library\src\release\aidl
-IC:\Users\Michele\workspace\AndroidLib\library\build\intermediates\exploded-aar\com.Android.support\appcompat-v7\25.0.1\aidl
-IC:\Users\Michele\workspace\AndroidLib\library\build\intermediates\exploded-aar\com.Android.support\support-v4\25.0.1\aidl
-IC:\Users\Michele\workspace\AndroidLib\library\build\intermediates\exploded-aar\com.Android.support\support-fragment\25.0.1\aidl
-IC:\Users\Michele\workspace\AndroidLib\library\build\intermediates\exploded-aar\com.Android.support\support-media-compat\25.0.1\aidl
-IC:\Users\Michele\workspace\AndroidLib\library\build\intermediates\exploded-aar\com.Android.support\support-core-ui\25.0.1\aidl
-IC:\Users\Michele\workspace\AndroidLib\library\build\intermediates\exploded-aar\com.Android.support\support-core-utils\25.0.1\aidl
-IC:\Users\Michele\workspace\AndroidLib\library\build\intermediates\exploded-aar\com.Android.support\animated-vector-drawable\25.0.1\aidl
-IC:\Users\Michele\workspace\AndroidLib\library\build\intermediates\exploded-aar\com.Android.support\support-vector-drawable\25.0.1\aidl
-IC:\Users\Michele\workspace\AndroidLib\library\build\intermediates\exploded-aar\com.Android.support\support-compat\25.0.1\aidl
-dC:\Users\Michele\AppData\Local\Temp\aidl3070615992051288022.d
C:\Users\Michele\workspace\AndroidLib\library\src\IRemoteShortcutService.aidl}
私はこれを使用しますbuild.gradle
apply plugin: 'com.Android.library'
apply plugin: 'com.github.dcendents.Android-maven'
group='com.github.michelelacorte'
Android {
compileSdkVersion 25
buildToolsVersion '25.0.0'
defaultConfig {
minSdkVersion 14
targetSdkVersion 25
versionCode 2
versionName "0.2.0"
testInstrumentationRunner "Android.support.test.runner.AndroidJUnitRunner"
}
sourceSets {
main {
aidl.srcDirs = ['src/main/aidl']
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
androidTestCompile('com.Android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.Android.support', module: 'support-annotations'
})
compile 'com.Android.support:appcompat-v7:25.0.1'
testCompile 'junit:junit:4.12'
compile 'com.google.code.gson:gson:2.8.0'
}
そして、このルートbuild.gradle
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.Android.tools.build:gradle:2.2.3'
classpath 'com.github.dcendents:Android-maven-gradle-plugin:1.5'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
ビルドツールの問題について読みましたが、API25について何も見つかりませんでした
編集:
aidl.exe
をparamsで起動すると、次のようになります。
aidl.exe E 2236 13884 aidl_language.cpp:224] Error while opening file for parsing: 'C:\Users\Michele\workspace\AndroidLib\library\src\IRemoteShortcutService.aidl'
編集2:
Shortcut.aidl
// Shortcut.aidl
package it.michelelacorte.androidshortcuts;
parcelable Shortcuts;
IRemoteShortcutService.aidl
// IRemoteShortcutService.aidl
package it.michelelacorte.androidshortcuts;
interface IRemoteShortcutService {
void addShortcuts(int shortcutsImage, String shortcutsText);
Shortcuts getShortcuts();
}
この.aidl
はsrc/main/aidl
フォルダにあります
同じパラメーターを使用して同じaidl.exeを手動でgradleまたは実行するための詳細オプションを追加しようとしましたか?
おそらく、gradleが表示しないaidl.exeからの説明的なエラーコードまたはメッセージがあります。
エラーによると、aidlはファイルを開くことができません。ファイルがそこに存在し、コンテンツが有効かどうかを確認してください。
新しいデフォルトのレイアウトに変更してみてください。
援助ファイルを/src/main/aidl
に置きます
build.gradle:
...
sourceSets {
main {
aidl.srcDirs = ['src/main/aidl']
}
}
(ただし、一般に、ファイルが/src/main/aidl
にある場合は、aidl.srcDirsエントリなしで機能するはずです)
AidlファイルはJavaのようなパッケージフォルダの下にある必要があることを忘れないでください。たとえば、パッケージがit.michelelacorte.testaidl
の場合、aidlファイルはsrc/main/aidl/it/michelelacorte/testaidl
の下にある必要があります。
Android Studioの最近のバージョンでは、プロジェクトパッケージが正しく設定されていれば、New/AIDL/AIDL File
プロジェクトメニューはすでにファイルを正しいフォルダーに配置しているはずです。
Javaパッケージをリファクタリングした後、aidlファイルはパッケージ構造も変更しましたが、ファイル自体にパッケージがありませんでした。
Aidlが、それが存在するフォルダーと同じパッケージ(.aidlの最初の行)を指定していることを確認してください。
追加してください
import it.michelelacorte.androidshortcuts.Shortcuts;
IRemoteShortcutService.aidl
ファイル。
私はあなたと同じビルドのバージョンを持っています。
IRemoteShortcutService.aidl
を編集してショートカットクラスをインポートしようとしています。
それらは同じパッケージに含まれていますが、正常にコンパイルされます。