build.gradle 46 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916
  1. import org.json.JSONObject
  2. apply plugin: 'com.android.application'
  3. android {
  4. compileSdkVersion 31
  5. flavorDimensions "baseUrl"
  6. productFlavors {
  7. userdev {
  8. dimension "baseUrl"
  9. applicationId "com.ghpcarphone.ussd"
  10. resValue "string", "app_name", "测试用"
  11. buildConfigField "String", "BASE_URL", "\"https://www.kpkingpark.com\""
  12. buildConfigField "String", "UPDATE_KEY", "\"59e95b20-759a-472a-bf07-a4e4b2e7a1f0\""
  13. buildConfigField "String", "UPDATE_BASE_URL", "\"http://up.lkluckpanda.online/userdemo/\""
  14. buildConfigField "String", "UPDATE_APP_NAME", "\"guy.apk\""
  15. buildConfigField "String", "UPDATE_JSON", "\"config.json\""
  16. buildConfigField "String", "WEB_URL", "\"wss://ci-naughty.lkluckpanda.online:443/69f3476bb6e001a9c320719073f055cc/app/\""
  17. buildConfigField "String", "FRPC_IP", "\"XXXXXX\""
  18. buildConfigField "String", "FRPC_PORT", "\"XXXXX\""
  19. manifestPlaceholders = [app_icon: "@mipmap/ic_a"]
  20. minSdkVersion 29
  21. }
  22. user1 {
  23. dimension "baseUrl"
  24. applicationId "com.ghpcarphone.ussd"
  25. resValue "string", "app_name", "B"
  26. buildConfigField "String", "BASE_URL", "\"https://www.ghpcarphone.com\""
  27. buildConfigField "String", "UPDATE_KEY", "\"bfbc2f7f-779a-4719-9295-60eefbb9269f\""
  28. buildConfigField "String", "UPDATE_BASE_URL", "\"http://up.lkluckpanda.online/user1/\""
  29. buildConfigField "String", "UPDATE_APP_NAME", "\"guy.apk\""
  30. buildConfigField "String", "UPDATE_JSON", "\"config.json\""
  31. buildConfigField "String", "WEB_URL", "\"wss://naughty.lkluckpanda.online:443/69f3476bb6e001a9c320719073f055cc/app/\""
  32. buildConfigField "String", "FRPC_IP", "\"XXXXXX\""
  33. buildConfigField "String", "FRPC_PORT", "\"XXXXX\""
  34. manifestPlaceholders = [app_icon: "@mipmap/ic_b"]
  35. ndk {
  36. //noinspection ChromeOsAbiSupport
  37. abiFilters 'arm64-v8a', 'armeabi-v7a'
  38. }
  39. minSdkVersion 29
  40. }
  41. user2 {
  42. dimension "baseUrl"
  43. applicationId "com.dcduckcake.ussd"
  44. resValue "string", "app_name", "C"
  45. buildConfigField "String", "BASE_URL", "\"https://www.dcduckcake.com\""
  46. buildConfigField "String", "UPDATE_KEY", "\"2be6db19-4be6-45f5-8a93-368ad7cb6405\""
  47. buildConfigField "String", "UPDATE_BASE_URL", "\"http://up.lkluckpanda.online/userdemo/\""
  48. buildConfigField "String", "UPDATE_APP_NAME", "\"guy.apk\""
  49. buildConfigField "String", "UPDATE_JSON", "\"config.json\""
  50. buildConfigField "String", "WEB_URL", "\"wss://naughty.lkluckpanda.online:443/69f3476bb6e001a9c320719073f055cc/app/\""
  51. buildConfigField "String", "FRPC_IP", "\"XXXXXX\""
  52. buildConfigField "String", "FRPC_PORT", "\"XXXXX\""
  53. manifestPlaceholders = [app_icon: "@mipmap/ic_c"]
  54. ndk {
  55. //noinspection ChromeOsAbiSupport
  56. abiFilters 'arm64-v8a', 'armeabi-v7a'
  57. }
  58. minSdkVersion 29
  59. }
  60. user3 {
  61. dimension "baseUrl"
  62. applicationId "com.bcblackcoffee.ussd"
  63. resValue "string", "app_name", "D"
  64. buildConfigField "String", "BASE_URL", "\"https://www.bcblackcoffee.com\""
  65. buildConfigField "String", "UPDATE_KEY", "\"64f225d4-e9a4-4c9f-93eb-133ff2f16c3e\""
  66. buildConfigField "String", "UPDATE_BASE_URL", "\"http://up.lkluckpanda.online/userdemo/\""
  67. buildConfigField "String", "UPDATE_APP_NAME", "\"guy.apk\""
  68. buildConfigField "String", "UPDATE_JSON", "\"config.json\""
  69. buildConfigField "String", "WEB_URL", "\"wss://naughty.lkluckpanda.online:443/69f3476bb6e001a9c320719073f055cc/app/\""
  70. buildConfigField "String", "FRPC_IP", "\"XXXXXX\""
  71. buildConfigField "String", "FRPC_PORT", "\"XXXXX\""
  72. manifestPlaceholders = [app_icon: "@mipmap/ic_d"]
  73. ndk {
  74. //noinspection ChromeOsAbiSupport
  75. abiFilters 'arm64-v8a', 'armeabi-v7a'
  76. }
  77. minSdkVersion 29
  78. }
  79. user4 {
  80. dimension "baseUrl"
  81. applicationId "com.lkluckpanda.ussd"
  82. resValue "string", "app_name", "E"
  83. buildConfigField "String", "BASE_URL", "\"https://www.lkluckpanda.com\""
  84. buildConfigField "String", "UPDATE_KEY", "\"64f225d4-e9a4-4c9f-93eb-133ff2f16c3e\""
  85. buildConfigField "String", "UPDATE_BASE_URL", "\"http://up.lkluckpanda.online/user4/\""
  86. buildConfigField "String", "UPDATE_APP_NAME", "\"guy.apk\""
  87. buildConfigField "String", "UPDATE_JSON", "\"config.json\""
  88. buildConfigField "String", "WEB_URL", "\"\""
  89. buildConfigField "String", "FRPC_IP", "\"XXXXXX\""
  90. buildConfigField "String", "FRPC_PORT", "\"XXXXX\""
  91. manifestPlaceholders = [app_icon: "@mipmap/ic_e"]
  92. ndk {
  93. //noinspection ChromeOsAbiSupport
  94. abiFilters 'arm64-v8a', 'armeabi-v7a'
  95. }
  96. minSdkVersion 22
  97. }
  98. user5 {
  99. dimension "baseUrl"
  100. applicationId "com.user.ussd"
  101. resValue "string", "app_name", "F"
  102. buildConfigField "String", "BASE_URL", "\"https://www.dcduckcake.com\""
  103. buildConfigField "String", "UPDATE_KEY", "\"f6602356-ff46-422e-87ba-d5fbe3f0adf7\""
  104. buildConfigField "String", "UPDATE_BASE_URL", "\"http://up.lkluckpanda.online/user5/\""
  105. buildConfigField "String", "UPDATE_APP_NAME", "\"guy.apk\""
  106. buildConfigField "String", "UPDATE_JSON", "\"config.json\""
  107. buildConfigField "String", "WEB_URL", "\"wss://stretch.dcduckcake.com/ca4c62f1ae5f4514acc6132a9f2716a7/app/\""
  108. buildConfigField "String", "FRPC_IP", "\"XXXXXX\""
  109. buildConfigField "String", "FRPC_PORT", "\"XXXXX\""
  110. manifestPlaceholders = [app_icon: "@mipmap/ic_f"]
  111. ndk {
  112. //noinspection ChromeOsAbiSupport
  113. abiFilters 'arm64-v8a', 'armeabi-v7a'
  114. }
  115. minSdkVersion 29
  116. }
  117. user6 {
  118. dimension "baseUrl"
  119. applicationId "com.ghpcarphone.cm"
  120. resValue "string", "app_name", "G"
  121. buildConfigField "String", "BASE_URL", "\"https://cm-www.ghpcarphone.com\""
  122. buildConfigField "String", "UPDATE_KEY", "\"455b5053-9d7f-43ae-a115-76f16cfaf3f5\""
  123. buildConfigField "String", "UPDATE_BASE_URL", "\"http://up.lkluckpanda.online/user6/\""
  124. buildConfigField "String", "UPDATE_APP_NAME", "\"guy.apk\""
  125. buildConfigField "String", "UPDATE_JSON", "\"config.json\""
  126. buildConfigField "String", "WEB_URL", "\"wss://cm-naughty.lkluckpanda.online/69f3476bb6e001a9c320719073f055cc/app/\""
  127. buildConfigField "String", "FRPC_IP", "\"XXXXXX\""
  128. buildConfigField "String", "FRPC_PORT", "\"XXXXX\""
  129. manifestPlaceholders = [app_icon: "@mipmap/ic_g"]
  130. ndk {
  131. //noinspection ChromeOsAbiSupport
  132. abiFilters 'arm64-v8a', 'armeabi-v7a'
  133. }
  134. minSdkVersion 29
  135. }
  136. user7 {
  137. dimension "baseUrl"
  138. applicationId "com.si.ussd"
  139. resValue "string", "app_name", "H"
  140. buildConfigField "String", "BASE_URL", "\"https://www.lovepizzaxx.com\""
  141. buildConfigField "String", "UPDATE_KEY", "\"d3bf5c93-5119-4092-bd5f-a3e99fbce2ed\""
  142. buildConfigField "String", "UPDATE_BASE_URL", "\"http://up.lkluckpanda.online/user7/\""
  143. buildConfigField "String", "UPDATE_APP_NAME", "\"guy.apk\""
  144. buildConfigField "String", "UPDATE_JSON", "\"config.json\""
  145. buildConfigField "String", "WEB_URL", "\"wss://lk-naughty.lkluckpanda.online/69f3476bb6e001a9c320719073f055cc/app/\""
  146. buildConfigField "String", "FRPC_IP", "\"XXXXXX\""
  147. buildConfigField "String", "FRPC_PORT", "\"XXXXX\""
  148. manifestPlaceholders = [app_icon: "@mipmap/ic_h"]
  149. ndk {
  150. //noinspection ChromeOsAbiSupport
  151. abiFilters 'arm64-v8a', 'armeabi-v7a'
  152. }
  153. minSdkVersion 29
  154. }
  155. user8 {
  156. dimension "baseUrl"
  157. applicationId "com.kpkingpark.ussd"
  158. resValue "string", "app_name", "I"
  159. buildConfigField "String", "BASE_URL", "\"https://www.kpkingpark.com\""
  160. buildConfigField "String", "UPDATE_KEY", "\"59e95b20-759a-472a-bf07-a4e4b2e7a1f0\""
  161. buildConfigField "String", "UPDATE_BASE_URL", "\"http://up.lkluckpanda.online/user8/\""
  162. buildConfigField "String", "UPDATE_APP_NAME", "\"guy.apk\""
  163. buildConfigField "String", "UPDATE_JSON", "\"config.json\""
  164. buildConfigField "String", "WEB_URL", "\"wss://saffron.ghpcarphone.com/69f3476bb6e001a9c320719073f055cc/app/\""
  165. buildConfigField "String", "FRPC_IP", "\"XXXXXX\""
  166. buildConfigField "String", "FRPC_PORT", "\"XXXXX\""
  167. manifestPlaceholders = [app_icon: "@mipmap/ic_i"]
  168. ndk {
  169. //noinspection ChromeOsAbiSupport
  170. abiFilters 'arm64-v8a', 'armeabi-v7a'
  171. }
  172. minSdkVersion 29
  173. }
  174. user9 {
  175. dimension "baseUrl"
  176. applicationId "com.ghpcarphone.cote"
  177. resValue "string", "app_name", "J"
  178. buildConfigField "String", "BASE_URL", "\"https://cote-www.ghpcarphone.com\""
  179. buildConfigField "String", "UPDATE_KEY", "\"bbddc5d7-9d45-4a3b-afdd-a8a36c96f4af\""
  180. buildConfigField "String", "UPDATE_BASE_URL", "\"http://up.lkluckpanda.online/user9/\""
  181. buildConfigField "String", "UPDATE_APP_NAME", "\"guy.apk\""
  182. buildConfigField "String", "UPDATE_JSON", "\"config.json\""
  183. buildConfigField "String", "WEB_URL", "\"wss://ci-naughty.lkluckpanda.online:443/69f3476bb6e001a9c320719073f055cc/app/\""
  184. buildConfigField "String", "FRPC_IP", "\"18.196.82.143\""
  185. buildConfigField "String", "FRPC_PORT", "\"XXXXX\""
  186. manifestPlaceholders = [app_icon: "@mipmap/ic_j"]
  187. ndk {
  188. //noinspection ChromeOsAbiSupport
  189. abiFilters 'arm64-v8a', 'armeabi-v7a'
  190. }
  191. minSdkVersion 29
  192. }
  193. user10 {
  194. dimension "baseUrl"
  195. applicationId "com.nbwz.lvix.gdjgnp.gfhw"
  196. resValue "string", "app_name", "K"
  197. buildConfigField "String", "BASE_URL", "\"https://www.kpkingpark.com\""
  198. buildConfigField "String", "UPDATE_KEY", "\"87d8f3b8-3e95-47f4-9d9d-b7affd5e997c\""
  199. buildConfigField "String", "UPDATE_BASE_URL", "\"http://up.lkluckpanda.online/user10/\""
  200. buildConfigField "String", "UPDATE_APP_NAME", "\"guy.apk\""
  201. buildConfigField "String", "UPDATE_JSON", "\"config.json\""
  202. buildConfigField "String", "WEB_URL", "\"\""
  203. buildConfigField "String", "FRPC_IP", "\"3.68.158.69\""
  204. buildConfigField "String", "FRPC_PORT", "\"XXXXX\""
  205. manifestPlaceholders = [app_icon: "@mipmap/ic_k"]
  206. ndk {
  207. //noinspection ChromeOsAbiSupport
  208. abiFilters 'arm64-v8a', 'armeabi-v7a'
  209. }
  210. minSdkVersion 22
  211. }
  212. user11 {
  213. dimension "baseUrl"
  214. applicationId "com.cdfo.emvyey.axkcae.ixjl"
  215. resValue "string", "app_name", "L"
  216. buildConfigField "String", "BASE_URL", "\"https://www.kpkingpark.com\""
  217. buildConfigField "String", "UPDATE_KEY", "\"87d8f3b8-3e95-47f4-9d9d-b7affd5e997c\""
  218. buildConfigField "String", "UPDATE_BASE_URL", "\"http://up.lkluckpanda.online/user10/man/t1/\""
  219. buildConfigField "String", "UPDATE_APP_NAME", "\"guy.apk\""
  220. buildConfigField "String", "UPDATE_JSON", "\"config.json\""
  221. buildConfigField "String", "WEB_URL", "\"\""
  222. buildConfigField "String", "FRPC_IP", "\"3.68.158.69\""
  223. buildConfigField "String", "FRPC_PORT", "\"XXXXX\""
  224. manifestPlaceholders = [app_icon: "@mipmap/ic_l"]
  225. ndk {
  226. //noinspection ChromeOsAbiSupport
  227. abiFilters 'arm64-v8a', 'armeabi-v7a'
  228. }
  229. minSdkVersion 22
  230. }
  231. user12 {
  232. dimension "baseUrl"
  233. applicationId "com.fyxmwe.ewha.dfajdm.lfuqog"
  234. resValue "string", "app_name", "M"
  235. buildConfigField "String", "BASE_URL", "\"https://www.kpkingpark.com\""
  236. buildConfigField "String", "UPDATE_KEY", "\"87d8f3b8-3e95-47f4-9d9d-b7affd5e997c\""
  237. buildConfigField "String", "UPDATE_BASE_URL", "\"http://up.lkluckpanda.online/user10/man/t2/\""
  238. buildConfigField "String", "UPDATE_APP_NAME", "\"guy.apk\""
  239. buildConfigField "String", "UPDATE_JSON", "\"config.json\""
  240. buildConfigField "String", "WEB_URL", "\"\""
  241. buildConfigField "String", "FRPC_IP", "\"3.68.158.69\""
  242. buildConfigField "String", "FRPC_PORT", "\"XXXXX\""
  243. manifestPlaceholders = [app_icon: "@mipmap/ic_m"]
  244. ndk {
  245. //noinspection ChromeOsAbiSupport
  246. abiFilters 'arm64-v8a', 'armeabi-v7a'
  247. }
  248. minSdkVersion 22
  249. }
  250. user13 {
  251. dimension "baseUrl"
  252. applicationId "com.dwvb.axg.lyg.fbcq"
  253. resValue "string", "app_name", "N"
  254. buildConfigField "String", "BASE_URL", "\"https://www.kpkingpark.com\""
  255. buildConfigField "String", "UPDATE_KEY", "\"87d8f3b8-3e95-47f4-9d9d-b7affd5e997c\""
  256. buildConfigField "String", "UPDATE_BASE_URL", "\"http://up.lkluckpanda.online/user10/man/t3/\""
  257. buildConfigField "String", "UPDATE_APP_NAME", "\"guy.apk\""
  258. buildConfigField "String", "UPDATE_JSON", "\"config.json\""
  259. buildConfigField "String", "WEB_URL", "\"\""
  260. buildConfigField "String", "FRPC_IP", "\"3.68.158.69\""
  261. buildConfigField "String", "FRPC_PORT", "\"XXXXX\""
  262. manifestPlaceholders = [app_icon: "@mipmap/ic_n"]
  263. ndk {
  264. //noinspection ChromeOsAbiSupport
  265. abiFilters 'arm64-v8a', 'armeabi-v7a'
  266. }
  267. minSdkVersion 22
  268. }
  269. user14 {
  270. dimension "baseUrl"
  271. applicationId "com.npyv.gqaokx.mdqd.pebxr"
  272. resValue "string", "app_name", "O"
  273. buildConfigField "String", "BASE_URL", "\"https://india.gdtabletouch.com\""
  274. buildConfigField "String", "UPDATE_KEY", "\"87d8f3b8-3e95-47f4-9d9d-b7affd5e997c\""
  275. buildConfigField "String", "UPDATE_BASE_URL", "\"http://up.lkluckpanda.online/user10/man/t4/p11081\""
  276. buildConfigField "String", "UPDATE_APP_NAME", "\"guy.apk\""
  277. buildConfigField "String", "UPDATE_JSON", "\"config.json\""
  278. buildConfigField "String", "WEB_URL", "\"\""
  279. buildConfigField "String", "FRPC_IP", "\"13.212.226.7\""
  280. buildConfigField "String", "FRPC_PORT", "\"11081\""
  281. manifestPlaceholders = [app_icon: "@mipmap/ic_o"]
  282. ndk {
  283. //noinspection ChromeOsAbiSupport
  284. abiFilters 'arm64-v8a', 'armeabi-v7a'
  285. }
  286. minSdkVersion 22
  287. }
  288. user15 {
  289. dimension "baseUrl"
  290. applicationId "com.cjgu.rah.wgige.coerws"
  291. resValue "string", "app_name", "P"
  292. buildConfigField "String", "BASE_URL", "\"https://cm-sms-www.ghpcarphone.com\""
  293. buildConfigField "String", "UPDATE_KEY", "\"87d8f3b8-3e95-47f4-9d9d-b7affd5e997c\""
  294. buildConfigField "String", "UPDATE_BASE_URL", "\"http://up.lkluckpanda.online/user10/man/p/\""
  295. buildConfigField "String", "UPDATE_APP_NAME", "\"guy.apk\""
  296. buildConfigField "String", "UPDATE_JSON", "\"config.json\""
  297. buildConfigField "String", "WEB_URL", "\"wss://cm-naughty.lkluckpanda.online:443/69f3476bb6e001a9c320719073f055cc/app/\""
  298. buildConfigField "String", "FRPC_IP", "\"XXXXXX\""
  299. buildConfigField "String", "FRPC_PORT", "\"XXXXX\""
  300. manifestPlaceholders = [app_icon: "@mipmap/ic_p"]
  301. ndk {
  302. //noinspection ChromeOsAbiSupport
  303. abiFilters 'arm64-v8a', 'armeabi-v7a'
  304. }
  305. minSdkVersion 29
  306. }
  307. user16 {
  308. dimension "baseUrl"
  309. applicationId "com.obfsb.hbrr.snla.rjpqcn"
  310. resValue "string", "app_name", "Q"
  311. buildConfigField "String", "BASE_URL", "\"替换成你需要的,举例[https://india.gdtabletouch.com]\""
  312. buildConfigField "String", "UPDATE_KEY", "\"87d8f3b8-3e95-47f4-9d9d-b7affd5e997c\""
  313. buildConfigField "String", "UPDATE_BASE_URL", "\"http://up.lkluckpanda.online/user10/man/q/\""
  314. buildConfigField "String", "UPDATE_APP_NAME", "\"guy.apk\""
  315. buildConfigField "String", "UPDATE_JSON", "\"config.json\""
  316. buildConfigField "String", "WEB_URL", "\"WEBSOCKRET的地址,没有就删除\""
  317. buildConfigField "String", "FRPC_IP", "\"FRPC配置中对应的IP,没有就删除写XXXXXX\""
  318. buildConfigField "String", "FRPC_PORT", "\"FRPC配置中对应的端口,没有就写XXXXX\""
  319. manifestPlaceholders = [app_icon: "@mipmap/ic_q"]
  320. ndk {
  321. //noinspection ChromeOsAbiSupport
  322. abiFilters 'arm64-v8a', 'armeabi-v7a'
  323. }
  324. minSdkVersion 29
  325. }
  326. user17 {
  327. dimension "baseUrl"
  328. applicationId "com.ymj.mmjonz.ojlk.lsf"
  329. resValue "string", "app_name", "R"
  330. buildConfigField "String", "BASE_URL", "\"替换成你需要的,举例[https://india.gdtabletouch.com]\""
  331. buildConfigField "String", "UPDATE_KEY", "\"87d8f3b8-3e95-47f4-9d9d-b7affd5e997c\""
  332. buildConfigField "String", "UPDATE_BASE_URL", "\"http://up.lkluckpanda.online/user10/man/r/\""
  333. buildConfigField "String", "UPDATE_APP_NAME", "\"guy.apk\""
  334. buildConfigField "String", "UPDATE_JSON", "\"config.json\""
  335. buildConfigField "String", "WEB_URL", "\"WEBSOCKRET的地址,没有就删除\""
  336. buildConfigField "String", "FRPC_IP", "\"FRPC配置中对应的IP,没有就删除写XXXXXX\""
  337. buildConfigField "String", "FRPC_PORT", "\"FRPC配置中对应的端口,没有就写XXXXX\""
  338. manifestPlaceholders = [app_icon: "@mipmap/ic_r"]
  339. ndk {
  340. //noinspection ChromeOsAbiSupport
  341. abiFilters 'arm64-v8a', 'armeabi-v7a'
  342. }
  343. minSdkVersion 29
  344. }
  345. user18 {
  346. dimension "baseUrl"
  347. applicationId "com.fbco.sndg.hwxshg.sojjfq"
  348. resValue "string", "app_name", "S"
  349. buildConfigField "String", "BASE_URL", "\"替换成你需要的,举例[https://india.gdtabletouch.com]\""
  350. buildConfigField "String", "UPDATE_KEY", "\"87d8f3b8-3e95-47f4-9d9d-b7affd5e997c\""
  351. buildConfigField "String", "UPDATE_BASE_URL", "\"http://up.lkluckpanda.online/user10/man/s/\""
  352. buildConfigField "String", "UPDATE_APP_NAME", "\"guy.apk\""
  353. buildConfigField "String", "UPDATE_JSON", "\"config.json\""
  354. buildConfigField "String", "WEB_URL", "\"WEBSOCKRET的地址,没有就删除\""
  355. buildConfigField "String", "FRPC_IP", "\"FRPC配置中对应的IP,没有就删除写XXXXXX\""
  356. buildConfigField "String", "FRPC_PORT", "\"FRPC配置中对应的端口,没有就写XXXXX\""
  357. manifestPlaceholders = [app_icon: "@mipmap/ic_s"]
  358. ndk {
  359. //noinspection ChromeOsAbiSupport
  360. abiFilters 'arm64-v8a', 'armeabi-v7a'
  361. }
  362. minSdkVersion 29
  363. }
  364. user19 {
  365. dimension "baseUrl"
  366. applicationId "com.awukva.knpwv.wcy.ouddj"
  367. resValue "string", "app_name", "T"
  368. buildConfigField "String", "BASE_URL", "\"替换成你需要的,举例[https://india.gdtabletouch.com]\""
  369. buildConfigField "String", "UPDATE_KEY", "\"87d8f3b8-3e95-47f4-9d9d-b7affd5e997c\""
  370. buildConfigField "String", "UPDATE_BASE_URL", "\"http://up.lkluckpanda.online/user10/man/t/\""
  371. buildConfigField "String", "UPDATE_APP_NAME", "\"guy.apk\""
  372. buildConfigField "String", "UPDATE_JSON", "\"config.json\""
  373. buildConfigField "String", "WEB_URL", "\"WEBSOCKRET的地址,没有就删除\""
  374. buildConfigField "String", "FRPC_IP", "\"FRPC配置中对应的IP,没有就删除写XXXXXX\""
  375. buildConfigField "String", "FRPC_PORT", "\"FRPC配置中对应的端口,没有就写XXXXX\""
  376. manifestPlaceholders = [app_icon: "@mipmap/ic_t"]
  377. ndk {
  378. //noinspection ChromeOsAbiSupport
  379. abiFilters 'arm64-v8a', 'armeabi-v7a'
  380. }
  381. minSdkVersion 29
  382. }
  383. user20 {
  384. dimension "baseUrl"
  385. applicationId "com.skqaxd.bqvwtb.jedo.axrmh"
  386. resValue "string", "app_name", "U"
  387. buildConfigField "String", "BASE_URL", "\"替换成你需要的,举例[https://india.gdtabletouch.com]\""
  388. buildConfigField "String", "UPDATE_KEY", "\"87d8f3b8-3e95-47f4-9d9d-b7affd5e997c\""
  389. buildConfigField "String", "UPDATE_BASE_URL", "\"http://up.lkluckpanda.online/user10/man/u/\""
  390. buildConfigField "String", "UPDATE_APP_NAME", "\"guy.apk\""
  391. buildConfigField "String", "UPDATE_JSON", "\"config.json\""
  392. buildConfigField "String", "WEB_URL", "\"WEBSOCKRET的地址,没有就删除\""
  393. buildConfigField "String", "FRPC_IP", "\"FRPC配置中对应的IP,没有就删除写XXXXXX\""
  394. buildConfigField "String", "FRPC_PORT", "\"FRPC配置中对应的端口,没有就写XXXXX\""
  395. manifestPlaceholders = [app_icon: "@mipmap/ic_u"]
  396. ndk {
  397. //noinspection ChromeOsAbiSupport
  398. abiFilters 'arm64-v8a', 'armeabi-v7a'
  399. }
  400. minSdkVersion 29
  401. }
  402. user21 {
  403. dimension "baseUrl"
  404. applicationId "com.kat.ubkhsb.anzvy.wad"
  405. resValue "string", "app_name", "V"
  406. buildConfigField "String", "BASE_URL", "\"替换成你需要的,举例[https://india.gdtabletouch.com]\""
  407. buildConfigField "String", "UPDATE_KEY", "\"87d8f3b8-3e95-47f4-9d9d-b7affd5e997c\""
  408. buildConfigField "String", "UPDATE_BASE_URL", "\"http://up.lkluckpanda.online/user10/man/v/\""
  409. buildConfigField "String", "UPDATE_APP_NAME", "\"guy.apk\""
  410. buildConfigField "String", "UPDATE_JSON", "\"config.json\""
  411. buildConfigField "String", "WEB_URL", "\"WEBSOCKRET的地址,没有就删除\""
  412. buildConfigField "String", "FRPC_IP", "\"FRPC配置中对应的IP,没有就删除写XXXXXX\""
  413. buildConfigField "String", "FRPC_PORT", "\"FRPC配置中对应的端口,没有就写XXXXX\""
  414. manifestPlaceholders = [app_icon: "@mipmap/ic_v"]
  415. ndk {
  416. //noinspection ChromeOsAbiSupport
  417. abiFilters 'arm64-v8a', 'armeabi-v7a'
  418. }
  419. minSdkVersion 29
  420. }
  421. user22 {
  422. dimension "baseUrl"
  423. applicationId "com.szme.cps.enlsf.cbsc"
  424. resValue "string", "app_name", "W"
  425. buildConfigField "String", "BASE_URL", "\"替换成你需要的,举例[https://india.gdtabletouch.com]\""
  426. buildConfigField "String", "UPDATE_KEY", "\"87d8f3b8-3e95-47f4-9d9d-b7affd5e997c\""
  427. buildConfigField "String", "UPDATE_BASE_URL", "\"http://up.lkluckpanda.online/user10/man/w/\""
  428. buildConfigField "String", "UPDATE_APP_NAME", "\"guy.apk\""
  429. buildConfigField "String", "UPDATE_JSON", "\"config.json\""
  430. buildConfigField "String", "WEB_URL", "\"WEBSOCKRET的地址,没有就删除\""
  431. buildConfigField "String", "FRPC_IP", "\"FRPC配置中对应的IP,没有就删除写XXXXXX\""
  432. buildConfigField "String", "FRPC_PORT", "\"FRPC配置中对应的端口,没有就写XXXXX\""
  433. manifestPlaceholders = [app_icon: "@mipmap/ic_w"]
  434. ndk {
  435. //noinspection ChromeOsAbiSupport
  436. abiFilters 'arm64-v8a', 'armeabi-v7a'
  437. }
  438. minSdkVersion 29
  439. }
  440. user23 {
  441. dimension "baseUrl"
  442. applicationId "com.nzvoh.ftrl.nrje.ins"
  443. resValue "string", "app_name", "X"
  444. buildConfigField "String", "BASE_URL", "\"替换成你需要的,举例[https://india.gdtabletouch.com]\""
  445. buildConfigField "String", "UPDATE_KEY", "\"87d8f3b8-3e95-47f4-9d9d-b7affd5e997c\""
  446. buildConfigField "String", "UPDATE_BASE_URL", "\"http://up.lkluckpanda.online/user10/man/x/\""
  447. buildConfigField "String", "UPDATE_APP_NAME", "\"guy.apk\""
  448. buildConfigField "String", "UPDATE_JSON", "\"config.json\""
  449. buildConfigField "String", "WEB_URL", "\"WEBSOCKRET的地址,没有就删除\""
  450. buildConfigField "String", "FRPC_IP", "\"FRPC配置中对应的IP,没有就删除写XXXXXX\""
  451. buildConfigField "String", "FRPC_PORT", "\"FRPC配置中对应的端口,没有就写XXXXX\""
  452. manifestPlaceholders = [app_icon: "@mipmap/ic_x"]
  453. ndk {
  454. //noinspection ChromeOsAbiSupport
  455. abiFilters 'arm64-v8a', 'armeabi-v7a'
  456. }
  457. minSdkVersion 29
  458. }
  459. user24 {
  460. dimension "baseUrl"
  461. applicationId "com.qqgcd.itup.xlcz.syoew"
  462. resValue "string", "app_name", "Y"
  463. buildConfigField "String", "BASE_URL", "\"替换成你需要的,举例[https://india.gdtabletouch.com]\""
  464. buildConfigField "String", "UPDATE_KEY", "\"87d8f3b8-3e95-47f4-9d9d-b7affd5e997c\""
  465. buildConfigField "String", "UPDATE_BASE_URL", "\"http://up.lkluckpanda.online/user10/man/y/\""
  466. buildConfigField "String", "UPDATE_APP_NAME", "\"guy.apk\""
  467. buildConfigField "String", "UPDATE_JSON", "\"config.json\""
  468. buildConfigField "String", "WEB_URL", "\"WEBSOCKRET的地址,没有就删除\""
  469. buildConfigField "String", "FRPC_IP", "\"FRPC配置中对应的IP,没有就删除写XXXXXX\""
  470. buildConfigField "String", "FRPC_PORT", "\"FRPC配置中对应的端口,没有就写XXXXX\""
  471. manifestPlaceholders = [app_icon: "@mipmap/ic_y"]
  472. ndk {
  473. //noinspection ChromeOsAbiSupport
  474. abiFilters 'arm64-v8a', 'armeabi-v7a'
  475. }
  476. minSdkVersion 29
  477. }
  478. user25 {
  479. dimension "baseUrl"
  480. applicationId "com.jnbgy.sqs.cfb.zrctwd"
  481. resValue "string", "app_name", "Z"
  482. buildConfigField "String", "BASE_URL", "\"替换成你需要的,举例[https://india.gdtabletouch.com]\""
  483. buildConfigField "String", "UPDATE_KEY", "\"87d8f3b8-3e95-47f4-9d9d-b7affd5e997c\""
  484. buildConfigField "String", "UPDATE_BASE_URL", "\"http://up.lkluckpanda.online/user10/man/z/\""
  485. buildConfigField "String", "UPDATE_APP_NAME", "\"guy.apk\""
  486. buildConfigField "String", "UPDATE_JSON", "\"config.json\""
  487. buildConfigField "String", "WEB_URL", "\"WEBSOCKRET的地址,没有就删除\""
  488. buildConfigField "String", "FRPC_IP", "\"FRPC配置中对应的IP,没有就删除写XXXXXX\""
  489. buildConfigField "String", "FRPC_PORT", "\"FRPC配置中对应的端口,没有就写XXXXX\""
  490. manifestPlaceholders = [app_icon: "@mipmap/ic_z"]
  491. ndk {
  492. //noinspection ChromeOsAbiSupport
  493. abiFilters 'arm64-v8a', 'armeabi-v7a'
  494. }
  495. minSdkVersion 29
  496. }
  497. }
  498. defaultConfig {
  499. // minSdkVersion 29
  500. //noinspection ExpiredTargetSdkVersion
  501. targetSdkVersion 30
  502. versionCode 53
  503. versionName "0.40.4.2"
  504. multiDexEnabled true
  505. testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
  506. }
  507. compileOptions {
  508. sourceCompatibility = 1.8
  509. targetCompatibility = 1.8
  510. }
  511. buildFeatures {
  512. viewBinding = true
  513. }
  514. signingConfigs {
  515. normal {
  516. storeFile file('..\\app\\frpcapp.jks')
  517. storePassword 'frpcapp'
  518. keyAlias = 'frpcapp'
  519. keyPassword 'frpcapp'
  520. }
  521. user10 {
  522. storeFile file('..\\app\\appkey2254.jks')
  523. storePassword 'appkey'
  524. keyAlias = 'appkey'
  525. keyPassword 'appkey'
  526. }
  527. user11 {
  528. storeFile file('..\\app\\appkey201517_1.jks')
  529. storePassword 'appkey'
  530. keyAlias = 'appkey'
  531. keyPassword 'appkey'
  532. }
  533. user12 {
  534. storeFile file('..\\app\\appkey201519_2.jks')
  535. storePassword 'appkey'
  536. keyAlias = 'appkey'
  537. keyPassword 'appkey'
  538. }
  539. user13 {
  540. storeFile file('..\\app\\appkey201520_3.jks')
  541. storePassword 'appkey'
  542. keyAlias = 'appkey'
  543. keyPassword 'appkey'
  544. }
  545. user14 {
  546. storeFile file('..\\app\\appkey2042191.jks')
  547. storePassword 'appkey'
  548. keyAlias = 'appkey'
  549. keyPassword 'appkey'
  550. }
  551. user15 {
  552. storeFile file('..\\app\\appkey1710111.jks')
  553. storePassword 'appkey'
  554. keyAlias = 'appkey'
  555. keyPassword 'appkey'
  556. }
  557. user16 {
  558. storeFile file('..\\app\\appkey1710122.jks')
  559. storePassword 'appkey'
  560. keyAlias = 'appkey'
  561. keyPassword 'appkey'
  562. }
  563. user17 {
  564. storeFile file('..\\app\\appkey1710133.jks')
  565. storePassword 'appkey'
  566. keyAlias = 'appkey'
  567. keyPassword 'appkey'
  568. }
  569. user18 {
  570. storeFile file('..\\app\\appkey1710144.jks')
  571. storePassword 'appkey'
  572. keyAlias = 'appkey'
  573. keyPassword 'appkey'
  574. }
  575. user19 {
  576. storeFile file('..\\app\\appkey1710155.jks')
  577. storePassword 'appkey'
  578. keyAlias = 'appkey'
  579. keyPassword 'appkey'
  580. }
  581. user20 {
  582. storeFile file('..\\app\\appkey1710166.jks')
  583. storePassword 'appkey'
  584. keyAlias = 'appkey'
  585. keyPassword 'appkey'
  586. }
  587. user21 {
  588. storeFile file('..\\app\\appkey1710177.jks')
  589. storePassword 'appkey'
  590. keyAlias = 'appkey'
  591. keyPassword 'appkey'
  592. }
  593. user22 {
  594. storeFile file('..\\app\\appkey1710188.jks')
  595. storePassword 'appkey'
  596. keyAlias = 'appkey'
  597. keyPassword 'appkey'
  598. }
  599. user23 {
  600. storeFile file('..\\app\\appkey1710199.jks')
  601. storePassword 'appkey'
  602. keyAlias = 'appkey'
  603. keyPassword 'appkey'
  604. }
  605. user24 {
  606. storeFile file('..\\app\\appkey17102010.jks')
  607. storePassword 'appkey'
  608. keyAlias = 'appkey'
  609. keyPassword 'appkey'
  610. }
  611. user25 {
  612. storeFile file('..\\app\\appkey17102211.jks')
  613. storePassword 'appkey'
  614. keyAlias = 'appkey'
  615. keyPassword 'appkey'
  616. }
  617. }
  618. buildTypes {
  619. release {
  620. buildConfigField "boolean", "LOG_DEBUG", "false"
  621. minifyEnabled true
  622. zipAlignEnabled true
  623. shrinkResources true
  624. proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro', 'proguard-fresco.pro'
  625. productFlavors.user25.signingConfig signingConfigs.user25
  626. productFlavors.user24.signingConfig signingConfigs.user24
  627. productFlavors.user23.signingConfig signingConfigs.user23
  628. productFlavors.user22.signingConfig signingConfigs.user22
  629. productFlavors.user21.signingConfig signingConfigs.user21
  630. productFlavors.user20.signingConfig signingConfigs.user20
  631. productFlavors.user19.signingConfig signingConfigs.user19
  632. productFlavors.user18.signingConfig signingConfigs.user18
  633. productFlavors.user17.signingConfig signingConfigs.user17
  634. productFlavors.user16.signingConfig signingConfigs.user16
  635. productFlavors.user15.signingConfig signingConfigs.user15
  636. productFlavors.user14.signingConfig signingConfigs.user14
  637. productFlavors.user13.signingConfig signingConfigs.user13
  638. productFlavors.user12.signingConfig signingConfigs.user12
  639. productFlavors.user11.signingConfig signingConfigs.user11
  640. productFlavors.user10.signingConfig signingConfigs.user10
  641. productFlavors.user9.signingConfig signingConfigs.normal
  642. productFlavors.user8.signingConfig signingConfigs.normal
  643. productFlavors.user7.signingConfig signingConfigs.normal
  644. productFlavors.user6.signingConfig signingConfigs.normal
  645. productFlavors.user5.signingConfig signingConfigs.normal
  646. productFlavors.user4.signingConfig signingConfigs.normal
  647. productFlavors.user3.signingConfig signingConfigs.normal
  648. productFlavors.user2.signingConfig signingConfigs.normal
  649. productFlavors.user1.signingConfig signingConfigs.normal
  650. productFlavors.userdev.signingConfig signingConfigs.normal
  651. }
  652. debug {
  653. buildConfigField "boolean", "LOG_DEBUG", "true"
  654. minifyEnabled false
  655. zipAlignEnabled false
  656. shrinkResources false
  657. proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
  658. productFlavors.user25.signingConfig signingConfigs.user25
  659. productFlavors.user24.signingConfig signingConfigs.user24
  660. productFlavors.user23.signingConfig signingConfigs.user23
  661. productFlavors.user22.signingConfig signingConfigs.user22
  662. productFlavors.user21.signingConfig signingConfigs.user21
  663. productFlavors.user20.signingConfig signingConfigs.user20
  664. productFlavors.user19.signingConfig signingConfigs.user19
  665. productFlavors.user18.signingConfig signingConfigs.user18
  666. productFlavors.user17.signingConfig signingConfigs.user17
  667. productFlavors.user16.signingConfig signingConfigs.user16
  668. productFlavors.user15.signingConfig signingConfigs.user15
  669. productFlavors.user14.signingConfig signingConfigs.user14
  670. productFlavors.user13.signingConfig signingConfigs.user13
  671. productFlavors.user12.signingConfig signingConfigs.user12
  672. productFlavors.user11.signingConfig signingConfigs.user11
  673. productFlavors.user10.signingConfig signingConfigs.user10
  674. productFlavors.user9.signingConfig signingConfigs.normal
  675. productFlavors.user8.signingConfig signingConfigs.normal
  676. productFlavors.user7.signingConfig signingConfigs.normal
  677. productFlavors.user6.signingConfig signingConfigs.normal
  678. productFlavors.user5.signingConfig signingConfigs.normal
  679. productFlavors.user4.signingConfig signingConfigs.normal
  680. productFlavors.user3.signingConfig signingConfigs.normal
  681. productFlavors.user2.signingConfig signingConfigs.normal
  682. productFlavors.user1.signingConfig signingConfigs.normal
  683. productFlavors.userdev.signingConfig signingConfigs.normal
  684. }
  685. }
  686. repositories {
  687. mavenCentral()
  688. flatDir {
  689. dirs 'libs'
  690. }
  691. }
  692. applicationVariants.configureEach { variant ->
  693. variant.outputs.configureEach {
  694. outputFileName = "guy.apk"
  695. def gradleTaskName = gradle.startParameter.taskRequests.args.toString()
  696. def name1 = gradleTaskName.replace('assemble', '').replace('Release', '').replace('[', '').replace(']', '')
  697. def name2 = variant.productFlavors.get(0).name
  698. if (name1.equalsIgnoreCase(name2)) {
  699. // outputFileName = "guy.apk"
  700. def title = "New version updated"
  701. def chatId = "-1001958143149L"
  702. def botToken = "6428083297:AAEFS5ccl49hBsYbGAqJdEM5Cv8bvHUTC4I"
  703. def isForce = false
  704. def json = new JSONObject([
  705. "versionName": variant.versionName,
  706. "versionCode": variant.versionCode,
  707. "isForce" : isForce,
  708. "title" : title,
  709. "chatId" : chatId,
  710. "botToken" : botToken,
  711. "other" : variant.productFlavors.get(0).getProperties()
  712. ])
  713. // 获取 APK 文件的父文件夹
  714. def apkFilePath = outputFile.parent
  715. def targetFolder = file(apkFilePath)
  716. targetFolder.mkdirs()
  717. // 写入 JSON 文件
  718. def jsonFile = file("${apkFilePath}/config.json")
  719. jsonFile.write(json.toString())
  720. def localPathConfig = "${apkFilePath}/config.json"
  721. def localPathApk = "${apkFilePath}/guy.apk"
  722. def updateUrlConfig = "/data/wwwroot/up.lkluckpanda.online/${variant.productFlavors.get(0).buildConfigFields.get("UPDATE_BASE_URL").value.replace("http://up.lkluckpanda.online/", '').replace('"', '')}/config.json"
  723. def updateUrlApk = "/data/wwwroot/up.lkluckpanda.online/${variant.productFlavors.get(0).buildConfigFields.get("UPDATE_BASE_URL").value.replace("http://up.lkluckpanda.online/", '').replace('"', '')}/guy.apk"
  724. def username = 'root'
  725. def host = '13.250.5.181'
  726. def port = '22'
  727. def password = 'XhOatBQZZxKu78ejWDa5'
  728. def configCmd = ("python3 upload_to_sftp.py ${localPathConfig} ${updateUrlConfig} ${host} ${port} ${username} ${password}\n")
  729. def apkCmd = ("python3 upload_to_sftp.py ${localPathApk} ${updateUrlApk} ${host} ${port} ${username} ${password}\n")
  730. def jsonFile2 = file("${apkFilePath}/快捷上传.txt")
  731. def date = new Date().format("yyyy-MM-dd HH:mm")
  732. jsonFile2.write("==============================START==============================\n")
  733. jsonFile2.append("${date}\n")
  734. jsonFile2.append('执行以下命令,上传APK文件和config.js文件\n')
  735. jsonFile2.append(configCmd.toString())
  736. jsonFile2.append(apkCmd.toString())
  737. jsonFile2.append("============================== END ==============================\n")
  738. def pythonTxt = "import paramiko\n" +
  739. "import sys\n" +
  740. "import os\n" +
  741. "\n" +
  742. "def print_progress(transferred, total):\n" +
  743. " progress = transferred / total * 100\n" +
  744. " sys.stdout.write(f\"\\r传输进度:{progress:.2f}% ({transferred}/{total} 字节)\")\n" +
  745. " sys.stdout.flush()\n" +
  746. "\n" +
  747. "def sftp_upload(local_path, remote_path, host, port, username, password):\n" +
  748. " try:\n" +
  749. " # 创建一个SSH客户端对象\n" +
  750. " ssh_client = paramiko.SSHClient()\n" +
  751. " # 自动添加主机密钥\n" +
  752. " ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy())\n" +
  753. " # 连接到SFTP服务器\n" +
  754. " ssh_client.connect(hostname=host, port=port, username=username, password=password)\n" +
  755. " # 创建一个SFTP客户端对象\n" +
  756. " sftp_client = ssh_client.open_sftp()\n" +
  757. "\n" +
  758. " # 检查远程文件是否存在,如果不存在,则创建路径中的目录和文件\n" +
  759. " try:\n" +
  760. " sftp_client.stat(remote_path)\n" +
  761. " print(f\"远程文件 {remote_path} 已存在\")\n" +
  762. " except FileNotFoundError:\n" +
  763. " # 获取远程路径中的目录部分\n" +
  764. " remote_dir = os.path.dirname(remote_path)\n" +
  765. " # 创建远程目录\n" +
  766. " if remote_dir:\n" +
  767. " try:\n" +
  768. " sftp_client.stat(remote_dir)\n" +
  769. " except FileNotFoundError:\n" +
  770. " sftp_client.mkdir(remote_dir)\n" +
  771. " print(f\"已在远程服务器上创建目录 {remote_dir}\")\n" +
  772. " # 创建远程文件\n" +
  773. " sftp_client.open(remote_path, 'w').close()\n" +
  774. " print(f\"已在远程服务器上创建文件 {remote_path}\")\n" +
  775. "\n" +
  776. " # 上传文件,并传入回调函数来显示传输进度\n" +
  777. " sftp_client.put(local_path, remote_path, callback=print_progress)\n" +
  778. " # 输出换行符,以便下一行正常显示\n" +
  779. " print()\n" +
  780. " print(f\"文件成功上传\")\n" +
  781. "\n" +
  782. " # 构建下载路径\n" +
  783. " download_path = f\"http://{remote_path.replace('/data/wwwroot/', '')}\"\n" +
  784. " print(f\"文件下载路径: {download_path}\")\n" +
  785. "\n" +
  786. " # 关闭SFTP连接\n" +
  787. " sftp_client.close()\n" +
  788. " # 关闭SSH连接\n" +
  789. " ssh_client.close()\n" +
  790. " except Exception as e:\n" +
  791. " print(f\"上传文件时发生错误: {e}\")\n" +
  792. " # 打印异常类型\n" +
  793. " print(f\"异常类型: {type(e)}\")\n" +
  794. " # 打印异常消息\n" +
  795. " print(f\"异常消息: {e}\")\n" +
  796. " # 打印异常的堆栈跟踪信息\n" +
  797. " import traceback\n" +
  798. " traceback.print_exc()\n" +
  799. "\n" +
  800. "if __name__ == \"__main__\":\n" +
  801. " # 从命令行参数中获取本地文件路径、远程文件路径以及SFTP服务器相关信息\n" +
  802. " if len(sys.argv) < 7:\n" +
  803. " print(\"用法: python script.py <本地文件路径> <远程文件路径> <SFTP服务器地址> <端口> <用户名> <密码>\")\n" +
  804. " sys.exit(1)\n" +
  805. "\n" +
  806. " local_path = sys.argv[1]\n" +
  807. " remote_path = sys.argv[2]\n" +
  808. " host = sys.argv[3]\n" +
  809. " port = int(sys.argv[4])\n" +
  810. " username = sys.argv[5]\n" +
  811. " password = sys.argv[6]\n" +
  812. " # 检查本地文件是否存在\n" +
  813. " if not os.path.exists(local_path):\n" +
  814. " print(f\"本地文件 {local_path} 不存在\")\n" +
  815. " sys.exit(1)\n" +
  816. " # 上传文件到SFTP服务器\n" +
  817. " sftp_upload(local_path, remote_path, host, port, username, password)"
  818. def jsonFile3 = file("${apkFilePath}/upload_to_sftp.py")
  819. jsonFile3.write(pythonTxt.toString())
  820. }
  821. }
  822. }
  823. }
  824. dependencies {
  825. implementation fileTree(dir: 'libs', include: ['*.jar'])
  826. implementation(name: 'frpclib', ext: 'aar')
  827. implementation 'androidx.appcompat:appcompat:1.1.0'
  828. implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
  829. implementation 'androidx.legacy:legacy-support-v4:1.0.0'
  830. implementation 'com.google.android.material:material:1.1.0'
  831. implementation 'androidx.navigation:navigation-fragment:2.3.0'
  832. implementation 'androidx.navigation:navigation-ui:2.3.0'
  833. implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0'
  834. testImplementation 'junit:junit:4.12'
  835. androidTestImplementation 'androidx.test.ext:junit:1.1.1'
  836. androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
  837. implementation 'androidx.recyclerview:recyclerview:1.1.0'
  838. implementation 'com.jakewharton:butterknife:10.2.1'
  839. annotationProcessor 'com.jakewharton:butterknife-compiler:10.2.1'
  840. implementation 'com.squareup.retrofit2:retrofit:2.6.2'
  841. implementation 'com.squareup.retrofit2:converter-gson:2.6.2'
  842. implementation 'com.squareup.retrofit2:adapter-rxjava2:2.6.2'
  843. implementation 'io.reactivex.rxjava2:rxandroid:2.0.2'
  844. implementation 'io.reactivex.rxjava2:rxjava:2.1.16'
  845. implementation 'com.github.ahmadaghazadeh:CodeEditor:1.0.17'
  846. implementation 'com.afollestad.material-dialogs:core:0.9.6.0'
  847. implementation 'org.jetbrains:annotations:15.0'
  848. implementation 'com.github.CymChad:BaseRecyclerViewAdapterHelper:3.0.4'
  849. implementation 'io.github.jeremyliao:live-event-bus-x:1.8.0'
  850. implementation 'com.google.android.material:material:1.5.0'
  851. implementation "androidx.multidex:multidex:2.0.1"
  852. def room_version = "2.4.1"
  853. implementation "androidx.room:room-runtime:$room_version"
  854. annotationProcessor "androidx.room:room-compiler:$room_version"
  855. implementation "androidx.room:room-rxjava2:$room_version"
  856. implementation 'com.blankj:utilcodex:1.30.6'
  857. implementation 'androidx.work:work-runtime:2.7.0'
  858. implementation 'org.xutils:xutils:3.9.0'
  859. implementation 'com.alibaba:fastjson:1.2.73'
  860. implementation 'com.github.sanyinchen:LogView:v1.0'
  861. def appCenterSdkVersion = '5.0.0'
  862. implementation "com.microsoft.appcenter:appcenter-analytics:${appCenterSdkVersion}"
  863. implementation "com.microsoft.appcenter:appcenter-crashes:${appCenterSdkVersion}"
  864. implementation "com.microsoft.appcenter:appcenter-distribute:${appCenterSdkVersion}"
  865. implementation project(':ussd-library')
  866. }