@@ -19,6 +19,10 @@ android { | |||||
versionName rootProject.ext.versionName | versionName rootProject.ext.versionName | ||||
testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner' | testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner' | ||||
multiDexEnabled true | multiDexEnabled true | ||||
ndk { | |||||
// 设置支持的SO库架构 | |||||
abiFilters 'armeabi' //, 'x86', 'armeabi-v7a', 'x86_64', 'arm64-v8a' | |||||
} | |||||
} | } | ||||
buildTypes { | buildTypes { | ||||
release { | release { | ||||
@@ -129,7 +133,7 @@ dependencies { | |||||
//leak 内存泄漏检测 | //leak 内存泄漏检测 | ||||
// debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.0-alpha-3' | |||||
debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.0-alpha-3' | |||||
//Modbus | //Modbus | ||||
implementation 'com.github.licheedev:Modbus4Android:2.0.2' | implementation 'com.github.licheedev:Modbus4Android:2.0.2' | ||||
@@ -170,4 +174,11 @@ dependencies { | |||||
implementation 'com.contrarywind:Android-PickerView:3.2.6' | implementation 'com.contrarywind:Android-PickerView:3.2.6' | ||||
implementation 'com.github.xingshuangs:iot-communication:1.5.0' | implementation 'com.github.xingshuangs:iot-communication:1.5.0' | ||||
//日志工具 可定位代码行数 | |||||
api 'com.apkfuns.logutils:library:1.7.5' | |||||
//腾讯bugly | |||||
//sdk地址 https://bugly.qq.com/docs/user-guide/instruction-manual-android/?v=1.0.0 | |||||
implementation 'com.tencent.bugly:crashreport:latest.release' //其中latest.release指代最新Bugly SDK版本号,也可以指定明确的版本号,例如4.0.3 | |||||
} | } |
@@ -19,3 +19,6 @@ | |||||
# If you keep the line number information, uncomment this to | # If you keep the line number information, uncomment this to | ||||
# hide the original source file name. | # hide the original source file name. | ||||
#-renamesourcefileattribute SourceFile | #-renamesourcefileattribute SourceFile | ||||
-dontwarn com.tencent.bugly.** | |||||
-keep public class com.tencent.bugly.**{*;} |
@@ -7,6 +7,7 @@ import android.app.Activity; | |||||
import android.app.Application; | import android.app.Application; | ||||
import android.content.Context; | import android.content.Context; | ||||
import android.content.pm.PackageManager; | import android.content.pm.PackageManager; | ||||
import android.text.TextUtils; | |||||
import android.util.Log; | import android.util.Log; | ||||
import androidx.core.content.ContextCompat; | import androidx.core.content.ContextCompat; | ||||
@@ -48,9 +49,13 @@ import com.orhanobut.logger.FormatStrategy; | |||||
import com.orhanobut.logger.Logger; | import com.orhanobut.logger.Logger; | ||||
import com.orhanobut.logger.PrettyFormatStrategy; | import com.orhanobut.logger.PrettyFormatStrategy; | ||||
import com.qmuiteam.qmui.arch.QMUISwipeBackActivityManager; | import com.qmuiteam.qmui.arch.QMUISwipeBackActivityManager; | ||||
import com.tencent.bugly.crashreport.CrashReport; | |||||
import org.litepal.LitePal; | import org.litepal.LitePal; | ||||
import java.io.BufferedReader; | |||||
import java.io.FileReader; | |||||
import java.io.IOException; | |||||
import java.util.ArrayList; | import java.util.ArrayList; | ||||
import java.util.Arrays; | import java.util.Arrays; | ||||
import java.util.IdentityHashMap; | import java.util.IdentityHashMap; | ||||
@@ -82,5 +87,53 @@ public class MainApplication extends Application { | |||||
context = getApplicationContext(); | context = getApplicationContext(); | ||||
ConfigName.getInstance().dishesCon = this; | ConfigName.getInstance().dishesCon = this; | ||||
ConfigName.getInstance().app = this; | ConfigName.getInstance().app = this; | ||||
if(ConfigName.TEST){ | |||||
initBugly(); | |||||
} | |||||
} | |||||
/** | |||||
* 腾讯bugly 异常检测上班 | |||||
*/ | |||||
public void initBugly() { | |||||
Context context = getApplicationContext(); | |||||
// 获取当前包名 | |||||
String packageName = context.getPackageName(); | |||||
// 获取当前进程名 | |||||
String processName = getProcessName(android.os.Process.myPid()); | |||||
// 设置是否为上报进程 | |||||
CrashReport.UserStrategy strategy = new CrashReport.UserStrategy(context); | |||||
strategy.setUploadProcess(processName == null || processName.equals(packageName)); | |||||
// 初始化Bugly | |||||
CrashReport.initCrashReport(getApplicationContext(), "0ccad7391a", true); | |||||
} | |||||
/** | |||||
* 获取进程号对应的进程名 | |||||
* | |||||
* @param pid 进程号 | |||||
* @return 进程名 | |||||
*/ | |||||
private static String getProcessName(int pid) { | |||||
BufferedReader reader = null; | |||||
try { | |||||
reader = new BufferedReader(new FileReader("/proc/" + pid + "/cmdline")); | |||||
String processName = reader.readLine(); | |||||
if (!TextUtils.isEmpty(processName)) { | |||||
processName = processName.trim(); | |||||
} | |||||
return processName; | |||||
} catch (Throwable throwable) { | |||||
throwable.printStackTrace(); | |||||
} finally { | |||||
try { | |||||
if (reader != null) { | |||||
reader.close(); | |||||
} | |||||
} catch (IOException exception) { | |||||
exception.printStackTrace(); | |||||
} | |||||
} | |||||
return null; | |||||
} | } | ||||
} | } |
@@ -682,9 +682,9 @@ public class MakeGoodFragment extends BaseFragment { | |||||
public void run() { | public void run() { | ||||
String msg = msg2; | String msg = msg2; | ||||
if(ConfigName.TEST){ | |||||
msg = " |03cb1364-8b85-446a-b00b-d3657de1a19f| | "; | |||||
} | |||||
// if(ConfigName.TEST){ | |||||
// msg = " |03cb1364-8b85-446a-b00b-d3657de1a19f| | "; | |||||
// } | |||||
if ((msg != null) && (((String) msg).length() > 2) && ((String) msg).contains("|")) { | if ((msg != null) && (((String) msg).length() > 2) && ((String) msg).contains("|")) { | ||||
//拿到扫码数据 | //拿到扫码数据 | ||||
//例如 ORD001|P0003|A001,M002,T001|2 | //例如 ORD001|P0003|A001,M002,T001|2 | ||||
@@ -728,9 +728,9 @@ public class MakeGoodFragment extends BaseFragment { | |||||
} | } | ||||
BPA_GOODS good = QueryDB.GetGoodsforeignKeyId(goodid); | BPA_GOODS good = QueryDB.GetGoodsforeignKeyId(goodid); | ||||
ConfigName.getInstance(); | ConfigName.getInstance(); | ||||
if(ConfigName.TEST){ | |||||
good = QueryDB.GetGoodsId(goodid); | |||||
} | |||||
// if(ConfigName.TEST){ | |||||
// good = QueryDB.GetGoodsId(goodid); | |||||
// } | |||||
if (good == null) { | if (good == null) { | ||||
message = "没有查询到该商品!"; | message = "没有查询到该商品!"; | ||||
mHandler.sendEmptyMessage(1); | mHandler.sendEmptyMessage(1); | ||||
@@ -51,6 +51,7 @@ import com.mobsandgeeks.saripaar.annotation.NotEmpty; | |||||
import com.mobsandgeeks.saripaar.annotation.Order; | import com.mobsandgeeks.saripaar.annotation.Order; | ||||
import com.mobsandgeeks.saripaar.annotation.Password; | import com.mobsandgeeks.saripaar.annotation.Password; | ||||
import com.qmuiteam.qmui.util.QMUIStatusBarHelper; | import com.qmuiteam.qmui.util.QMUIStatusBarHelper; | ||||
import com.tencent.bugly.crashreport.CrashReport; | |||||
import org.litepal.LitePal; | import org.litepal.LitePal; | ||||
@@ -114,6 +115,7 @@ public class LoginActivity extends BaseActivity implements Validator.ValidationL | |||||
initUser(); | initUser(); | ||||
initEvent(); | initEvent(); | ||||
initData(); | initData(); | ||||
CrashReport.testJavaCrash(); | |||||
} | } | ||||
/** | /** | ||||
@@ -135,16 +135,17 @@ | |||||
android:layout_alignParentRight="true" | android:layout_alignParentRight="true" | ||||
android:layout_width="wrap_content" | android:layout_width="wrap_content" | ||||
android:layout_height="wrap_content" | android:layout_height="wrap_content" | ||||
android:visibility="gone" | |||||
android:orientation="vertical"> | android:orientation="vertical"> | ||||
<Button | |||||
android:id="@+id/control_switch_shoudong" | |||||
android:layout_width="120dp" | |||||
android:layout_height="70dp" | |||||
android:layout_centerHorizontal="true" | |||||
android:background="@drawable/silosbuttonbj" | |||||
android:text="出料" | |||||
android:textColor="@color/white" | |||||
android:textSize="18sp"/> | |||||
<!-- <Button--> | |||||
<!-- android:id="@+id/control_switch_shoudong"--> | |||||
<!-- android:layout_width="120dp"--> | |||||
<!-- android:layout_height="70dp"--> | |||||
<!-- android:layout_centerHorizontal="true"--> | |||||
<!-- android:background="@drawable/silosbuttonbj"--> | |||||
<!-- android:text="出料"--> | |||||
<!-- android:textColor="@color/white"--> | |||||
<!-- android:textSize="18sp"/>--> | |||||
<Button | <Button | ||||
android:layout_marginTop="@dimen/dp_10" | android:layout_marginTop="@dimen/dp_10" | ||||
@@ -214,6 +215,19 @@ | |||||
android:textColor="@color/white" | android:textColor="@color/white" | ||||
android:textSize="18sp"/> | android:textSize="18sp"/> | ||||
<Button | |||||
android:id="@+id/control_switch_shoudong" | |||||
android:layout_marginLeft="10dp" | |||||
android:layout_width="0dp" | |||||
android:layout_weight="1" | |||||
android:layout_height="40dp" | |||||
android:layout_centerHorizontal="true" | |||||
android:background="@drawable/bg" | |||||
android:text="出料" | |||||
android:visibility="visible" | |||||
android:textColor="@color/white" | |||||
android:textSize="18sp"/> | |||||
</LinearLayout> | </LinearLayout> | ||||
<LinearLayout | <LinearLayout | ||||
@@ -13,4 +13,5 @@ org.gradle.jvmargs=-Xmx2048m | |||||
# org.gradle.parallel=true | # org.gradle.parallel=true | ||||
android.useAndroidX=true | android.useAndroidX=true | ||||
android.enableJetifier=true | android.enableJetifier=true | ||||
android.useDeprecatedNdk=true | |||||