13

前の質問からの次のメモ: ORMLite 構成生成のための Android Studio 実行構成

この1つのクラスを実行するための構成を取得できましたが、それでも失敗しています

Could not find raw directory

これが私のソースです

package com.ilopez.android.machinesounds;

import com.j256.ormlite.android.apptools.OrmLiteConfigUtil;

import java.io.File;
import java.io.IOException;
import java.sql.SQLException;

/**
 * Created by User on 7/25/13.
 */
public class DatabaseConfigUtil extends OrmLiteConfigUtil {
    private static final Class<?>[] classes = new Class[]{
            RecordedSound.class,
    };


    public static void main(String[] args) throws IOException, SQLException {
        writeConfigFile(new File("G:\\MachineSoundsProject\\MachineSounds\\src\\main\\res\\raw\\ormlite_config.txt"), classes );
    }
}

私のプラットフォームは Windows ですが、「生のディレクトリが見つかりませんでした」というエラーが表示される理由がよくわかりません。

これは私のアンドロイドスタジオが実行するコマンドです:

 "C:\Program Files\Java\jdk1.6.0_37\bin\java" -Didea.launcher.port=7544 "-Didea.launcher.bin.path=C:\Program Files (x86)\Android\android-studio\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files (x86)\Android\android-studio\sdk\platforms\android-17\android.jar;C:\Program Files (x86)\Android\android-studio\sdk\platforms\android-17\data\res;C:\Program Files (x86)\Android\android-studio\sdk\tools\support\annotations.jar;C:\local\Dropbox\git\MachineSoundsProject\MachineSounds\build\classes\debug;C:\Program Files (x86)\Android\android-studio\sdk\extras\android\m2repository\com\android\support\support-v4\13.0.0\support-v4-13.0.0.jar;C:\local\Dropbox\git\MachineSoundsProject\MachineSounds\libs\ormlite-android-4.45.jar;C:\local\Dropbox\git\MachineSoundsProject\MachineSounds\libs\ormlite-core-4.45.jar;C:\local\Dropbox\git\MachineSoundsProject\MachineSounds\libs\ormlite-jdbc-4.45.jar;C:\Program Files (x86)\Android\android-studio\lib\idea_rt.jar" com.intellij.rt.execution.application.AppMain com.ilopez.android.machinesounds.DatabaseConfigUtil

ORMLite のバージョン 4.45 を使用しています

4

10 に答える 10

25

問題なく Android Studio を使用できますが、編集構成で標準の JDK を選択し、(重要!) Android プロジェクトの「メイン」フォルダーを選択して「作業ディレクトリ」を変更するようにしてください。

/your_workspace/your_project/app/src/main のようになります。

于 2015-02-21T18:03:50.200 に答える
13

Android Studio で作成しようとすると、最上位のディレクトリ (.idea はたとえば) でフォルダーを見つけようとします。したがって、ディレクトリ res を作成し、その raw 内にある場合、util はファイルを作成できます。

于 2013-10-08T18:12:59.703 に答える
7
  1. DBConfigUtil ファイルを右クリックし、DBConfigUtil.main(); を実行します。
    1. [構成の編集] セクションに移動します。
    2. 作業ディレクトリが次のようになっていることを確認してください: /home/xyz/projects/xyz_project/app/src/main
    3. JREをJDK1.8に変更
    4. 起動前のセクションで、Make を削除します。
    5. Ok

DBConfigUtil ファイルを再度実行します。

注: res/raw/ormlite_config.txt ファイルがあることを確認してください

于 2014-11-08T06:15:12.810 に答える
1

Android のより良いオプション:ファイルを書き込む場所の絶対パスを指定します。

// Following code goes in your database configuration main method.
String ORMLITE_CONFIGURATION_FILE_NAME = "ormlite_config.txt";

/**
 * Full configuration path includes the project root path, and the location
 * of the ormlite_config.txt file appended to it.
 */
File configFile = new File(new File("").getAbsolutePath()
        .split("app" +File.separator + "build")[0] + File.separator +
        "app" + File.separator +
        "src" + File.separator +
        "main" + File.separator +
        "res" + File.separator +
        "raw" + File.separator +
        ORMLITE_CONFIGURATION_FILE_NAME);

/**
 * Pass configFile as argument in configuration file writer method.
 */
writeConfigFile(configFile);
于 2016-03-01T10:44:56.577 に答える
1

もう 1 つの安っぽいオプションは、データベースが非常に単純な場合、手動で txt ファイルを作成することです。ここでは、現在のプロジェクトで手動で別のファイルを作成するためのテンプレートとして使用した、過去のプロジェクトでプログラムによって作成されたファイルを残します。

#
# generated on 2013/08/15 05:07:12
#
# --table-start--
dataClass=com.alvarosantisteban.pathos.Event
tableName=events
# --table-fields-start--
# --field-start--
fieldName=id
generatedId=true
useGetSet=true
# --field-end--
# --field-start--
fieldName=sequence
useGetSet=true
# --field-end--
# --field-start--
fieldName=name
canBeNull=false
useGetSet=true
# --field-end--
# --field-start--
fieldName=day
canBeNull=false
useGetSet=true
# --field-end--
# --field-start--
fieldName=hour
useGetSet=true
# --field-end--
# --field-start--
fieldName=description
useGetSet=true
# --field-end--
# --field-start--
fieldName=location
useGetSet=true
# --field-end--
# --field-start--
fieldName=links
columnName=links
dataPersister=SERIALIZABLE
useGetSet=true
# --field-end--
# --field-start--
fieldName=isInteresting
useGetSet=true
# --field-end--
# --field-start--
fieldName=isDescriptionInGerman
useGetSet=true
# --field-end--
# --field-start--
fieldName=eventsOrigin
useGetSet=true
# --field-end--
# --field-start--
fieldName=originsWebsite
useGetSet=true
# --field-end--
# --field-start--
fieldName=themaTag
useGetSet=true
# --field-end--
# --field-start--
fieldName=typeTag
useGetSet=true
# --field-end--
# --table-fields-end--
# --table-end--
#################################

私が言ったように、これはただのくだらない回避策ですが、誰かを助けるかもしれません. :/

于 2014-06-05T12:54:13.540 に答える
1

res フォルダー内に raw フォルダーをまだ作成していない場合、このエラーが発生します。res フォルダー内に raw フォルダーを手動で作成して試してみてください。これは、MAC の Eclipse IDE で発生します。

于 2013-07-28T15:58:39.860 に答える