http://stackoverflow.com/questions/3458275/enable-usb-debugging-under-settings-applications-development-programmatically

这个link的answer是impossible,并引用了这个讨论

https://groups.google.com/forum/?fromgroups=#!topic/android-developers/lTxvDrD6m-0

大体意思是不存在一种通用的方法

Settings应用可以做到词典,是因为Settings app是用和firmware相同的cert签名的,此cert即可理解为Platform key,用Platform key签名的app以uid:1000的身份run。

如果你的应用使用和Settings app相同的cert来签名,那么它就是以uid:1000的身份run,估计是可以programmatically enable usb debug的。

 

note:

  1. Settings数据库位置
    /data/data/com.android.providers.settings/databases/settings.db
  2. Platform key
    http://stackoverflow.com/questions/4247818/android-after-building-platform-source-how-to-sign-arbitrary-apk-with-platform
Advertisements