Pārlūkot izejas kodu

人脸识别系统代码提交

wuyong3 5 gadi atpakaļ
vecāks
revīzija
80af3c26b8
40 mainītis faili ar 1094 papildinājumiem un 0 dzēšanām
  1. 13 0
      asiainfo-aiface-client/.gitignore
  2. 1 0
      asiainfo-aiface-client/app/.gitignore
  3. BIN
      asiainfo-aiface-client/app/aiface.jks
  4. 52 0
      asiainfo-aiface-client/app/build.gradle
  5. BIN
      asiainfo-aiface-client/app/libs/ipu-mobile-aiface.aar
  6. 110 0
      asiainfo-aiface-client/app/proguard-rules.pro
  7. 34 0
      asiainfo-aiface-client/app/src/main/AndroidManifest.xml
  8. 150 0
      asiainfo-aiface-client/app/src/main/java/com/ai/ipu/aiface/scanCamera/MainActivity.java
  9. 36 0
      asiainfo-aiface-client/app/src/main/java/com/ai/ipu/aiface/scanCamera/util/DymicPermissionTool.java
  10. 66 0
      asiainfo-aiface-client/app/src/main/java/com/ai/ipu/aiface/scanCamera/util/LEDLight.java
  11. 34 0
      asiainfo-aiface-client/app/src/main/res/drawable-v24/ic_launcher_foreground.xml
  12. 170 0
      asiainfo-aiface-client/app/src/main/res/drawable/ic_launcher_background.xml
  13. 8 0
      asiainfo-aiface-client/app/src/main/res/drawable/led_bg.xml
  14. BIN
      asiainfo-aiface-client/app/src/main/res/drawable/led_disable.png
  15. BIN
      asiainfo-aiface-client/app/src/main/res/drawable/led_enable.png
  16. BIN
      asiainfo-aiface-client/app/src/main/res/drawable/logo.png
  17. 65 0
      asiainfo-aiface-client/app/src/main/res/layout/activity_facedetect_new.xml
  18. 18 0
      asiainfo-aiface-client/app/src/main/res/layout/activity_main.xml
  19. 5 0
      asiainfo-aiface-client/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
  20. 5 0
      asiainfo-aiface-client/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
  21. BIN
      asiainfo-aiface-client/app/src/main/res/mipmap-hdpi/face_decoration.png
  22. BIN
      asiainfo-aiface-client/app/src/main/res/mipmap-hdpi/ic_launcher.png
  23. BIN
      asiainfo-aiface-client/app/src/main/res/mipmap-hdpi/ic_launcher_round.png
  24. BIN
      asiainfo-aiface-client/app/src/main/res/mipmap-mdpi/ic_launcher.png
  25. BIN
      asiainfo-aiface-client/app/src/main/res/mipmap-mdpi/ic_launcher_round.png
  26. BIN
      asiainfo-aiface-client/app/src/main/res/mipmap-xhdpi/ic_launcher.png
  27. BIN
      asiainfo-aiface-client/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png
  28. BIN
      asiainfo-aiface-client/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
  29. BIN
      asiainfo-aiface-client/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png
  30. BIN
      asiainfo-aiface-client/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
  31. BIN
      asiainfo-aiface-client/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png
  32. 6 0
      asiainfo-aiface-client/app/src/main/res/values/colors.xml
  33. 3 0
      asiainfo-aiface-client/app/src/main/res/values/strings.xml
  34. 11 0
      asiainfo-aiface-client/app/src/main/res/values/styles.xml
  35. 29 0
      asiainfo-aiface-client/build.gradle
  36. 15 0
      asiainfo-aiface-client/gradle.properties
  37. 6 0
      asiainfo-aiface-client/gradle/wrapper/gradle-wrapper.properties
  38. 172 0
      asiainfo-aiface-client/gradlew
  39. 84 0
      asiainfo-aiface-client/gradlew.bat
  40. 1 0
      asiainfo-aiface-client/settings.gradle

+ 13 - 0
asiainfo-aiface-client/.gitignore

@ -0,0 +1,13 @@
1
*.iml
2
.gradle
3
/local.properties
4
/.idea/caches
5
/.idea/libraries
6
/.idea/modules.xml
7
/.idea/workspace.xml
8
/.idea/navEditor.xml
9
/.idea/assetWizardSettings.xml
10
.DS_Store
11
/build
12
/captures
13
.externalNativeBuild

+ 1 - 0
asiainfo-aiface-client/app/.gitignore

@ -0,0 +1 @@
1
/build

BIN
asiainfo-aiface-client/app/aiface.jks


+ 52 - 0
asiainfo-aiface-client/app/build.gradle

@ -0,0 +1,52 @@
1
apply plugin: 'com.android.application'
2
3
android {
4
    compileSdkVersion 28
5
    defaultConfig {
6
        minSdkVersion 19
7
        targetSdkVersion 28
8
        versionCode 1
9
        versionName "1.0"
10
    }
11
    signingConfigs {
12
        release {
13
            keyAlias 'aiface'
14
            keyPassword 'com.ai.ipu.aiface'
15
            storeFile file('aiface.jks')
16
            storePassword 'com.ai.ipu.aiface'
17
            v2SigningEnabled true
18
        }
19
    }
20
    buildTypes {
21
        debug {
22
            minifyEnabled false
23
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
24
            signingConfig signingConfigs.release
25
        }
26
        release {
27
            minifyEnabled true
28
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
29
            signingConfig signingConfigs.release
30
        }
31
    }
32
33
    sourceSets {
34
        main{
35
            def dir = "cameraview"
36
            res.srcDirs += "src/$dir/res"
37
            java.srcDirs += "src/$dir/java"
38
        }
39
    }
40
    compileOptions {
41
        sourceCompatibility = 1.8
42
        targetCompatibility = 1.8
43
    }
44
}
45
46
dependencies {
47
    implementation fileTree(dir: 'libs', include: ['*.jar'])
48
    implementation 'com.android.support:appcompat-v7:28.0.0'
49
    implementation 'com.android.support.constraint:constraint-layout:1.1.3'
50
    implementation 'androidx.annotation:annotation:1.1.0'
51
	implementation(name: 'ipu-mobile-aiface',ext: 'aar')
52
}

