- 浏览: 666595 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
qinshubao152:
参考:http://www.see-source.com/bl ...
关于android USB Host 串口编程 -
q328965539:
哥们 我做的数据也都是错误的啊····我怎么可以知道自己otg ...
关于android USB Host 串口编程 -
hgkmail:
好文
android中跨进程通讯的4种方式 -
cczscq:
楼主,我这里有个问题!我这里有个自己制作的font.ttf,这 ...
android字体的工作原理 -
blueice1986:
既然springMVC比struts好那么多的话那struts ...
为什么有了Struts 还要Spring MVC
putty ssh(linux客户端)
源码镜像 服务器: 192.168.247.70
帐号密码:hiapk/12121212
repo init -u git://192.168.247.70/cm/CyanogenMod/android.git -b cm-10.1
repo sync
git clone git://192.168.247.70/cm/CyanogenMod/android.git -b cm-10.1
镜像同步时不会同步devices文件下的,
要同步的化
在源码的.repo下新建manifest.xml
vi manifest.xml
mv local_manifest.xml.bak local_manifest.xml
vi local_manifest.xml
增加<project name="CyanogenMod/android_device_samsung_maguro" path="device/samsung/maguro" remote="github"
repo
搞定
#set java environment
export JAVA_HOME=/home/dengzt/下载/jdk1.6.0_20
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
/etc/profile
#set NDK env
export NDK_HOME=/home/dengzt/android/android-ndk-r8d
export PATH=$NDK_HOME:$PATH
export PATH=/home/dengzt/android/android-sdk-linux/platform-tools/:$PATH
NDK_ROOT=/home/dengzt/android/android-ndk-r8d/
export NDK_ROOT
软件:
putty
geany
dock
sqlite
meld diff
gitg
在编译cm-10.1时候,Term.apk出错,因为Term.apk是cm不开源的
解决:
进入 /vendor/cm$ ./get-prebuilts
,
手机刷到4.2后,总是adb shell 出现,device offine,
解决: 更新android-sdk 的tools, ,操作:运行tools下的android。
根据Android启动过程的来裁剪:
。 定制本地服务
。 定制Android系统服务
。 优化ZygoteInit的类预加载preloadClasses和资源预加载preloadResources机制
。 PackageManagerService扫描、检查APK安装包信息
-----------裁剪记录:
一,定制本地服务
修改/system/core/rootdir/init.rc
1,去掉电话模块
# modify by dengzt 2013,8,28
#service ril-daemon /system/bin/rild
# class main
# socket rild stream 660 root radio
# socket rild-debug stream 660 radio system
# user root
# group radio cache inet misc audio sdcard_r sdcard_rw log
2,系统调试
# modify by dengzt 2013.11.14
#service debuggerd /system/bin/debuggerd
# class main
3 蓝牙
#service bluetoothd /system/bin/bluetoothd -n
# class main
# socket bluetooth stream 660 bluetooth bluetooth
# socket dbus_bluetooth stream 660 bluetooth bluetooth
# init.rc does not yet support applying capabilities, so run as root and
# let bluetoothd drop uid to bluetooth with the right linux capabilities
# group bluetooth net_bt_admin misc
# disabled
init.rc启动了服务zygote,而ZygoteInit启动了systemServer,所有zygote服务不能整个去掉
/frameworks/base/core/java/com/android/internal/os/ZygoteInit.java
服务zygote的装载一千多个类和初始化堆栈的过程,用了20秒左右。
ZygoteInit.java的preloadClasses加载了1千多个类。。
/frameworks/base/preloaded-classes
虽然preloaded-classes是在下载源码的时候已经确定了的,也就是对我们来说WritePreloadedClassFile类是没用到的,我们可以做的就是在preloaded-classes文件中,把不预装载的类去掉,试了把所有类去掉,启动确实很快跳过那个地方,但是启动HOME的时候就会很慢了
裁剪文件preloaded-classes:暂时全部清空
另一个是扫描
/system/app,
/system/framework,
/data/app,
/data/app-private.
这几个目录下面的package用了大概10秒,所以我们重点能够修理的就是这两个老大的。
我这里先不修改扫描的方法,只要把系统应用裁剪了就好了。。我裁剪到了10几个
二,定制Android系统服务SystemServer.java
1,去掉电话服务
//ServiceManager.addService("telephony.registry", new TelephonyRegistry(context));
2,去掉震动服务
//modify by dengzt 2013,8,28
//Slog.i(TAG, "Vibrator Service");
//vibrator = new VibratorService(context);
//ServiceManager.addService("vibrator", vibrator);
其他的有待裁剪
三,裁剪系统应用
只保留了10几个:
am335x.apk工厂测试(这个放在data/app/下,不做为系统应用)
ApplicationsProvider.apk这个暂时不知道是什么
Browser.apk
FileManager.apk
Gallery2.apk
Launcher2.apk
MediaProvider.apk
PackageInstall.apk
PinyinIME.apk
Settings.apk
SettingsProvider.apk
SoundRecorder.apk
SystemUI.apk
DefaultContainerService.apk
DrmProvider.apk
UserDictionaryProvider.apk
=================
1在Settings,增加工厂测试到launcher,方便测试开发测试程序
<activity android:name="TestingSettings" android:label="@string/testing">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" /> //add
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
2修改MasterClear.java ,恢复出厂设置,改为重启到recovery模式
PowerManager pm = (PowerManager)getActivity(). getSystemService(Context.POWER_SERVICE);
pm.reboot("recovery");
3,锁屏修改成全屏:
LockScreen.java的
@Override
protected void onAttachedToWindow() {
super.onAttachedToWindow();
if (LockPatternKeyguardView.DEBUG_CONFIGURATION) {
Log.v(TAG, "***** LOCK ATTACHED TO WINDOW");
Log.v(TAG, "Cur orient=" + mCreationOrientation
+ ", new config=" + getResources().getConfiguration());
}
updateConfiguration();
this.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);//mod by dengzt 2013 9.17
}
4,修改默认语言为中文
在out/产品/ 修改system.prop和system下的build.prop增加
# modif by dengzt 2013.11.12
persist.sys.language=zh #这里是我添加上去的
persist.sys.country=CN
persist.sys.localevar=
persist.sys.timezone=Asia/Beijing #原版是shanghai
ro.product.locale.language=zh
ro.product.locale.region=CN
# modif end
或者在编译前:
在/build/target/product/core.mk下
PRODUCT_PROPERTY_OVERRIDES := \
ro.config.notification_sound=OnTheHunt.ogg \
ro.config.alarm_alert=Alarm_Classic.ogga \
persist.sys.language=zh \增加的
persist.sys.country=CN
四,破解系统的root权限
修改文件/system/extra/su/su.c
1. /*if (myuid != AID_ROOT && myuid != AID_SHELL) {
fprintf(stderr,"su: uid %d not allowed to su\n", myuid);
return 1;
}*/
2.在init.rc增加权限
#add by dengzt 2013.11.15
chmod 4755 /system/xbin/su
编译make su TARGET_PRODUCT=am335xevm 生成新的su可执行文件,替换/system/xbin/下
亲测可行了。。。。
其他注意:
1在我的工厂测试应用里用到了so库,如果当作系统应用的话,会找不到so库,需要放在系统的制定目录下。
编译文件系统之前,设置下内核编译,貌似会影响到文件系统的编译
编译内核,原来内核对性能也很关键,先设置
cd kernel
make ARCH=arm CROSS_COMPILE=arm-eabi- menuconfig
出现蓝色框框
选kernel features-->preemption model-->Preemptible Kernel (Low-Latency Desktop)
Exc Exc两下返回,退出,save
dos:
使用ftp上传到服务器
ftp 172.16.20.25
ftp>user caizf
ftp>startp1
使用lcd命令设置ubuntu下文件接收位置
ftp>lcd /home/glorin/work/linux
ftp>cd /tmp
ftp>put android_rootfs_tar.gz
-------------------------------------
SecureCRT中:
开一个TeInet ,端23
账号密码caizf ,startp1
常用命令:
android板,串口,网卡ok后,加载网络文件系统
开机回车,
pr
run netboot
root
pwd
cd /
解压tar xvzf /tmp/android_rootfs_0.tar.gz -C .
mkdir dzt_rootfs
cp nand-rootfs.20131223/* /mnt/cf/ -af
df
sync
logcat *:w
ping -c 1 -w 1 172.16.3.162
setenv bootfile uImage.3rd.desktop3
cd kernel
make menuconfig
make clean
make kernel.img
cd 目录
在该目录下搜索
grep kkk *
在nfs上加载nand分区命令
1. ubiattach /dev/ubi_ctrl -m 7 -O 2048
2. mount -t ubifs ubi0:rootfs /mnt/cf/
卸载nand分区命令
1.umount /mnt/cf/
2. ubidetach /dev/ubi_ctrl -m 7
BT/FM/GPS would be unavailable on system
I/SurfaceFlinger( 331): SurfaceFlinger is starting
I/SurfaceFlinger( 331): SurfaceFlinger's main thread
ready to run. Initializing graphics H/W...
E/FramebufferNativeWindow( 331): couldn't open
framebuffer HAL (Not a typewriter)
E/FramebufferNativeWindow( 331): couldn't open gralloc
HAL (Not a typewriter)
E/SurfaceFlinger( 331): Display subsystem failed to
initialize. check logs. exiting...
pr
setenv serverip 172.16.3.162
saveenv
setenv rootpath /nfsroot/linux_rootfs
setenv bootfile uImage.3rd.gt_rst
nand erase 0x280000 0x3a0000
cp config.am335x.3rd .config
Settings.Secure.putString(getContentResolver(),
Settings.Secure.TTS_DEFAULT_SYNTH, "com.iflytek.tts");
engine:包名com.ik.xx
adb shell
cat /proc/cpuinfo
烧写内核:
setenv bootfile uImage.3rd.desktop3
dhcp
擦出nandflash
nand erase 0x280000 0x400000
nand write 0x80007fc0 0x280000 0x400000
nand write srcaddr destaddr size
1、 去除休眠
frameworks/base/packages/SettingsProvider/res/values/de
faults.xml
里<integer
name="def_screen_off_timeout">60000</integer>
60000ms,修改为-1。-1代表0xffffffff,等于永远不要休眠了
2、 去除锁屏
Frameworks/base/policy/src/com/android/internal/policy/
impl/KeyguardViewMediator.java
/热插拔usb和sdcard
在system/etc/vold.fstab
dev_mount sdcard /storage/sdcard0 3
/devices/platform/omap/omap_hsmmc.0/mmc_host/mmc0
其中的3改成auto,既自动挂载。
WindowManagerService
PowerManagerService
ActivityManagerService
PackgeManagerService
本地服务的zygote在init.rc启动
这个zygote进程要执行的程序是/system/bin/app_process
源码在app_main.cpp
开始android运行环境
在init.am335xevm.rc 中加入开机自动加载ko模块
on boot
# Default Read Ahead value for sdcards
write /sys/block/mmcblk0/queue/read_ahead_kb 2048
# wi-fi
mkdir /data/misc/wifi/sockets 0770 wifi wifi
mkdir /data/misc/dhcp 0770 dhcp dhcp
insmod /system/lib/modules/compat.ko
insmod /system/lib/modules/cfg80211.ko
insmod /system/lib/modules/mac80211.ko
insmod /system/lib/modules/wlcore.ko
insmod /system/lib/modules/wl12xx.ko
insmod /system/lib/modules/wl18xx.ko
chmod 0770 /system/lib/modules/destroy.ko
insmod /system/lib/modules/destroy.ko
如果想定义defaults.xml中没有的,在这里添加后,需修改frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java,加入自己的存储代码。
读、写、运行三项权限可以用数字表示,就是r=4,w=2,x=1。所以,rw-r--r--用数字表示成644。
快速打包system.img----- make snod
网络adb
busybox ifconfig eth0
setprop service.adb.tcp.port 5555
stop adbd
start adbd
adb connect 172.16.20.9:5555
mkdir
mount -o remount,rw rootfs /
mount -o remount,rw ubi1_0 /system
chmod 777 /system/bin/vold
系统权限是没权限访问sdcard的。
去掉init.am335x.rc 中的uim服务。
系统应用也可以安装到/data/app/
修改chmod 777 /storage 可以访问sdcard了
去掉init.am335x.rc 中的uim服务。
系统应用也可以安装到/data/app/
修改chmod 777 /storage 可以访问sdcard了
ipconfig /flushdns 手动清dns
不能直接烧out下面的system.img
因为格式不是ext3,开机会出现挂载不了system
使用system应用asset.apk来实现 预安装
在asset.apk修改后缀名rar后,打开增加删除assets目录的apk来实现自动安装
源码镜像 服务器: 192.168.247.70
帐号密码:hiapk/12121212
repo init -u git://192.168.247.70/cm/CyanogenMod/android.git -b cm-10.1
repo sync
git clone git://192.168.247.70/cm/CyanogenMod/android.git -b cm-10.1
镜像同步时不会同步devices文件下的,
要同步的化
在源码的.repo下新建manifest.xml
vi manifest.xml
mv local_manifest.xml.bak local_manifest.xml
vi local_manifest.xml
增加<project name="CyanogenMod/android_device_samsung_maguro" path="device/samsung/maguro" remote="github"
repo
搞定
#set java environment
export JAVA_HOME=/home/dengzt/下载/jdk1.6.0_20
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
/etc/profile
#set NDK env
export NDK_HOME=/home/dengzt/android/android-ndk-r8d
export PATH=$NDK_HOME:$PATH
export PATH=/home/dengzt/android/android-sdk-linux/platform-tools/:$PATH
NDK_ROOT=/home/dengzt/android/android-ndk-r8d/
export NDK_ROOT
软件:
putty
geany
dock
sqlite
meld diff
gitg
在编译cm-10.1时候,Term.apk出错,因为Term.apk是cm不开源的
解决:
进入 /vendor/cm$ ./get-prebuilts
,
手机刷到4.2后,总是adb shell 出现,device offine,
解决: 更新android-sdk 的tools, ,操作:运行tools下的android。
根据Android启动过程的来裁剪:
。 定制本地服务
。 定制Android系统服务
。 优化ZygoteInit的类预加载preloadClasses和资源预加载preloadResources机制
。 PackageManagerService扫描、检查APK安装包信息
-----------裁剪记录:
一,定制本地服务
修改/system/core/rootdir/init.rc
1,去掉电话模块
# modify by dengzt 2013,8,28
#service ril-daemon /system/bin/rild
# class main
# socket rild stream 660 root radio
# socket rild-debug stream 660 radio system
# user root
# group radio cache inet misc audio sdcard_r sdcard_rw log
2,系统调试
# modify by dengzt 2013.11.14
#service debuggerd /system/bin/debuggerd
# class main
3 蓝牙
#service bluetoothd /system/bin/bluetoothd -n
# class main
# socket bluetooth stream 660 bluetooth bluetooth
# socket dbus_bluetooth stream 660 bluetooth bluetooth
# init.rc does not yet support applying capabilities, so run as root and
# let bluetoothd drop uid to bluetooth with the right linux capabilities
# group bluetooth net_bt_admin misc
# disabled
init.rc启动了服务zygote,而ZygoteInit启动了systemServer,所有zygote服务不能整个去掉
/frameworks/base/core/java/com/android/internal/os/ZygoteInit.java
服务zygote的装载一千多个类和初始化堆栈的过程,用了20秒左右。
ZygoteInit.java的preloadClasses加载了1千多个类。。
/frameworks/base/preloaded-classes
虽然preloaded-classes是在下载源码的时候已经确定了的,也就是对我们来说WritePreloadedClassFile类是没用到的,我们可以做的就是在preloaded-classes文件中,把不预装载的类去掉,试了把所有类去掉,启动确实很快跳过那个地方,但是启动HOME的时候就会很慢了
裁剪文件preloaded-classes:暂时全部清空
另一个是扫描
/system/app,
/system/framework,
/data/app,
/data/app-private.
这几个目录下面的package用了大概10秒,所以我们重点能够修理的就是这两个老大的。
我这里先不修改扫描的方法,只要把系统应用裁剪了就好了。。我裁剪到了10几个
二,定制Android系统服务SystemServer.java
1,去掉电话服务
//ServiceManager.addService("telephony.registry", new TelephonyRegistry(context));
2,去掉震动服务
//modify by dengzt 2013,8,28
//Slog.i(TAG, "Vibrator Service");
//vibrator = new VibratorService(context);
//ServiceManager.addService("vibrator", vibrator);
其他的有待裁剪
三,裁剪系统应用
只保留了10几个:
am335x.apk工厂测试(这个放在data/app/下,不做为系统应用)
ApplicationsProvider.apk这个暂时不知道是什么
Browser.apk
FileManager.apk
Gallery2.apk
Launcher2.apk
MediaProvider.apk
PackageInstall.apk
PinyinIME.apk
Settings.apk
SettingsProvider.apk
SoundRecorder.apk
SystemUI.apk
DefaultContainerService.apk
DrmProvider.apk
UserDictionaryProvider.apk
=================
1在Settings,增加工厂测试到launcher,方便测试开发测试程序
<activity android:name="TestingSettings" android:label="@string/testing">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" /> //add
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
2修改MasterClear.java ,恢复出厂设置,改为重启到recovery模式
PowerManager pm = (PowerManager)getActivity(). getSystemService(Context.POWER_SERVICE);
pm.reboot("recovery");
3,锁屏修改成全屏:
LockScreen.java的
@Override
protected void onAttachedToWindow() {
super.onAttachedToWindow();
if (LockPatternKeyguardView.DEBUG_CONFIGURATION) {
Log.v(TAG, "***** LOCK ATTACHED TO WINDOW");
Log.v(TAG, "Cur orient=" + mCreationOrientation
+ ", new config=" + getResources().getConfiguration());
}
updateConfiguration();
this.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);//mod by dengzt 2013 9.17
}
4,修改默认语言为中文
在out/产品/ 修改system.prop和system下的build.prop增加
# modif by dengzt 2013.11.12
persist.sys.language=zh #这里是我添加上去的
persist.sys.country=CN
persist.sys.localevar=
persist.sys.timezone=Asia/Beijing #原版是shanghai
ro.product.locale.language=zh
ro.product.locale.region=CN
# modif end
或者在编译前:
在/build/target/product/core.mk下
PRODUCT_PROPERTY_OVERRIDES := \
ro.config.notification_sound=OnTheHunt.ogg \
ro.config.alarm_alert=Alarm_Classic.ogga \
persist.sys.language=zh \增加的
persist.sys.country=CN
四,破解系统的root权限
修改文件/system/extra/su/su.c
1. /*if (myuid != AID_ROOT && myuid != AID_SHELL) {
fprintf(stderr,"su: uid %d not allowed to su\n", myuid);
return 1;
}*/
2.在init.rc增加权限
#add by dengzt 2013.11.15
chmod 4755 /system/xbin/su
编译make su TARGET_PRODUCT=am335xevm 生成新的su可执行文件,替换/system/xbin/下
亲测可行了。。。。
其他注意:
1在我的工厂测试应用里用到了so库,如果当作系统应用的话,会找不到so库,需要放在系统的制定目录下。
编译文件系统之前,设置下内核编译,貌似会影响到文件系统的编译
编译内核,原来内核对性能也很关键,先设置
cd kernel
make ARCH=arm CROSS_COMPILE=arm-eabi- menuconfig
出现蓝色框框
选kernel features-->preemption model-->Preemptible Kernel (Low-Latency Desktop)
Exc Exc两下返回,退出,save
dos:
使用ftp上传到服务器
ftp 172.16.20.25
ftp>user caizf
ftp>startp1
使用lcd命令设置ubuntu下文件接收位置
ftp>lcd /home/glorin/work/linux
ftp>cd /tmp
ftp>put android_rootfs_tar.gz
-------------------------------------
SecureCRT中:
开一个TeInet ,端23
账号密码caizf ,startp1
常用命令:
android板,串口,网卡ok后,加载网络文件系统
开机回车,
pr
run netboot
root
pwd
cd /
解压tar xvzf /tmp/android_rootfs_0.tar.gz -C .
mkdir dzt_rootfs
cp nand-rootfs.20131223/* /mnt/cf/ -af
df
sync
logcat *:w
ping -c 1 -w 1 172.16.3.162
setenv bootfile uImage.3rd.desktop3
cd kernel
make menuconfig
make clean
make kernel.img
cd 目录
在该目录下搜索
grep kkk *
在nfs上加载nand分区命令
1. ubiattach /dev/ubi_ctrl -m 7 -O 2048
2. mount -t ubifs ubi0:rootfs /mnt/cf/
卸载nand分区命令
1.umount /mnt/cf/
2. ubidetach /dev/ubi_ctrl -m 7
BT/FM/GPS would be unavailable on system
I/SurfaceFlinger( 331): SurfaceFlinger is starting
I/SurfaceFlinger( 331): SurfaceFlinger's main thread
ready to run. Initializing graphics H/W...
E/FramebufferNativeWindow( 331): couldn't open
framebuffer HAL (Not a typewriter)
E/FramebufferNativeWindow( 331): couldn't open gralloc
HAL (Not a typewriter)
E/SurfaceFlinger( 331): Display subsystem failed to
initialize. check logs. exiting...
pr
setenv serverip 172.16.3.162
saveenv
setenv rootpath /nfsroot/linux_rootfs
setenv bootfile uImage.3rd.gt_rst
nand erase 0x280000 0x3a0000
cp config.am335x.3rd .config
Settings.Secure.putString(getContentResolver(),
Settings.Secure.TTS_DEFAULT_SYNTH, "com.iflytek.tts");
engine:包名com.ik.xx
adb shell
cat /proc/cpuinfo
烧写内核:
setenv bootfile uImage.3rd.desktop3
dhcp
擦出nandflash
nand erase 0x280000 0x400000
nand write 0x80007fc0 0x280000 0x400000
nand write srcaddr destaddr size
1、 去除休眠
frameworks/base/packages/SettingsProvider/res/values/de
faults.xml
里<integer
name="def_screen_off_timeout">60000</integer>
60000ms,修改为-1。-1代表0xffffffff,等于永远不要休眠了
2、 去除锁屏
Frameworks/base/policy/src/com/android/internal/policy/
impl/KeyguardViewMediator.java
/热插拔usb和sdcard
在system/etc/vold.fstab
dev_mount sdcard /storage/sdcard0 3
/devices/platform/omap/omap_hsmmc.0/mmc_host/mmc0
其中的3改成auto,既自动挂载。
WindowManagerService
PowerManagerService
ActivityManagerService
PackgeManagerService
本地服务的zygote在init.rc启动
这个zygote进程要执行的程序是/system/bin/app_process
源码在app_main.cpp
开始android运行环境
在init.am335xevm.rc 中加入开机自动加载ko模块
on boot
# Default Read Ahead value for sdcards
write /sys/block/mmcblk0/queue/read_ahead_kb 2048
# wi-fi
mkdir /data/misc/wifi/sockets 0770 wifi wifi
mkdir /data/misc/dhcp 0770 dhcp dhcp
insmod /system/lib/modules/compat.ko
insmod /system/lib/modules/cfg80211.ko
insmod /system/lib/modules/mac80211.ko
insmod /system/lib/modules/wlcore.ko
insmod /system/lib/modules/wl12xx.ko
insmod /system/lib/modules/wl18xx.ko
chmod 0770 /system/lib/modules/destroy.ko
insmod /system/lib/modules/destroy.ko
如果想定义defaults.xml中没有的,在这里添加后,需修改frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java,加入自己的存储代码。
读、写、运行三项权限可以用数字表示,就是r=4,w=2,x=1。所以,rw-r--r--用数字表示成644。
快速打包system.img----- make snod
网络adb
busybox ifconfig eth0
setprop service.adb.tcp.port 5555
stop adbd
start adbd
adb connect 172.16.20.9:5555
mkdir
mount -o remount,rw rootfs /
mount -o remount,rw ubi1_0 /system
chmod 777 /system/bin/vold
系统权限是没权限访问sdcard的。
去掉init.am335x.rc 中的uim服务。
系统应用也可以安装到/data/app/
修改chmod 777 /storage 可以访问sdcard了
去掉init.am335x.rc 中的uim服务。
系统应用也可以安装到/data/app/
修改chmod 777 /storage 可以访问sdcard了
ipconfig /flushdns 手动清dns
不能直接烧out下面的system.img
因为格式不是ext3,开机会出现挂载不了system
使用system应用asset.apk来实现 预安装
在asset.apk修改后缀名rar后,打开增加删除assets目录的apk来实现自动安装
发表评论
-
Android的权限机制总结
2013-12-16 11:07 22927Android 安全机制概述 ... -
Android的权限机制之—— “沙箱”机制sharedUserId和签名
2013-12-13 11:29 14573Android“沙箱”的本质是为了实现不同应用程序和进程之 ... -
AIL(Android init Language)
2013-12-03 14:16 1853AIL(init.rc) Init.rc是i ... -
Android源码下编译自己的so库
2013-11-07 17:33 2882环境:win7 64位,虚拟机ubuntu10.04,TI ... -
修改framework代码使锁屏完全透明
2013-11-04 14:30 13391,修改KeyguardViewManager.java的ma ... -
开机动画流程
2013-11-01 10:30 13671、开机动画程序bootanimation程序目录:fram ... -
Android 软件测试日志文件抓取
2013-10-17 10:43 37511 log文件分类简介 实时打印的主要有: ... -
android 驱动开发介绍
2013-10-10 11:12 7692前言 意外在网上发现了这扁文章,看后感觉很有必要分享,所 ... -
Android系统Recovery工作原理之使用update.zip
2013-09-13 11:06 97051 总述 为了方便客户日后的固件升级,本周研究 ... -
android 升级策略
2013-09-12 09:50 1130Android系统而言升级意味着二个方面的升级 一个是系 ... -
Android FactoryTest 流程
2013-09-10 17:52 2645Android内置的Factory Test(有测试模式/工 ... -
Ubuntu下ADB调试Android找不到设备的解决方法
2013-09-10 10:13 1962首先确认,我已经在的settings-application ... -
系统移植之为Android启动加速
2013-05-15 13:50 3078Android的启动速度一直以来是他的诟病,虽然现在And ... -
Android系统做了哪些优化?
2013-04-23 10:11 1419Android系统框架和上层应用是类java( ... -
CM10之Setting的快速设置面板按钮布局
2013-04-19 16:03 1798开发环境 ubuntu12.04-desktop-amd6 ... -
Android编译CPU架构体系不同引起的错误解决方法
2013-04-19 10:53 5291转至http://blog.csdn.net/canjian ... -
android系统硬件抽象层(HAL)原理及实现之原理
2013-04-17 15:48 4124Android系统硬件抽象层(HAL)原理 在androi ... -
正确了解ROM,基带,以及RIL
2013-04-17 15:45 5817一、正确了解ROM,基带,以及RIL。 1)、R ... -
Android系统开发之修改调试SystemUI
2013-04-11 10:44 3878开发环境 ubuntu12.04-desktop-amd6 ... -
下载cm10.1源码编译
2013-03-21 10:43 2787开发环境 http://dengzhangta ...
相关推荐
在本次的项目中主要用到的就是当前的经度和纬度,在查看我们周边商家的信息的时候,将当前的经度纬度发送到后台,计算出距离自己最近的商家,并且按照距离来展示出周边的详细情况。 安卓自带关系型数据库SQLite...
最近不是太忙,花了一些时间学习android的应用开发。经过两个星期的学习,学习的同时还写了很多的demo示例,可以从基本控件及基本动画效果等示例demo集合大放送,持续更新下载。 从这个星期开始,准备拿新浪微博...
本章使用 Python语言开发了一个学生信息管理系统,该系统可以帮助教师快速录入学生的信息,并且对学生的信息进行基本的增、删、改、查操作;还可以根据排序功能,宏观地看到学生成绩从高到低的排列,随时掌握学生近期的...
5)使用tornado开发web系统,支持每日股票数据-东财,龙虎榜-个股上榜-新浪,数据中心-大宗交易行情等。 6)数据展示系统,是通用数据展示系统,配置字典模板之后,页面自动加载数据,并完成数据展示,后续自己开发...
基于android、ios等主流移动终端系统生态链的日趋完善,激发了以大数据为背景的数据市场活力,特别是与我们生活息息相关的购物、旅游、餐饮都由传统的web端转移到了app移动终端上,特别是最近几年兴起的以去哪儿、...
5)使用tornado开发web系统,支持每日股票数据-东财,龙虎榜-个股上榜-新浪,数据中心-大宗交易行情等。 6)数据展示系统,是通用数据展示系统,配置字典模板之后,页面自动加载数据,并完成数据展示,后续自己开发...
本系统主要通过隐式地收集用户对歌曲的播放,下载以及收藏行为记录,进而使用基于最近邻用户的协同过滤推荐算法为当前激活用户推荐歌曲; 对于有歌词信息的歌曲(英文),通过基于异构文本网络的词嵌入来计算歌曲之间的...
编排日期(说明整个卷宗最近的一次编排日期) 2、模块开发情况表 3、功能说明 扼要说明本模块(或本组模块)的功能,主要是输入、要求的处理、输出。可以从系统设计说明书中摘录。同时列出在软件需求说明书中对这些...
5)使用tornado开发web系统,支持股票数据,沪深300成份股,中证500成份股,龙虎榜数据,每日股票数据,每日大盘指数行情等 6)数据展示系统,是通用数据展示系统,配置字典模板之后,页面自动加载数据,并完成数据...
1 系统介绍 1.1 数据表 (1) t_user表 该表记录用户基本信息:用户名、密码、积分(每次登录+5分),最近登录时间和最近登录ip(每次登录更新)。 (2) t_login_log表 该表记录用户的每次登录信息,每登录一次,添加一...
过去几年中,我进了会议的顾问委员会(Advisory Committee),最近的几次会上,每次的会议我都要做至少三次讲演,每次的听众都在200到300人之间。会议对我的讲演的评价总是在前10%。 至今,μC/OS的书已售出了15,000...
最近抽些时间,更新到eclipse3.6上来,既作为为广大Eclipser入门plugin/RCP开发的一个方便之门,也是对自己近年来学习的一个总结吧。 每一章都会单独提取出来,并尽可能的独立于其他章节,更新中的源代码工程也会...
因此开发了这样一套抽奖报名系统。 开发前参考了一些本地抽奖工具,最终决定采用“用户主动报名”的站外抽奖方式,这样生来可避免站内的大量抽奖号和机器人参与,更做到了报名结果公开,方便广大Up主回馈自己真正的...
参数printjobnumber:用PrintOpen()函数打开的打印作业号fontnumber:指定该打印作业使用字体的字体编号,该编号与PrintDefineFont()函数中定义的编号应该对应,字体编号的有效取值在1到8之间,0表示使用打印机的...
在最近的几十年中,数字技术,微机电系统,低功耗微传感技术以及改进的工业制造工艺的飞速发展已经导致通过无线传感器网络(WSN)系统检索实时数据。 在这项研究中,开发了一种远程操作的低成本,强大的WSN系统,...
最近把在用Delphi开发系统的过程中使用的一些经常用到的函数过程整理为一个工具集,以便以后的使用。 这个工具集包括以下内容: 1. 小巧的公共函数,过程。如取得Delphi程序的版本号,文本替换。单元名为:...
3-l 处理多个数据表Join的数据 3-2 使用ADO处理BLOB信息 3-3 调用存储过程 3-4 使用ADO的异步执行能力 3-5 处理错误 3-6 使用ADO存取Excel 3-7 使用ADOx 3-8 RDS 3-9 使用ADO开发分布式多层应用系统 3-10 ADO和...
物联网广泛用于日常物品中,其普及程度正日益提高。 本文包括物联网的设计和开发以及基于移动的车辆加油活动,例如实时加油监控和GPS跟踪系统。... 拟议的系统使用GPS跟踪来显示车辆的当前位置并找到最近的泵位置。
SparkAi创作系统是基于ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统,支持OpenAI-GPT全模型+国内AI全模型。支持GPTs应用、GPT语音对话、GPT-4模型、DALL-E3文生图、图片对话能力上传图片,GPT4-All联网搜索...
虽然oSIP的开发人员也说明了,oSIP只使用了标准C开发库,但许多人在Windows下使用oSIP时,第一步就被卡住了,得不到oSIP的LIB库和DLL库,也就没有办法将oSIP使用到自己的程序中...