build.gradle 46 KB

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