BIN
asiainfo-aiface-client/app/libs/ipu-mobile-aiface.aar


+ 110 - 0
asiainfo-aiface-client/app/proguard-rules.pro

@ -0,0 +1,110 @@
1
# Add project specific ProGuard rules here.
2
# You can control the set of applied configuration files using the
3
# proguardFiles setting in build.gradle.
4
#
5
# For more details, see
6
#   http://developer.android.com/guide/developing/tools/proguard.html
7
8
# If your project uses WebView with JS, uncomment the following
9
# and specify the fully qualified class name to the JavaScript interface
10
# class:
11
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
12
#   public *;
13
#}
14
15
# Uncomment this to preserve the line number information for
16
# debugging stack traces.
17
#-keepattributes SourceFile,LineNumberTable
18
19
# If you keep the line number information, uncomment this to
20
# hide the original source file name.
21
#-renamesourcefileattribute SourceFile
22
#---------------------------------基本指令区----------------------------------
23
-optimizationpasses 5       # 指定代码的压缩级别
24
-dontusemixedcaseclassnames     # 是否使用大小写混合
25
-dontskipnonpubliclibraryclasses        # 指定不去忽略非公共的库类
26
-dontskipnonpubliclibraryclassmembers       # 指定不去忽略包可见的库类的成员
27
-dontpreverify      # 混淆时是否做预校验
28
-verbose        # 混淆时是否记录日志
29
-printmapping proguardMapping.txt
30
-optimizations !code/simplification/cast,!field/*,!class/merging/*      # 混淆时所采用的算法
31
-keepattributes *Annotation*,InnerClasses
32
-keepattributes Signature
33
-keepattributes SourceFile,LineNumberTable
34
#----------------------------------------------------------------------------
35
-ignorewarnings     # 是否忽略检测,(是)
36
#---------------------------------默认保留区---------------------------------
37
-keep public class * extends android.app.Activity
38
-keep public class * extends android.app.Application
39
-keep public class * extends android.app.Service
40
-keep public class * extends android.content.BroadcastReceiver
41
-keep public class * extends android.content.ContentProvider
42
-keep public class * extends android.app.backup.BackupAgentHelper
43
-keep public class * extends android.preference.Preference
44
-keep public class * extends android.view.View
45
-keep public class com.android.vending.licensing.ILicensingService
46
-keep class android.support.** {*;}
47
#-ignorewarnings -keep class * { public private *; }
48
49
#如果有引用v4包可以添加下面这行
50
-keep class android.support.v4.** { *; }
51
-keep public class * extends android.support.v4.**
52
-keep public class * extends android.app.Fragment
53
54
-keepclasseswithmembernames class * {
55
    native <methods>;
56
}
57
-keepclassmembers class * extends android.app.Activity{
58
    public void *(android.view.View);
59
}
60
-keepclassmembers enum * {
61
    public static **[] values();
62
    public static ** valueOf(java.lang.String);
63
}
64
-keep public class * extends android.view.View{
65
    *** get*();
66
    void set*(***);
67
    public <init>(android.content.Context);
68
    public <init>(android.content.Context, android.util.AttributeSet);
69
    public <init>(android.content.Context, android.util.AttributeSet, int);
70
}
71
-keepclasseswithmembers class * {
72
    public <init>(android.content.Context, android.util.AttributeSet);
73
    public <init>(android.content.Context, android.util.AttributeSet, int);
74
}
75
-keep class * implements android.os.Parcelable {
76
  public static final android.os.Parcelable$Creator *;
77
}
78
# Serializable
79
-keepnames class * implements java.io.Serializable
80
-keep public class * implements java.io.Serializable {
81
   public *;
82
}
83
-keepclassmembers class * implements java.io.Serializable {
84
    static final long serialVersionUID;
85
    private static final java.io.ObjectStreamField[] serialPersistentFields;
86
    private void writeObject(java.io.ObjectOutputStream);
87
    private void readObject(java.io.ObjectInputStream);
88
    java.lang.Object writeReplace();
89
    java.lang.Object readResolve();
90
}
91
#表示不混淆R文件中的所有静态字段
92
-keep class **.R$* {
93
    public static <fields>;
94
}
95
-keepclassmembers class * {
96
    void *(**On*Event);
97
}
98
#----------------------------------------------------------------------------
99
100
#---------------------------------webview------------------------------------
101
-keepclassmembers class fqcn.of.javascript.interface.for.Webview {
102
   public *;
103
}
104
-keepclassmembers class * extends android.webkit.WebViewClient {
105
    public void *(android.webkit.WebView, java.lang.String, android.graphics.Bitmap);
106
    public boolean *(android.webkit.WebView, java.lang.String);
107
}
108
-keepclassmembers class * extends android.webkit.WebViewClient {
109
    public void *(android.webkit.WebView, jav.lang.String);
110
}

+ 34 - 0
asiainfo-aiface-client/app/src/main/AndroidManifest.xml

@ -0,0 +1,34 @@
1
<?xml version="1.0" encoding="utf-8"?>
2
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
3
    xmlns:tools="http://schemas.android.com/tools"
4
    package="com.ai.ipu.aiface">
5
6
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
7
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
8
    <uses-permission android:name="android.permission.CAMERA"/>
9
10
    <uses-feature android:name="android.hardware.camera"/>
11
    <uses-feature
12
        android:name="android.hardware.camera.autofocus"
13
        android:required="false"/>
14
15
    <application
16
        android:allowBackup="true"
17
        android:icon="@mipmap/ic_launcher"
18
        android:label="@string/app_name"
19
        android:supportsRtl="true"
20
        android:theme="@style/AppTheme"
21
        tools:ignore="GoogleAppIndexingWarning">
22
23
        <activity
24
            android:name=".scanCamera.MainActivity"
25
            android:screenOrientation="portrait">
26
            <intent-filter>
27
                <action android:name="android.intent.action.MAIN" />
28
                <category android:name="android.intent.category.LAUNCHER" />
29
            </intent-filter>
30
        </activity>
31
32
    </application>
33
34
</manifest>

+ 150 - 0
asiainfo-aiface-client/app/src/main/java/com/ai/ipu/aiface/scanCamera/MainActivity.java

@ -0,0 +1,150 @@
1
package com.ai.ipu.aiface.scanCamera;
2
3
import android.annotation.SuppressLint;
4
import android.content.pm.PackageManager;
5
import android.graphics.Bitmap;
6
import android.graphics.drawable.BitmapDrawable;
7
import android.os.Bundle;
8
import android.os.Handler;
9
import android.os.Message;
10
import android.text.format.DateFormat;
11
import android.view.View;
12
import android.widget.ImageView;
13
import android.widget.TextView;
14
15
import com.ai.ipu.aiface.R;
16
import com.ai.ipu.aiface.scanCamera.util.DymicPermissionTool;
17
import com.ai.ipu.aiface.scanCamera.util.LEDLight;
18
import com.google.android.cameraview.CameraView;
19
20
import java.util.Calendar;
21
22
import androidx.annotation.NonNull;
23
import androidx.annotation.Nullable;
24
25
public class MainActivity extends FaceScanBaseActivity {
26
27
    private TextView time;
28
    private ImageView preview;
29
    private ImageView led_switch;
30
    private LEDLight ledLight;
31
32
    @Override
33
    public void onCreate(@Nullable Bundle savedInstanceState) {
34
        super.onCreate(savedInstanceState);
35
        DymicPermissionTool.requestPermission(this);
36
        time = findViewById(R.id.current_time);
37
        preview = findViewById(R.id.iv_preview);
38
        led_switch = findViewById(R.id.led_switch);
39
        mCv.setFacing(CameraView.FACING_BACK);
40
        ledLight = new LEDLight();
41
        new TimeThread().start();
42
    }
43
44
    @Override
45
    public void onResume() {
46
        super.onResume();
47
        initLED();
48
        ledLight.setLEDEnable(ledLight.getLEDEnable());
49
    }
50
51
    @Override
52
    public void onPause() {
53
        super.onPause();
54
        ledLight.setLEDEnable(false);
55
    }
56
57
    private void initLED(){
58
        led_switch.setSelected(ledLight.getLEDEnable());
59
        led_switch.setOnClickListener(v -> {
60
            ledLight.setLEDEnable(!ledLight.getLEDEnable());
61
            led_switch.setSelected(ledLight.getLEDEnable());
62
        });
63
    }
64
65
    @Override
66
    public View getMainView() {
67
        return View.inflate(this,R.layout.activity_facedetect_new,null);
68
    }
69
70
    @Override
71
    public boolean handlePreview(Bitmap bmp) {
72
        preview.setVisibility(View.VISIBLE);
73
        preview.setImageDrawable(new BitmapDrawable(getResources(),bmp));
74
        return false;
75
    }
76
77
    @Override
78
    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
79
        if(requestCode==DymicPermissionTool.PERMISSION_REQUEST){
80
            for (int result:grantResults){
81
                if(result == PackageManager.PERMISSION_DENIED){
82
                    finish();
83
                }
84
            }
85
        }
86
    }
87
88
    private class TimeThread extends Thread {
89
        @Override
90
        public void run() {
91
            while (true) {
92
                try {
93
                    Thread.sleep(1000);
94
                    Message msg = new Message();
95
                    msg.what = 1;  //消息(一个整型值)
96
                    mHandler.sendMessage(msg);// 每隔1秒发送一个msg给mHandler
97
                } catch (InterruptedException e) {
98
                    e.printStackTrace();
99
                }
100
            }
101
        }
102
    }
103
104
    //在主线程里面处理消息并更新UI界面
105
    @SuppressLint("HandlerLeak")
106
    private Handler mHandler = new Handler(){
107
        @Override
108
        public void handleMessage(Message msg) {
109
            super.handleMessage(msg);
110
            if (msg.what == 1) {
111
                long sysTime = System.currentTimeMillis();//获取系统时间
112
                String sysTimeStr = (String) DateFormat.format("yyyy年MM月dd日 w HH:mm", sysTime);//时间显示格式
113
                String week = getCurrentWeekDay();
114
                sysTimeStr = sysTimeStr.replace("w", week);
115
                time.setText(sysTimeStr); //更新时间
116
            }
117
        }
118
    };
119
120
    public String getCurrentWeekDay() {
121
        String week = "";
122
        Calendar c1 = Calendar.getInstance();
123
        int day = c1.get(Calendar.DAY_OF_WEEK);
124
        switch (day) {
125
            case 1:
126
                week = "星期日";
127
                break;
128
            case 2:
129
                week = "星期一";
130
                break;
131
            case 3:
132
                week = "星期二";
133
                break;
134
            case 4:
135
                week = "星期三";
136
                break;
137
            case 5:
138
                week = "星期四";
139
                break;
140
            case 6:
141
                week = "星期五";
142
                break;
143
            case 7:
144
                week = "星期六";
145
                break;
146
        }
147
        return week;
148
    }
149
150
}

+ 36 - 0
asiainfo-aiface-client/app/src/main/java/com/ai/ipu/aiface/scanCamera/util/DymicPermissionTool.java

@ -0,0 +1,36 @@
1
package com.ai.ipu.aiface.scanCamera.util;
2
3
import android.app.Activity;
4
import android.content.Context;
5
import android.content.pm.PackageInfo;
6
import android.content.pm.PackageManager;
7
import android.os.Build;
8
import android.util.Log;
9
10
public class DymicPermissionTool {
11
12
    public static int PERMISSION_REQUEST = 4532;
13
14
    private static String[] getPermission(Context context){
15
        try {
16
            PackageManager pm = context.getPackageManager();
17
            PackageInfo pi = pm.getPackageInfo(context.getPackageName(), 0);
18
            //得到自己的包名
19
            String pkgName = pi.packageName;
20
            PackageInfo pkgInfo = pm.getPackageInfo(pkgName, PackageManager.GET_PERMISSIONS);
21
            return pkgInfo.requestedPermissions;
22
        } catch (PackageManager.NameNotFoundException e) {
23
            Log.e("##ddd", "Could'nt retrieve permissions for package");
24
        }
25
        return null;
26
    }
27
28
    public static void requestPermission(Activity activity){
29
        String[] permissions = getPermission(activity);
30
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
31
            if (permissions != null) {
32
                activity.requestPermissions(permissions,PERMISSION_REQUEST);
33
            }
34
        }
35
    }
36
}

+ 66 - 0
asiainfo-aiface-client/app/src/main/java/com/ai/ipu/aiface/scanCamera/util/LEDLight.java

@ -0,0 +1,66 @@
1
package com.ai.ipu.aiface.scanCamera.util;
2
3
import android.util.Log;
4
5
import java.io.File;
6
import java.io.FileInputStream;
7
import java.io.FileOutputStream;
8
import java.io.IOException;
9
10
public class LEDLight {
11
12
    private static final String LED_PATH = "/dev/led_en";
13
    private static final int LED_ENABLE = 1;
14
    private static final int LED_DISABLE = 0;
15
    private boolean currentStatus = false;
16
17
    public boolean getLEDEnable(){
18
        return currentStatus;
19
    }
20
21
    public boolean setLEDEnable(boolean enable){
22
        currentStatus = enable;
23
        if(enable){
24
            return write_file(LED_PATH,LED_ENABLE);
25
        }else{
26
            return write_file(LED_PATH,LED_DISABLE);
27
        }
28
    }
29
30
    private static boolean write_file(String name, int value){
31
        File myFile = new File(name);
32
        String str = ""+value;
33
        try {
34
            FileOutputStream fos = new FileOutputStream(myFile);
35
            fos.write(str.getBytes());
36
            fos.close();
37
        } catch (IOException e) {
38
            Log.e(LEDLight.class.getSimpleName(),e.getMessage(),e);
39
            return false;
40
        }
41
        return true;
42
    }
43
    private static String read_file(String path){
44
        File myFile = new File(path);
45
        byte[] buffer = new byte[4];
46
        int len=0;
47
        try {
48
            FileInputStream fis = new FileInputStream(myFile);
49
            len = fis.read(buffer);
50
            fis.close();
51
        } catch (IOException e) {
52
            e.printStackTrace();
53
        }
54
        if(len>0){
55
            String s = new String(buffer);
56
            if(s.startsWith("1"))
57
                return "1";
58
            else if(s.startsWith("0"))
59
                return "0";
60
            else
61
                return "null";
62
        }
63
        else
64
            return "null";
65
    }
66
}

+ 34 - 0
asiainfo-aiface-client/app/src/main/res/drawable-v24/ic_launcher_foreground.xml

@ -0,0 +1,34 @@
1
<vector xmlns:android="http://schemas.android.com/apk/res/android"
2
    xmlns:aapt="http://schemas.android.com/aapt"
3
    android:width="108dp"
4
    android:height="108dp"
5
    android:viewportWidth="108"
6
    android:viewportHeight="108">
7
    <path
8
        android:fillType="evenOdd"
9
        android:pathData="M32,64C32,64 38.39,52.99 44.13,50.95C51.37,48.37 70.14,49.57 70.14,49.57L108.26,87.69L108,109.01L75.97,107.97L32,64Z"
10
        android:strokeWidth="1"
11
        android:strokeColor="#00000000">
12
        <aapt:attr name="android:fillColor">
13
            <gradient
14
                android:endX="78.5885"
15
                android:endY="90.9159"
16
                android:startX="48.7653"
17
                android:startY="61.0927"
18
                android:type="linear">
19
                <item
20
                    android:color="#44000000"
21
                    android:offset="0.0" />
22
                <item
23
                    android:color="#00000000"
24
                    android:offset="1.0" />
25
            </gradient>
26
        </aapt:attr>
27
    </path>
28
    <path
29
        android:fillColor="#FFFFFF"
30
        android:fillType="nonZero"
31
        android:pathData="M66.94,46.02L66.94,46.02C72.44,50.07 76,56.61 76,64L32,64C32,56.61 35.56,50.11 40.98,46.06L36.18,41.19C35.45,40.45 35.45,39.3 36.18,38.56C36.91,37.81 38.05,37.81 38.78,38.56L44.25,44.05C47.18,42.57 50.48,41.71 54,41.71C57.48,41.71 60.78,42.57 63.68,44.05L69.11,38.56C69.84,37.81 70.98,37.81 71.71,38.56C72.44,39.3 72.44,40.45 71.71,41.19L66.94,46.02ZM62.94,56.92C64.08,56.92 65,56.01 65,54.88C65,53.76 64.08,52.85 62.94,52.85C61.8,52.85 60.88,53.76 60.88,54.88C60.88,56.01 61.8,56.92 62.94,56.92ZM45.06,56.92C46.2,56.92 47.13,56.01 47.13,54.88C47.13,53.76 46.2,52.85 45.06,52.85C43.92,52.85 43,53.76 43,54.88C43,56.01 43.92,56.92 45.06,56.92Z"
32
        android:strokeWidth="1"
33
        android:strokeColor="#00000000" />
34
</vector>

+ 170 - 0
asiainfo-aiface-client/app/src/main/res/drawable/ic_launcher_background.xml

@ -0,0 +1,170 @@
1
<?xml version="1.0" encoding="utf-8"?>
2
<vector xmlns:android="http://schemas.android.com/apk/res/android"
3
    android:width="108dp"
4
    android:height="108dp"
5
    android:viewportWidth="108"
6
    android:viewportHeight="108">
7
    <path
8
        android:fillColor="#008577"
9
        android:pathData="M0,0h108v108h-108z" />
10
    <path
11
        android:fillColor="#00000000"
12
        android:pathData="M9,0L9,108"
13
        android:strokeWidth="0.8"
14
        android:strokeColor="#33FFFFFF" />
15
    <path
16
        android:fillColor="#00000000"
17
        android:pathData="M19,0L19,108"
18
        android:strokeWidth="0.8"
19
        android:strokeColor="#33FFFFFF" />
20
    <path
21
        android:fillColor="#00000000"
22
        android:pathData="M29,0L29,108"
23
        android:strokeWidth="0.8"
24
        android:strokeColor="#33FFFFFF" />
25
    <path
26
        android:fillColor="#00000000"
27
        android:pathData="M39,0L39,108"
28
        android:strokeWidth="0.8"
29
        android:strokeColor="#33FFFFFF" />
30
    <path
31
        android:fillColor="#00000000"
32
        android:pathData="M49,0L49,108"
33
        android:strokeWidth="0.8"
34
        android:strokeColor="#33FFFFFF" />
35
    <path
36
        android:fillColor="#00000000"
37
        android:pathData="M59,0L59,108"
38
        android:strokeWidth="0.8"
39
        android:strokeColor="#33FFFFFF" />
40
    <path
41
        android:fillColor="#00000000"
42
        android:pathData="M69,0L69,108"
43
        android:strokeWidth="0.8"
44
        android:strokeColor="#33FFFFFF" />
45
    <path
46
        android:fillColor="#00000000"
47
        android:pathData="M79,0L79,108"
48
        android:strokeWidth="0.8"
49
        android:strokeColor="#33FFFFFF" />
50
    <path
51
        android:fillColor="#00000000"
52
        android:pathData="M89,0L89,108"
53
        android:strokeWidth="0.8"
54
        android:strokeColor="#33FFFFFF" />
55
    <path
56
        android:fillColor="#00000000"
57
        android:pathData="M99,0L99,108"
58
        android:strokeWidth="0.8"
59
        android:strokeColor="#33FFFFFF" />
60
    <path
61
        android:fillColor="#00000000"
62
        android:pathData="M0,9L108,9"
63
        android:strokeWidth="0.8"
64
        android:strokeColor="#33FFFFFF" />
65
    <path
66
        android:fillColor="#00000000"
67
        android:pathData="M0,19L108,19"
68
        android:strokeWidth="0.8"
69
        android:strokeColor="#33FFFFFF" />
70
    <path
71
        android:fillColor="#00000000"
72
        android:pathData="M0,29L108,29"
73
        android:strokeWidth="0.8"
74
        android:strokeColor="#33FFFFFF" />
75
    <path
76
        android:fillColor="#00000000"
77
        android:pathData="M0,39L108,39"
78
        android:strokeWidth="0.8"
79
        android:strokeColor="#33FFFFFF" />
80
    <path
81
        android:fillColor="#00000000"
82
        android:pathData="M0,49L108,49"
83
        android:strokeWidth="0.8"
84
        android:strokeColor="#33FFFFFF" />
85
    <path
86
        android:fillColor="#00000000"
87
        android:pathData="M0,59L108,59"
88
        android:strokeWidth="0.8"
89
        android:strokeColor="#33FFFFFF" />
90
    <path
91
        android:fillColor="#00000000"
92
        android:pathData="M0,69L108,69"
93
        android:strokeWidth="0.8"
94
        android:strokeColor="#33FFFFFF" />
95
    <path
96
        android:fillColor="#00000000"
97
        android:pathData="M0,79L108,79"
98
        android:strokeWidth="0.8"
99
        android:strokeColor="#33FFFFFF" />
100
    <path
101
        android:fillColor="#00000000"
102
        android:pathData="M0,89L108,89"
103
        android:strokeWidth="0.8"
104
        android:strokeColor="#33FFFFFF" />
105
    <path
106
        android:fillColor="#00000000"
107
        android:pathData="M0,99L108,99"
108
        android:strokeWidth="0.8"
109
        android:strokeColor="#33FFFFFF" />
110
    <path
111
        android:fillColor="#00000000"
112
        android:pathData="M19,29L89,29"
113
        android:strokeWidth="0.8"
114
        android:strokeColor="#33FFFFFF" />
115
    <path
116
        android:fillColor="#00000000"
117
        android:pathData="M19,39L89,39"
118
        android:strokeWidth="0.8"
119
        android:strokeColor="#33FFFFFF" />
120
    <path
121
        android:fillColor="#00000000"
122
        android:pathData="M19,49L89,49"
123
        android:strokeWidth="0.8"
124
        android:strokeColor="#33FFFFFF" />
125
    <path
126
        android:fillColor="#00000000"
127
        android:pathData="M19,59L89,59"
128
        android:strokeWidth="0.8"
129
        android:strokeColor="#33FFFFFF" />
130
    <path
131
        android:fillColor="#00000000"
132
        android:pathData="M19,69L89,69"
133
        android:strokeWidth="0.8"
134
        android:strokeColor="#33FFFFFF" />
135
    <path
136
        android:fillColor="#00000000"
137
        android:pathData="M19,79L89,79"
138
        android:strokeWidth="0.8"
139
        android:strokeColor="#33FFFFFF" />
140
    <path
141
        android:fillColor="#00000000"
142
        android:pathData="M29,19L29,89"
143
        android:strokeWidth="0.8"
144
        android:strokeColor="#33FFFFFF" />
145
    <path
146
        android:fillColor="#00000000"
147
        android:pathData="M39,19L39,89"
148
        android:strokeWidth="0.8"
149
        android:strokeColor="#33FFFFFF" />
150
    <path
151
        android:fillColor="#00000000"
152
        android:pathData="M49,19L49,89"
153
        android:strokeWidth="0.8"
154
        android:strokeColor="#33FFFFFF" />
155
    <path
156
        android:fillColor="#00000000"
157
        android:pathData="M59,19L59,89"
158
        android:strokeWidth="0.8"
159
        android:strokeColor="#33FFFFFF" />
160
    <path
161
        android:fillColor="#00000000"
162
        android:pathData="M69,19L69,89"
163
        android:strokeWidth="0.8"
164
        android:strokeColor="#33FFFFFF" />
165
    <path
166
        android:fillColor="#00000000"
167
        android:pathData="M79,19L79,89"
168
        android:strokeWidth="0.8"
169
        android:strokeColor="#33FFFFFF" />
170
</vector>

+ 8 - 0
asiainfo-aiface-client/app/src/main/res/drawable/led_bg.xml

@ -0,0 +1,8 @@
1
<?xml version="1.0" encoding="utf-8"?>
2
<selector xmlns:android="http://schemas.android.com/apk/res/android">
3
4
5
        <item android:state_selected="true" android:drawable="@drawable/led_enable" />
6
        <item android:state_selected="false" android:drawable="@drawable/led_disable" />
7
8
</selector>

BIN
asiainfo-aiface-client/app/src/main/res/drawable/led_disable.png


BIN
asiainfo-aiface-client/app/src/main/res/drawable/led_enable.png


BIN
asiainfo-aiface-client/app/src/main/res/drawable/logo.png


+ 65 - 0
asiainfo-aiface-client/app/src/main/res/layout/activity_facedetect_new.xml

@ -0,0 +1,65 @@
1
<?xml version="1.0" encoding="utf-8"?>
2
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
3
    android:layout_width="match_parent"
4
    android:layout_height="match_parent"
5
    xmlns:app="http://schemas.android.com/apk/res-auto">
6
7
    <LinearLayout
8
        android:layout_width="match_parent"
9
        android:layout_height="match_parent"
10
        android:orientation="vertical"
11
        android:gravity="center_horizontal">
12
13
        <com.google.android.cameraview.CameraView
14
            android:id="@+id/cv_camera"
15
            android:layout_width="match_parent"
16
            android:layout_height="0dp"
17
            android:layout_marginBottom="20dp"
18
            android:layout_weight="1"
19
            app:autoFocus="true">
20
        </com.google.android.cameraview.CameraView>
21
22
        <ImageView
23
            android:layout_width="wrap_content"
24
            android:layout_height="wrap_content"
25
            android:layout_marginBottom="20dp"
26
            android:src="@drawable/logo"/>
27
28
        <TextView
29
            android:layout_width="wrap_content"
30
            android:layout_height="wrap_content"
31
            android:layout_marginBottom="20dp"
32
            android:text="人脸识别系统"
33
            android:textColor="@android:color/black"
34
            android:textSize="32sp"/>
35
36
        <TextView
37
            android:layout_width="wrap_content"
38
            android:layout_height="wrap_content"
39
            android:layout_marginBottom="20dp"
40
            android:id="@+id/current_time"
41
            android:textColor="@android:color/black"
42
            android:textSize="20sp"
43
            android:text="2019年10月18日 星期五 16:51"/>
44
45
46
    </LinearLayout>
47
48
49
    <ImageView
50
        android:id="@+id/iv_preview"
51
        android:layout_width="100dp"
52
        android:layout_height="100dp"
53
        android:layout_gravity="bottom|left"
54
        android:visibility="gone"/>
55
56
    <ImageView
57
        android:layout_width="40dp"
58
        android:layout_height="40dp"
59
        android:id="@+id/led_switch"
60
        android:layout_marginTop="20dp"
61
        android:layout_marginRight="20dp"
62
        android:src="@drawable/led_bg"
63
        android:layout_alignParentRight="true"/>
64
65
</RelativeLayout>

+ 18 - 0
asiainfo-aiface-client/app/src/main/res/layout/activity_main.xml

@ -0,0 +1,18 @@
1
<?xml version="1.0" encoding="utf-8"?>
2
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
3
    xmlns:app="http://schemas.android.com/apk/res-auto"
4
    xmlns:tools="http://schemas.android.com/tools"
5
    android:layout_width="match_parent"
6
    android:layout_height="match_parent"
7
    tools:context=".MainActivity">
8
9
    <TextView
10
        android:layout_width="wrap_content"
11
        android:layout_height="wrap_content"
12
        android:text="Hello World!"
13
        app:layout_constraintBottom_toBottomOf="parent"
14
        app:layout_constraintLeft_toLeftOf="parent"
15
        app:layout_constraintRight_toRightOf="parent"
16
        app:layout_constraintTop_toTopOf="parent" />
17
18
</android.support.constraint.ConstraintLayout>

+ 5 - 0
asiainfo-aiface-client/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml

@ -0,0 +1,5 @@
1
<?xml version="1.0" encoding="utf-8"?>
2
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
3
    <background android:drawable="@drawable/ic_launcher_background" />
4
    <foreground android:drawable="@drawable/ic_launcher_foreground" />
5
</adaptive-icon>

+ 5 - 0
asiainfo-aiface-client/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml

@ -0,0 +1,5 @@
1
<?xml version="1.0" encoding="utf-8"?>
2
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
3
    <background android:drawable="@drawable/ic_launcher_background" />
4
    <foreground android:drawable="@drawable/ic_launcher_foreground" />
5
</adaptive-icon>

BIN
asiainfo-aiface-client/app/src/main/res/mipmap-hdpi/face_decoration.png


BIN
asiainfo-aiface-client/app/src/main/res/mipmap-hdpi/ic_launcher.png


BIN
asiainfo-aiface-client/app/src/main/res/mipmap-hdpi/ic_launcher_round.png


BIN
asiainfo-aiface-client/app/src/main/res/mipmap-mdpi/ic_launcher.png


BIN
asiainfo-aiface-client/app/src/main/res/mipmap-mdpi/ic_launcher_round.png


BIN
asiainfo-aiface-client/app/src/main/res/mipmap-xhdpi/ic_launcher.png


BIN
asiainfo-aiface-client/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png


BIN
asiainfo-aiface-client/app/src/main/res/mipmap-xxhdpi/ic_launcher.png


BIN
asiainfo-aiface-client/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png


BIN
asiainfo-aiface-client/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png


BIN
asiainfo-aiface-client/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png


+ 6 - 0
asiainfo-aiface-client/app/src/main/res/values/colors.xml

@ -0,0 +1,6 @@
1
<?xml version="1.0" encoding="utf-8"?>
2
<resources>
3
    <color name="colorPrimary">#008577</color>
4
    <color name="colorPrimaryDark">#00574B</color>
5
    <color name="colorAccent">#D81B60</color>
6
</resources>

+ 3 - 0
asiainfo-aiface-client/app/src/main/res/values/strings.xml

@ -0,0 +1,3 @@
1
<resources>
2
    <string name="app_name">ipu-mobile-aiface</string>
3
</resources>

+ 11 - 0
asiainfo-aiface-client/app/src/main/res/values/styles.xml

@ -0,0 +1,11 @@
1
<resources>
2
3
    <!-- Base application theme. -->
4
    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
5
        <!-- Customize your theme here. -->
6
        <item name="colorPrimary">@color/colorPrimary</item>
7
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
8
        <item name="colorAccent">@color/colorAccent</item>
9
    </style>
10
11
</resources>

+ 29 - 0
asiainfo-aiface-client/build.gradle

@ -0,0 +1,29 @@
1
// Top-level build file where you can add configuration options common to all sub-projects/modules.
2
3
buildscript {
4
    repositories {
5
        google()
6
        jcenter()
7
        
8
    }
9
    dependencies {
10
        classpath 'com.android.tools.build:gradle:3.4.1'
11
        
12
        // NOTE: Do not place your application dependencies here; they belong
13
        // in the individual module build.gradle files
14
    }
15
}
16
17
allprojects {
18
    repositories {
19
        google()
20
        jcenter()
21
        flatDir {
22
            dirs project(':app').file('libs')
23
        }
24
    }
25
}
26
27
task clean(type: Delete) {
28
    delete rootProject.buildDir
29
}

+ 15 - 0
asiainfo-aiface-client/gradle.properties

@ -0,0 +1,15 @@
1
# Project-wide Gradle settings.
2
# IDE (e.g. Android Studio) users:
3
# Gradle settings configured through the IDE *will override*
4
# any settings specified in this file.
5
# For more details on how to configure your build environment visit
6
# http://www.gradle.org/docs/current/userguide/build_environment.html
7
# Specifies the JVM arguments used for the daemon process.
8
# The setting is particularly useful for tweaking memory settings.
9
org.gradle.jvmargs=-Xmx1536m
10
# When configured, Gradle will run in incubating parallel mode.
11
# This option should only be used with decoupled projects. More details, visit
12
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
13
# org.gradle.parallel=true
14
15

+ 6 - 0
asiainfo-aiface-client/gradle/wrapper/gradle-wrapper.properties

@ -0,0 +1,6 @@
1
#Sat Oct 12 10:55:00 CST 2019
2
distributionBase=GRADLE_USER_HOME
3
distributionPath=wrapper/dists
4
zipStoreBase=GRADLE_USER_HOME
5
zipStorePath=wrapper/dists
6
distributionUrl=https\://services.gradle.org/distributions/gradle-5.1.1-all.zip

+ 172 - 0
asiainfo-aiface-client/gradlew

@ -0,0 +1,172 @@
1
#!/usr/bin/env sh
2
3
##############################################################################
4
##
5
##  Gradle start up script for UN*X
6
##
7
##############################################################################
8
9
# Attempt to set APP_HOME
10
# Resolve links: $0 may be a link
11
PRG="$0"
12
# Need this for relative symlinks.
13
while [ -h "$PRG" ] ; do
14
    ls=`ls -ld "$PRG"`
15
    link=`expr "$ls" : '.*-> \(.*\)$'`
16
    if expr "$link" : '/.*' > /dev/null; then
17
        PRG="$link"
18
    else
19
        PRG=`dirname "$PRG"`"/$link"
20
    fi
21
done
22
SAVED="`pwd`"
23
cd "`dirname \"$PRG\"`/" >/dev/null
24
APP_HOME="`pwd -P`"
25
cd "$SAVED" >/dev/null
26
27
APP_NAME="Gradle"
28
APP_BASE_NAME=`basename "$0"`
29
30
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
31
DEFAULT_JVM_OPTS=""
32
33
# Use the maximum available, or set MAX_FD != -1 to use that value.
34
MAX_FD="maximum"
35
36
warn () {
37
    echo "$*"
38
}
39
40
die () {
41
    echo
42
    echo "$*"
43
    echo
44
    exit 1
45
}
46
47
# OS specific support (must be 'true' or 'false').
48
cygwin=false
49
msys=false
50
darwin=false
51
nonstop=false
52
case "`uname`" in
53
  CYGWIN* )
54
    cygwin=true
55
    ;;
56
  Darwin* )
57
    darwin=true
58
    ;;
59
  MINGW* )
60
    msys=true
61
    ;;
62
  NONSTOP* )
63
    nonstop=true
64
    ;;
65
esac
66
67
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
68
69
# Determine the Java command to use to start the JVM.
70
if [ -n "$JAVA_HOME" ] ; then
71
    if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
72
        # IBM's JDK on AIX uses strange locations for the executables
73
        JAVACMD="$JAVA_HOME/jre/sh/java"
74
    else
75
        JAVACMD="$JAVA_HOME/bin/java"
76
    fi
77
    if [ ! -x "$JAVACMD" ] ; then
78
        die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
79
80
Please set the JAVA_HOME variable in your environment to match the
81
location of your Java installation."
82
    fi
83
else
84
    JAVACMD="java"
85
    which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
86
87
Please set the JAVA_HOME variable in your environment to match the
88
location of your Java installation."
89
fi
90
91
# Increase the maximum file descriptors if we can.
92
if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
93
    MAX_FD_LIMIT=`ulimit -H -n`
94
    if [ $? -eq 0 ] ; then
95
        if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
96
            MAX_FD="$MAX_FD_LIMIT"
97
        fi
98
        ulimit -n $MAX_FD
99
        if [ $? -ne 0 ] ; then
100
            warn "Could not set maximum file descriptor limit: $MAX_FD"
101
        fi
102
    else
103
        warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
104
    fi
105
fi
106
107
# For Darwin, add options to specify how the application appears in the dock
108
if $darwin; then
109
    GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
110
fi
111
112
# For Cygwin, switch paths to Windows format before running java
113
if $cygwin ; then
114
    APP_HOME=`cygpath --path --mixed "$APP_HOME"`
115
    CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
116
    JAVACMD=`cygpath --unix "$JAVACMD"`
117
118
    # We build the pattern for arguments to be converted via cygpath
119
    ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
120
    SEP=""
121
    for dir in $ROOTDIRSRAW ; do
122
        ROOTDIRS="$ROOTDIRS$SEP$dir"
123
        SEP="|"
124
    done
125
    OURCYGPATTERN="(^($ROOTDIRS))"
126
    # Add a user-defined pattern to the cygpath arguments
127
    if [ "$GRADLE_CYGPATTERN" != "" ] ; then
128
        OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
129
    fi
130
    # Now convert the arguments - kludge to limit ourselves to /bin/sh
131
    i=0
132
    for arg in "$@" ; do
133
        CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
134
        CHECK2=`echo "$arg"|egrep -c "^-"`                                 ### Determine if an option
135
136
        if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then                    ### Added a condition
137
            eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
138
        else
139
            eval `echo args$i`="\"$arg\""
140
        fi
141
        i=$((i+1))
142
    done
143
    case $i in
144
        (0) set -- ;;
145
        (1) set -- "$args0" ;;
146
        (2) set -- "$args0" "$args1" ;;
147
        (3) set -- "$args0" "$args1" "$args2" ;;
148
        (4) set -- "$args0" "$args1" "$args2" "$args3" ;;
149
        (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
150
        (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
151
        (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
152
        (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
153
        (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
154
    esac
155
fi
156
157
# Escape application args
158
save () {
159
    for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
160
    echo " "
161
}
162
APP_ARGS=$(save "$@")
163
164
# Collect all arguments for the java command, following the shell quoting and substitution rules
165
eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
166
167
# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong
168
if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then
169
  cd "$(dirname "$0")"
170
fi
171
172
exec "$JAVACMD" "$@"

+ 84 - 0
asiainfo-aiface-client/gradlew.bat

@ -0,0 +1,84 @@
1
@if "%DEBUG%" == "" @echo off
2
@rem ##########################################################################
3
@rem
4
@rem  Gradle startup script for Windows
5
@rem
6
@rem ##########################################################################
7
8
@rem Set local scope for the variables with windows NT shell
9
if "%OS%"=="Windows_NT" setlocal
10
11
set DIRNAME=%~dp0
12
if "%DIRNAME%" == "" set DIRNAME=.
13
set APP_BASE_NAME=%~n0
14
set APP_HOME=%DIRNAME%
15
16
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
17
set DEFAULT_JVM_OPTS=
18
19
@rem Find java.exe
20
if defined JAVA_HOME goto findJavaFromJavaHome
21
22
set JAVA_EXE=java.exe
23
%JAVA_EXE% -version >NUL 2>&1
24
if "%ERRORLEVEL%" == "0" goto init
25
26
echo.
27
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
28
echo.
29
echo Please set the JAVA_HOME variable in your environment to match the
30
echo location of your Java installation.
31
32
goto fail
33
34
:findJavaFromJavaHome
35
set JAVA_HOME=%JAVA_HOME:"=%
36
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
37
38
if exist "%JAVA_EXE%" goto init
39
40
echo.
41
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
42
echo.
43
echo Please set the JAVA_HOME variable in your environment to match the
44
echo location of your Java installation.
45
46
goto fail
47
48
:init
49
@rem Get command-line arguments, handling Windows variants
50
51
if not "%OS%" == "Windows_NT" goto win9xME_args
52
53
:win9xME_args
54
@rem Slurp the command line arguments.
55
set CMD_LINE_ARGS=
56
set _SKIP=2
57
58
:win9xME_args_slurp
59
if "x%~1" == "x" goto execute
60
61
set CMD_LINE_ARGS=%*
62
63
:execute
64
@rem Setup the command line
65
66
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
67
68
@rem Execute Gradle
69
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
70
71
:end
72
@rem End local scope for the variables with windows NT shell
73
if "%ERRORLEVEL%"=="0" goto mainEnd
74
75
:fail
76
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
77
rem the _cmd.exe /c_ return code!
78
if  not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
79
exit /b 1
80
81
:mainEnd
82
if "%OS%"=="Windows_NT" endlocal
83
84
:omega

+ 1 - 0
asiainfo-aiface-client/settings.gradle

@ -0,0 +1 @@
1
include ':app'